当前位置: 首页>>代码示例>>Python>>正文


Python Account.access_token方法代码示例

本文整理汇总了Python中account.Account.access_token方法的典型用法代码示例。如果您正苦于以下问题:Python Account.access_token方法的具体用法?Python Account.access_token怎么用?Python Account.access_token使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在account.Account的用法示例。


在下文中一共展示了Account.access_token方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get

# 需要导入模块: from account import Account [as 别名]
# 或者: from account.Account import access_token [as 别名]
    def get(self):
        """Handles OpenID Connect flow once user redirected back."""

        session = get_current_session()
        session.regenerate_id()
        session['response_with_code'] = self.request.path_url\
                                        + '?' + self.request.query_string

        # Perform steps 2, 3, and 4
        # 1) Exchange authorization code for access token
        # 2) Verify obtained access token
        # 3) Use access token to obtained user info
        openidconnect_credentials =\
        IDP_FLOW.step234_exchange_and_tokeninfo_and_userinfo(
            self.request.params)

        # Log in the user
        session['a_t'] = openidconnect_credentials.access_token
        session['user_id'] = openidconnect_credentials.userinfo.id
        session['token_info'] = openidconnect_credentials.tokeninfo
        session['user_info'] = openidconnect_credentials.userinfo

        userinfo = openidconnect_credentials.userinfo
        user_id =  openidconnect_credentials.userinfo.id

        # not happy with this, but not sure what else is available
        acct = Account(key_name=user_id,
            name=userinfo.name if 'name' in userinfo else None,
            user_info=userinfo.to_json(),
            family_name=userinfo.family_name if
            'family_name' in userinfo else None,
            locale=userinfo.locale if
            'locale' in userinfo else None,
            gender=userinfo.gender if
            'gender' in userinfo else None,
            email=userinfo.email if 'email' in userinfo else None,
            given_name=userinfo.given_name if
            'given_name' in userinfo else None,
            google_account_id=user_id if
            'id' in userinfo else None,
            verified_email=userinfo.verified_email if
            'verified_email' in userinfo else None,
            link=userinfo.link if
            'link' in userinfo else None,
            picture=userinfo.picture if
            'picture' in userinfo else None)

        # store the account within the DB
        acct.access_token = openidconnect_credentials.access_token
        acct.put()

        # redirect the user to the main page
        self.redirect('/')
开发者ID:mmachulak,项目名称:oauthssodemo,代码行数:55,代码来源:index.py

示例2: get

# 需要导入模块: from account import Account [as 别名]
# 或者: from account.Account import access_token [as 别名]
 def get(self):
     session = get_current_session()
     session.regenerate_id()
     a_t = self.request.get('access_token')
     session['a_t'] = a_t
     
     # check the token audience using exact match (TOKENINFO)
     url = endpoints.TOKENINFO_ENDPOINT + '?access_token=' + a_t
     tokeninfo = json.loads(urlfetch.fetch(url).content)
     
     session['token_info'] = tokeninfo
     
     if(tokeninfo['audience'] != endpoints.CLIENT_ID):
       self.error(400)
       return
     
     if(int(tokeninfo['expires_in']) < 1):
       self.error(400)
       return
       
     # get the user profile information (USERINFO)
     userinfo = json.loads(urlfetch.fetch(endpoints.USERINFO_ENDPOINT,
                                          headers={'Authorization': 'OAuth ' + a_t}).content)
     user_id = userinfo['id']
     session['user_id'] = user_id 
     session['user_info'] = userinfo
     
     # compose the URL returned in the callback (for the view)
     session['response_with_token'] = 'https://' + os.environ['HTTP_HOST'] + '/oauthcallback#' + self.request.query_string
     
     acct = Account.get_by_key_name(user_id)
   
     acct = Account(
                     key_name=user_id, 
                     name=userinfo.get('name'),
                     user_info=json.dumps(userinfo), 
                     family_name=userinfo.get('family_name'),
                     locale=userinfo.get('locale')
                     gender=userinfo.get('gender'),
                     email=userinfo.get('email'),
                     given_name=userinfo.get('given_name'),
                     google_account_id=userinfo.get('id'),
                     verified_email=userinfo.get('verified_email'),
                     link=userinfo.get('link'),
                     picture=userinfo.get('picture')
                   )
                       
     acct.access_token = a_t
     acct.put()      
开发者ID:goldsmith,项目名称:oauthssodemo,代码行数:51,代码来源:index.py


注:本文中的account.Account.access_token方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。