2017-12-15 19 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

私はあなたが認証(オープン同上の接続が混乱していると思います)とオーソライズ(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を見ます
関連する問題