Oauth 2.0是否需要消费者密钥/消费者秘密

pil*_*ght 13 authentication api rest oauth oauth-2.0

显然,在使用OAuth 1.0时,您需要从API提供商处获取消费者密钥和消费者密钥......

但是当我尝试使用OAuth 2.0 API,如Facebook,Google Oauth 2.0等时,我从未需要获取消费者密钥/消费者的秘密(我获得了Facebook的App ID和App秘密,但这些与消费者密钥/消费者秘密不同我对么?)

所以我的问题是......当使用Oauth 2.0时,你不需要像Oauth 1.0那样拥有消费者密钥/消费者秘密

Oauth 2.0也没有签名方法(HMAC-SHA1等),这是正确的吗?HMAC-SHA1仅与Oauth 1.0相关,对吗?

Jan*_*ger 15

  1. OAuth 2提供商通常会向您发送客户端/应用程序的标识符和一些密码/密码,OAuth草稿会调用这些客户端标识符客户端密钥.这些用于检查您的应用程序是否真正发出了呼叫.但是,OAuth涵盖了不同的授权授权流程,这些流程或多或少都是安全的,并不是都需要某种秘密.谷歌称他们为客户端ID客户端秘密,Facebook称他们为App IDApp Secret,但他们都是一样的.
  2. 是的,所有加密步骤都已移至OAuth 2中的服务器端.


Fra*_*Rem 5

您引用的授权授权流程称为OAuth 2规范中的客户端凭据授权流程.它用于执行仅应用程序身份验证.意味着没有用户参与.典型的例子是在主页上显示推特馈送.

通常,应用程序通过HTTPS将消费者密钥(或应用程序ID)和消费者密钥(或应用程序机密)传递给服务器.此请求仅受HTTPS保护; 没有额外的加密.服务器返回一个令牌,您可以从该点开始使用该令牌来向API发出请求 - 因为它不需要用户上下文.

使用者密钥(或应用程序ID)标识您的应用程序,并且可能具有有意义的值.你通常不会(或不能)改变它.然而,如果您认为消费者保密已被泄露,则可以重新生成消费者保密.这解释了为什么有两个键.

重新生成消费者秘密不同于使令牌无效,如果消费者密钥和消费者秘密被泄露,则该令牌将无法帮助您.