我一直在使用Oauth,但从未完全确定这四个术语(以及每个术语的功能)之间的区别。我经常看到(例如在Twitter公共API中)
Consumer key:
Consumer secret:
Access token:
和
Access token secret:
领域,但我从未确切知道他们做了什么。我知道Oauth有能力授权应用程序(让他们代表用户行事)但我不理解这四个授权条款之间的关系,并且会喜欢解释。
基本上,我不确定如何生成访问令牌或令牌秘密,存储它们的位置,以及它们彼此之间或与消费者密钥和秘密之间的关系。
谢谢
答案 0 :(得分:63)
消费者密钥本质上是与应用程序(Twitter,Facebook等)相关联的API密钥。此密钥(或“客户端ID”,如Facebook所称)是标识客户端的密钥。顺便说一下,客户端是试图访问最终用户资源的网站/服务。
消费者密钥是用于向身份验证服务器(Twitter / Facebook /等)进行身份验证的客户端密码。验证客户端的服务器。
访问令牌是客户端成功验证自身后(使用使用者密钥和密钥)向客户端发出的内容。此访问令牌定义客户端的权限(客户端可以访问和不能访问的数据)。现在,每次客户端想要访问最终用户的数据时,访问令牌密钥都会以访问令牌作为密码发送(类似于使用者密钥)。
希望清除它。我建议浏览oAuth 2.0 spec的开头。这真的很有用。
答案 1 :(得分:5)
有两种类型的身份验证,第一种称为身份验证,它使用使用者密钥和使用者密钥来识别此客户端并确保它是有效帐户,第二种称为授权,它允许资源服务器确定您有权对数据或我们称之为资源的操作采取哪种操作,此操作使用访问令牌和访问令牌密钥。
有关详细信息,请查看Google提供的有用幻灯片: