2017-12-15 17 views
1

OAuth2로 사용자를 로그인하는 방법에 대한 많은 문서가 있지만 사용자를 쉽게 서명 할 수있는 문서를 찾지 못했습니다. 아무도 내가 이것을 어떻게 할 수 있는지 안다? 난 그냥 내 응용 프로그램 중 사용자가 서명 할, 그래서 다른 사람이 로그인 할 수 있는지가 도움이 있다면 여기에 OAuth2에서 로그 아웃 - Google App Engine/Python

코드 내 로그입니다.

import jinja2 
import os 
import webapp2 

from apiclient.discovery import build 
from oauth2client.contrib.appengine import OAuth2Decorator 
from google.appengine.api import users 


decorator = OAuth2Decorator(
    client_id='', 
    client_secret='', 
    scope='https://www.googleapis.com/auth/userinfo.email') 

template_env = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.getcwd())) 

class LoginHandler(webapp2.RequestHandler): 
    @decorator.oauth_required 
    def get(self): 
     user = users.get_current_user() 

     template = template_env.get_template('index.html') 
     context = { 
      'user': user, 
     } 

     self.response.out.write(template.render(context)) 

application = webapp2.WSGIApplication(
    [ 
    ('/login', LoginHandler), 
    (decorator.callback_path, decorator.callback_handler()) 
    ], 
    debug=True) 

답변

0

난 당신이 인증을 혼동 생각 (오픈 ID가 연결)와 권한 부여 (Oauth2). Oauth2는 사용자 인증과 아무 관련이없는 사용자 데이터에 대한 액세스 권한을 부여합니다. 당신은 결코 Oauth2 인증을 로그 아웃하지 않을 것입니다.

사용자 데이터에 대한 액세스 권한을 취소 한 다음 다시 액세스 권한을 부여하라는 메시지가 표시된다고합니다.

requests.post('https://accounts.google.com/o/oauth2/revoke', 
    params={'token': credentials.token}, 
    headers = {'content-type': 'application/x-www-form-urlencoded'}) 

더 많은 정보를 원하시면

에 대한 revoke token 참조