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

问题描述:

我一直在使用Oauth一段时间,但从来没有完全确定这四个术语(和每个功能)之间的差异。我经常看到(例如Twitter的公共API中)什么是访问令牌与访问令牌的秘密和消费者密钥与消费者的秘密

Consumer key:

Consumer secret:

Access token:

Access token secret:

场,但我从来不知道他们究竟做。我知道Oauth有权授权应用程序(让他们代表用户行事),但我不明白这四个授权条款之间的关系,并且会喜欢解释。

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

谢谢

+0

这可能有助于HTTP://计算器。com/questions/2740559/why-does-oauth-provides-both-access-token-and-an-access-token-secret-why-not – 2016-04-05 06:01:57

消费者键本质上是与应用程序(推特,Facebook等)相关的API密钥。这个关键字(或Facebook称之为“客户端ID”)是识别客户端的标识。顺便说一下,客户端是试图访问最终用户资源的网站/服务。

消费者机密是用于与认证服务器进行认证的客户端密码,认证服务器是Twitter/Facebook /等。验证客户端的服务器。

访问令牌是一旦客户端成功进行身份验证(使用消费者密钥&秘密),就会向客户端发布内容。此访问令牌定义了客户端的权限(客户端可以访问哪些数据并且无法访问)。现在,每当客户想要访问最终用户的数据时,访问令牌密钥与访问令牌一起作为密码(类似于消费者密码)一起发送。

。希望清除它。我会建议通过oAuth 2.0 spec开始浏览。这是非常丰富的。

+1

我没有得到的是,在我的twitter应用程序中,所有这些(这意味着我不需要通过服务器进行身份验证来获取访问令牌,因为只要我使用twitter注册了应用程序,就可以获得该令牌,我想你说我需要在获得访问权限之前进行身份验证令牌? – Startec 2015-05-21 20:31:56

+4

Twitter允许您为自己(特别是您的帐户)生成访问令牌,以便您可以使用它进行测试。但是,对于使用您的应用的每个其他用户,只有在用户被认证。 – 2015-05-28 17:01:48

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

欲知详情,看看这个有用的幻灯片从谷歌:

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