0

在这种情况下,我有一个应用程序,其中:

  1. 用户将在移动设备(本例中为 iOS)上使用 Facebook 单点登录 (SSO) 登录。

  2. 然后将返回的 Facebook 凭据发送到 NodeJS 服务器(使用相同的 Facebook 应用程序密钥),并且在将它们关联到基于程序的帐户之前,需要将其验证为确实是用户的 Facebook 凭据。

问题:

鉴于可以访问 Facebook 作为身份验证结果返回的所有内容,如何使用这些数据来确认 Facebook 的授权?

4

2 回答 2

2

你可以做两件事:

  • Facebook 通常会向您传递一个签名的请求,您可以使用基本的 SHA2 哈希进行检查。如果哈希是正确的,您可以假设用户确实使用 facebook 进行了身份验证。

  • Facebook 通常还会向您传递一个(短期)访问令牌,您可以使用 graph api 将其交换为长期访问令牌。在此交换完成后,您可以确定用户就是他所说的那个人。

于 2012-12-17T23:21:11.587 回答
2

https://graph.facebook.com/me?access_token=TOKENGOESHERE

如果返回一个用户,并且他们的 ID 是客户声称的,那么他们很可能就是他们所说的那个人。

于 2012-12-18T16:06:09.687 回答