我在Oauth上没有那么强,所以需要一些帮助来实现我的FreeAgent会计系统的接口,他们提供了OAuth2API。
我想用标准Python编写代码,看起来最好的库是Rauth。我的问题是提神代币。
有关于如何使用python库刷新过期令牌的好示例吗?那么处理过期的最佳实践是什么呢?我可以尝试使用我的令牌,如果因为过期而出错,请请求刷新。或者,也许我可以跟踪一个令牌的生命,如果我的计算说它过期了,然后再请求另一个。在哪里最好保存所有这些令牌信息:在配置文件中,在JSON对象中,保存到数据库中.?
谢谢你的帮助。
格雷格
发布于 2013-05-09 14:22:50
或者,也许我可以跟踪一个令牌的生命,如果我的计算说它过期了,然后再请求另一个。
这就是我要推荐的。将当前令牌的过期保存在某个位置,然后在发出请求之前,检查令牌是否已过期。如果有,则使用带访问令牌方法的刷新令牌来检索新的访问令牌。refresh_token方法可以如下所示:
def refresh_token():
if not expired():
return
# OAuth 2.0 example
data = {'client_id':client_id,
'client_secret': client_secret,
'grant_type': 'refresh_token',
'refresh_token': refresh_token}
return service.get_access_token(data=data)因为每个提供者的确切流程可能略有不同,所以rauth没有对其进行记录。不过,也许我们应该在文档中注意到这一一般模式。
希望这能帮上忙!
https://stackoverflow.com/questions/16454675
复制相似问题