如何使基于纯JavaScript的谷歌或Facebook OAuth 2.0安全到欺骗?

时间:2013-09-30 15:57:46

标签: facebook-graph-api oauth-2.0 google-oauth spoofing

我正在为客户端登录系统实现基于JavaScript的Google或Facebook OAuth,我希望在成功验证用户在服务器上创建会话后,使用从Google / Facebook返回的访问令牌和电子邮件ID组合。我有一个基于.NET的服务器应用程序。我希望使用一些AJAX方法(如$ .ajax)发送此访问令牌和电子邮件ID组合,并在服务器端为此电子邮件ID创建会话。

现在我有一个限制,我的服务器位于防火墙之后,它无法联系Google / Facebook来验证访问令牌。

我的一位同事向我指出,由于我的服务器和Google / Facebook之间没有通信,任何恶意用户都可以向我发送用户A的电子邮件ID以及任何随机访问令牌,我无法检查其有效性此令牌是否实际属于用户A.

我的服务器正在使用SSL通信。那么,我怎样才能使这种情况安全。

2 个答案:

答案 0 :(得分:1)

我认为您不应该使用无法验证的令牌。如果您无法联系IDP来验证令牌,我认为您的应用程序无法运行。这有点令人惊讶,大多数防火墙让你打电话给 out ,他们不会让别人打电话。

答案 1 :(得分:1)

您可以按照Cloud endpoints oauth2 error

中的说明申请ID令牌

这包含JWT中已签名的用户ID和电子邮件。

这篇文章可能有助https://support.zendesk.com/entries/23675367-Setting-up-single-sign-on-with-JWT-JSON-Web-Token-

免责声明:我个人没有试过这个。此外,正如蒂姆所说,你确定你不能从防火墙后面喊出来吗?