本文整理汇总了Python中r2.models.token.OAuth2AccessToken.get_token方法的典型用法代码示例。如果您正苦于以下问题:Python OAuth2AccessToken.get_token方法的具体用法?Python OAuth2AccessToken.get_token怎么用?Python OAuth2AccessToken.get_token使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类r2.models.token.OAuth2AccessToken
的用法示例。
在下文中一共展示了OAuth2AccessToken.get_token方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: pre
# 需要导入模块: from r2.models.token import OAuth2AccessToken [as 别名]
# 或者: from r2.models.token.OAuth2AccessToken import get_token [as 别名]
def pre(self):
set_extension(request.environ, "json")
MinimalController.pre(self)
require_https()
try:
access_token = OAuth2AccessToken.get_token(self._get_bearer_token())
require(access_token)
require(access_token.check_valid())
c.oauth2_access_token = access_token
account = Account._byID36(access_token.user_id, data=True)
require(account)
require(not account._deleted)
c.oauth_user = account
except RequirementException:
self._auth_error(401, "invalid_token")
handler = self._get_action_handler()
if handler:
oauth2_perms = getattr(handler, "oauth2_perms", None)
if oauth2_perms:
grant = OAuth2Scope(access_token.scope)
if grant.subreddit_only and c.site.name not in grant.subreddits:
self._auth_error(403, "insufficient_scope")
required_scopes = set(oauth2_perms['allowed_scopes'])
if not (grant.scopes >= required_scopes):
self._auth_error(403, "insufficient_scope")
else:
self._auth_error(400, "invalid_request")
示例2: _get_bearer_token
# 需要导入模块: from r2.models.token import OAuth2AccessToken [as 别名]
# 或者: from r2.models.token.OAuth2AccessToken import get_token [as 别名]
def _get_bearer_token(self):
auth = request.headers.get("Authorization")
try:
auth_scheme, bearer_token = require_split(auth, 2)
require(auth_scheme.lower() == "bearer")
return OAuth2AccessToken.get_token(bearer_token)
except RequirementException:
self._auth_error(400, "invalid_request")