我正在使用两个Leged Oauth进行Google联系数据API,并在每个请求上生成令牌。

是建议还是我应该存储令牌以重复使用下次?

另外,如何检测陈旧的令牌?

我正在使用Python。 (和gdata Python客户库库)。

编辑:好的,我想,令牌是用Encrpytion生成的,而不是从服务器端收集的,因此可以在每个请求上生成令牌。我对么 ?这意味着,令牌永远不会更改用户(除非我更改共享的秘密),对吗?

有帮助吗?

解决方案

我认为两个腿的OAuth场景并不涉及创建令牌。当用户参与交互时(第三回合)时,需要代币,因为要求用户授权该令牌。

用户没有直接参与2腿OAuth,因此没有令牌授权,因此无需存储和创建令牌。

基本上2腿的OAuth意味着您作为消费者应签署您通过消费者共享的秘密向提供商提出的请求(提供者也知道),以便提供商知道哪个消费者正在提出请求 - 这是一个验证实际上需要数据的方法。但是,由于用户(第三回合)未参与允许使用该数据。

这是一篇很好的文章,可以在更多细节中解释两足和三腿过程的流程。

http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iii-security-architecture/

只是添加一些结论:

2腿OAuth只是一种身份验证方法 - 消费者通过用他的秘密键签署请求来身份验证自己(这验证了消费者真正提出的请求)。

3腿OAuth是身份验证和授权 - 消费者通过用他的秘密密钥签署请求进行身份验证,他获得未经授权的请求令牌,然后需要由用户授权,因此消费者可以向提供者提出授权的请求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top