Oauth 什么是访问令牌与访问令牌机密,消费者密钥与消费者机密

Oauth 什么是访问令牌与访问令牌机密,消费者密钥与消费者机密,oauth,Oauth,我使用Oauth已经有一段时间了,但从来没有完全确定这四个术语之间的区别(以及每个术语的功能)。我经常看到(例如在Twitter公共API中) 消费者密钥: 消费者机密: 访问令牌: 及 访问令牌密码: 但我从来都不知道他们到底在干什么。我知道Oauth有能力授权应用程序(让它们代表用户行事),但我不理解这四个授权条款之间的关系,希望得到解释 基本上,我不确定访问令牌或令牌密钥是如何生成的,它们存储在哪里,以及它们之间或与使用者密钥和密钥之间的关系 谢谢消费者密钥是服务提供商(Twitter、F

我使用Oauth已经有一段时间了,但从来没有完全确定这四个术语之间的区别(以及每个术语的功能)。我经常看到(例如在Twitter公共API中)

消费者密钥:

消费者机密:

访问令牌:

访问令牌密码:

但我从来都不知道他们到底在干什么。我知道Oauth有能力授权应用程序(让它们代表用户行事),但我不理解这四个授权条款之间的关系,希望得到解释

基本上,我不确定访问令牌或令牌密钥是如何生成的,它们存储在哪里,以及它们之间或与使用者密钥和密钥之间的关系


谢谢

消费者密钥是服务提供商(Twitter、Facebook等)向消费者(希望访问服务提供商上用户资源的服务)发布的API密钥。此键用于识别消费者

消费者密码是消费者“密码”,与消费者密钥一起用于从服务提供商请求访问(即授权)用户资源

访问令牌是服务提供商在消费者完成授权后向消费者发放的令牌。此令牌定义使用者对特定用户资源的访问权限。每次使用者希望从该服务提供商访问用户的数据时,使用者都会在对服务提供商的API请求中包含访问令牌


希望这能把事情弄清楚。我建议你略读这本书的开头。它的信息量很大。

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

有关更多详细信息,请查看谷歌提供的以下有用幻灯片:


我没有得到的是,在我的twitter应用程序中,所有这些都已经提供了(这意味着我不必通过服务器身份验证就可以获得访问令牌,因为我在与twitter注册应用程序时就已经获得了访问令牌。我以为你说过我需要通过身份验证才能获得访问令牌?twitter允许你为自己(特别是你的帐户)生成访问令牌因此,您可以使用它进行测试。但是,对于使用您的应用程序的所有其他用户,只有在用户通过身份验证后才能获取访问令牌(该用户的)。如果您要尝试从用户的Twitter帐户获取信息,您是否必须让他们每次登录/身份验证?什么信息(令牌/密钥)你能为将来的请求保存吗?--你能使用相同的访问令牌/访问密钥吗?@HenSapir,我不同意你对“访问令牌密钥”的描述。我不知道它是什么意思,它不是一个标准术语,但我知道“访问令牌密钥与访问令牌一起发送”不是这种情况不是。只有访问令牌被发送。我怀疑有人写了“访问令牌秘密”,当他们的意思是“访问令牌,这是一个秘密”注意术语“消费者”是旧的。OAuth规范使用术语“客户端”。这在本规范的第1.1节中说明可能会有所帮助