首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >authlib中刷新令牌的验证

authlib中刷新令牌的验证
EN

Stack Overflow用户
提问于 2018-07-20 17:32:50
回答 1查看 385关注 0票数 1

我想验证我之前从服务器获得的刷新令牌。一种可能性是从服务器获得访问令牌,该访问令牌将隐含地验证所使用的刷新令牌。但是在这里,生成的访问令牌对我没有任何用处。或者,我可以公开一个接口(在示例令牌服务器的"routes.py“中),用于通过函数验证给定的刷新令牌:

代码语言:javascript
复制
RefreshTokenGrant.authenticate_refresh_token(ref_token) 

如果我正确理解了流程,我需要获取RefreshTokenGrant对象来执行这个函数,该函数在这里的“authorization_server.py”中实例化:

代码语言:javascript
复制
for grant_cls in self._token_grants:
        if grant_cls.check_token_endpoint(request):
            if request.method in grant_cls.TOKEN_ENDPOINT_HTTP_METHODS:
                return grant_cls(request, self)

理论上,我可以通过令牌服务器示例中的flask授权服务器对象(flask/oauth2/ authorization _server.py)从实际的授权对象(authlib/specs/rfc6749/authorization_server.py)获得这个token Grant对象,但似乎无法从后者获得前者的对象。有没有更简单的方法来实现我想要做的事情?

EN

回答 1

Stack Overflow用户

发布于 2018-07-20 23:16:38

这比我想象的要简单。我只是在令牌服务器示例中使用了RefreshTokenGrant类中的代码,并确保包含OAuth2Token对象:

代码语言:javascript
复制
item = OAuth2Token.query.filter_by(refresh_token=request.form.get('refresh_token')).first()
if item and not item.is_refresh_token_expired():
...

但是也许有一种更好的方法来做到这一点..

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51439509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档