我正在为我正在开发的网站开发OAUTH 2 REST API。我们有一个使用此API的官方原生移动应用程序,并计划向第三方开发人员开放API。
我们的原生移动应用程序将拥有比第三方应用程序更多的权限。我是通过根据客户端ID或应用程序ID设置权限来实现的。
我正在使用password
grant type
用于官方应用,implicit
grant type
用于第三方应用。
但问题是,由于我们在任何一种情况下都没有使用client_secret
,第三方可能会以某种方式窃取我们的官方client_id
并使用它来访问API中提升的权限,这是官方应用程序独有的。
反正是否阻止他们这样做?官方Facebook或Twitter应用程序如何做到这一点?
答案 0 :(得分:1)
您可以使用代码(client_id
,Official app
,day
,...)作为应用
'Day',以便每天获得最小化危险的新令牌
此第三方代币(client_id
,3rd party
,...)
因此,在您的API中添加一个函数来从令牌中获取信息
来自Api的所有请求必须通过SSL,然后在服务器上进行验证,以确定是否要处理/删除请求。