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

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

Consumer key:

Consumer secret:

Access token:

Access token secret:

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

基本上,我不确定访问令牌或令牌机密是如何生成的,它们存储在哪里以及它们彼此之间或者与消费者密钥和秘密之间具有什么关系。

谢谢

消费者密钥本质上是与应用程序(Twitter,Facebook等)相关联的API密钥。 这个密钥(或称为“客户端ID”,就像Facebook所称的那样)是识别客户端的标识符。 顺便说一句,客户端是试图访问最终用户资源的网站/服务。

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

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

希望清除它。 我会build议通过oAuth 2.0规范的开始略读。 这是非常丰富的。

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

有关更多详情,请参阅Google提供的有用幻灯片:

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