什么是访问令牌与访问令牌秘密和消费者密钥与消费者秘密

Sta*_*tec 69 oauth

我一直在使用Oauth,但从未完全确定这四个术语(以及每个术语的功能)之间的区别.我经常看到(例如在Twitter Public API中)

Consumer key:

Consumer secret:

Access token:

Access token secret:

但我从来不知道他们到底做了什么.我知道Oauth有能力授权应用程序(让他们代表用户行事)但我不理解这四个授权条款之间的关系,并且会喜欢解释.

基本上,我不确定如何生成访问令牌或令牌秘密,存储它们的位置,以及它们彼此之间或与消费者密钥和秘密之间的关系.

谢谢

Hen*_*pir 68

使用者密钥本质上是与应用程序(Twitter,Facebook等)相关联的API密钥.此密钥(或"客户端ID",如Facebook所称)是标识客户端的密钥.顺便说一下,客户端是试图访问最终用户资源的网站/服务.

消费者密钥是用于与认证服务器(Twitter/Facebook /等)进行认证的客户端密码.验证客户端的服务器.

访问令牌是客户端成功验证自身后(使用使用者密钥和机密)发送给客户端的令牌.此访问令牌定义客户端的权限(客户端可以访问和不能访问的数据).现在,每次客户端想要访问最终用户的数据时,访问令牌秘密都会以访问令牌作为密码发送(类似于使用者密钥).

希望能搞清楚.我建议浏览oAuth 2.0规范的开头.它真的很有用.

  • Twitter允许您为自己(特别是您的帐户)生成访问令牌,以便您可以使用它进行测试.但是,对于使用您的应用程序的每个其他用户,只有在用户通过身份验证后才能获取访问令牌(针对该用户). (6认同)

小智 5

身份验证有两种类型,第一种称为身份验证,它使用使用者密钥和使用者秘密来识别此客户端并确保它是有效帐户,第二种称为授权,它允许资源服务器识别哪种类型。在您有权使用数据或我们称为资源的操作中,此操作使用访问令牌和访问令牌密钥。

有关更多详细信息,请查看以下来自Google的有用幻灯片:

https://docs.google.com/presentation/d/1KqevSqe6ygWVj4U-wlarKU7-SVR79x-vjpR4gEc4A9Q/edit?pli=1#slide=id.g1697c74a_1_14