本文整理汇总了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('/')
示例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()