0

我正在实现一个 OAuth 2 提供程序,并且想知道在客户向我的提供程序注册应用程序时是否有必要为他们生成 API 密钥和客户端 ID。

从 Google 和 Twitter 等 OAuth 1.0a 提供商来看,他们只有一个用于客户端的密钥,但 Facebook (OAuth 2) 同时具有 API 密钥和应用程序 ID,但在 OAuth 中使用应用程序 ID 作为“client_id”参数2 舞蹈。

我很确定 OAuth 1.0a 和 OAuth 2 规范都没有为客户端指定多个密钥。

我不确定提供商需要在什么情况下为客户端应用程序生成两者。

4

1 回答 1

1

我敢打赌,Google 和 Twitter 也会在每个应用程序的数据库记录中使用应用程序 ID。在 twitter 中,当您管理 OAuth 应用程序时,您会转到http://dev.twitter.com/apps/1234,其中1234是应用程序 ID。

只是在 Facebook 中,他们在 OAuth 之前开始使用“应用程序”,并且从一开始他们就一直使用应用程序 ID 来在请求中识别自己。这可能只是他们的开发人员为了降低最终的复杂性而做出的一些决定。

总之,应用程序 ID 只是他们跟踪应用程序的方式,所以问题是你会怎么做?

请注意,当应用程序受到威胁时,应该可以选择重置使用者密钥和/或机密。

于 2011-02-03T08:46:13.400 回答