1

我的任务是在我正在使用他们的 JavaScript API 开发的网站上集成 Facebook 登录。

我可以很好地从 Facebook 获取身份验证响应。我只是不知道该怎么办。

我需要做的是在注册期间:

  1. 允许用户使用 Facebook 登录名进行注册。
  2. 在我自己的数据库中存储他们帐户中的某些内容,以便以后通过 Facebook 登录时查看。

然后当返回站点时:

  1. 确定用户已登录 Facebook 并获取 FB 访问令牌。
  2. 安全地通知我的 API 用户已登录 Facebook,查找他们的帐户,并为我自己的 API 获取令牌。

我只是存储 Facebook ID 并查找它,但我意识到这很容易被欺骗。

这样做最安全的方法是什么?

4

2 回答 2

1

这样做最安全的方法是什么?

恕我直言:在服务器端做。

如果您将signed_request通过 JS SDK 进行客户端登录时获得的值传递到您的服务器,您可以在那里对其进行解码和验证以检查它的真实性——因为它是使用您的应用程序密钥签名的,没有其他人可以你和 Facebook(应该)知道。

在客户端,您无法获得那种级别的安全性,因为没有您的应用程序机密就无法验证请求,但这与客户端脚本无关。

于 2012-08-15T13:09:02.377 回答
0

首先,您应该阅读有关Facebook 身份验证的 Facebook 文档。还有JavaScript SDK 文档通常流程是:

1) 通过调用 FB.getLoginStatus() 检查他们是否已经注册。如果他们已经跳转到第 4 步 2) 用户在您的网站上看到使用 Facebook Javascript 登录按钮 3) 用户点击该按钮。他们被发送到 Facebook 以授权您的应用访问他们的帐户 4) 使用 Open Graph 将控制权返回给您 5) 您的应用可以轻松地进行任何需要做的事情

确保您阅读了Facebook 权限,这样您就知道要请求什么权限。如果您需要请求额外的权限,那么您需要再次将整个授权过程发送给用户。

于 2012-08-15T03:14:45.977 回答