5

我正在为我正在开发的网站开发 OAUTH 2 REST API。我们有一个使用此 API 的官方原生移动应用程序,并计划将该 API 开放给第三方开发人员。我们的原生移动应用程序将拥有比 3rd 方应用程序更多的权限。我通过根据客户端 ID 或应用 ID 设置权限来做到这一点。我正在使用password grant type官方应用程序和implicit grant type第 3 方应用程序。

但问题是,由于我们client_secret在这两种情况下都没有使用 a ,因此第 3 方可能能够通过以某种方式窃取我们的官方client_id并使用它来访问官方应用程序专有的 API 中的提升权限来获得提升的权限。

有没有办法阻止他们这样做?官方 Facebook 或 Twitter 应用程序是如何做到的?

4

1 回答 1

1

您可以为应用程序使用作为此信息( client_id, Official app, day, ...)哈希值的令牌

“日”,以便每天获得一个新的代币,以最大限度地减少风险

这个令牌用于第 3 方( client_id, 3rd party, ...) 所以在你的 API 中添加一个函数来从令牌中获取信息

来自 Api 的所有请求都必须通过 SSL,然后在服务器上进行验证以决定是否要处理/丢弃请求。

于 2013-04-01T17:05:35.917 回答