是什么阻止随机开发人员使用我的客户ID来获取用户访问令牌?

时间:2019-06-04 20:49:41

标签: facebook-graph-api oauth-2.0

使用FB的javascript SDK时,仅需要您的客户端应用ID。是什么阻止某人找到您的客户端应用程序ID,并使用该ID登录用户并获得对其认为给您应用程序的信息的访问令牌?

我意识到这里可以采取更多的安全措施: https://developers.facebook.com/docs/facebook-login/security#proof

但是默认行为似乎是任何人都可以假装成为您的应用并获取用户信息。

2 个答案:

答案 0 :(得分:1)

JS SDK仅适用于您的域,您需要在应用程序设置中添加它。因此,没有安全问题,只需尝试一下即可。

此外,只有用户自己才能使用他们的帐户登录,不能仅仅因为拥有应用程序ID而不能登录任何用户。

答案 1 :(得分:0)

OAuth2客户端(应用程序)具有一组注册的指向其安装的重定向URI。如果攻击者使用其他客户端的ID发起身份验证,则他必须指定有效的重定向URI,然后在身份验证过程后会将浏览器重定向到。因此,生成的令牌将不会传递给攻击者,而是传递给客户端的应用程序。

这种攻击称为“客户端模拟”和OAuth2 RFC discusses itOAuth 2.0 for Native Apps中也对此进行了讨论。