使用Google帐户实施SSO

时间:2015-06-30 11:25:30

标签: python google-app-engine google-api single-sign-on google-oauth

我试图用google和第三方应用程序实现sso 想法是用户将登录谷歌,一旦他将请求第三方应用程序页面SSO处理程序应该发生。

从SSO处理程序我应该能够检索登录的谷歌用户,只需要电子邮件地址 实现这样一个解决方案的最佳方法是什么,我用python + oauth思考 我应该能够收到带有请求标题的用户电子邮件 所以流程是:
1.用户验证vs谷歌
2.用户通过尝试访问第三方应用程序来调用SSO处理程序 3. SSO Handler获取当前谷歌登录用户 - >我如何预先形成这个API调用? 4.检索用户电子邮件后,SSO处理程序将对第三方应用程序进行身份验证。

我无法找到有关它的信息,任何指导方针都会对他有所帮助。谢谢!

编辑: 我尝试使用authomatic,但没有取得多大进展

以下是一些示例代码:

CONFIG = {

    'google': {
        'class_': 'authomatic.providers.oauth2.Google',
        'id': authomatic.provider_id(),  # returns 2
        'consumer_key': 'XXXXXX',
        'consumer_secret': 'XXXXXX',
        'scope': ['https://www.googleapis.com/auth/userinfo.profile',
                  'https://www.googleapis.com/auth/userinfo.email']
    }
}

class Login(webapp2.RequestHandler):
    def any(self, provider_name):
        result = authomatic.login(Webapp2Adapter(self), 'google')
        if result:
            if result.user:
                result.user.update()
                self.response.write('<h1>Hi {0}</h1>'.format(result.user.name))

authomatic = Authomatic(config=CONFIG, secret='sadfasdfsgfr')
Login(webapp2.get_request())

我收到以下错误:

AssertionError:未设置请求全局变量。

0 个答案:

没有答案