oauth 2提供程序-是否必须具有客户端的api密钥和应用程序ID?
-
28-10-2019 - |
题
我正在实现OAuth 2提供程序,并且想知道当客户端向我的提供程序注册应用程序时是否有必要为客户端生成API密钥和客户端ID。
通过查看像Google和Twitter这样的OAuth 1.0a提供程序,它们只有一个客户端密钥,但是Facebook(OAuth 2)同时具有API密钥和应用程序ID,但是将应用程序ID用作其“ client_id”参数在他们的OAuth 2舞蹈中。
我很确定OAuth 1.0a和OAuth 2规范都没有为客户端指定多个密钥。
我不确定提供商在什么情况下需要为客户端应用生成两者。
解决方案
我敢打赌,谷歌和推特还在每个应用程序的数据库记录中使用应用程序ID。在Twitter中,当您管理OAuth应用程序时,请转到 http://dev.twitter.com/apps/1234,其中 1234 是应用程序ID。
仅仅是在Facebook中,他们在OAuth之前就开始使用“应用程序”,并且自开始以来就一直使用应用程序的应用程序ID来标识自己。减轻开发人员的复杂性可能只是他们的决定。
总而言之,应用程序ID只是他们跟踪应用程序的方式,所以问题是您要如何?
请注意,当应用程序遭到入侵时,应该有一个重置使用者密钥和/或机密的选项。
不隶属于 StackOverflow