0

我有以下用例

  1. 我在 iOS 上的应用程序正在使用 FaceBook iOS SDK 向 FB 进行身份验证
  2. 然后应用程序通过 https 向我的服务器进行 REST 调用,以将 FB 帐户注册到他们的服务帐户(我提供的服务)

在第 2 步中,客户端正在发送 FaceBook UID。

我的问题是服务器没有 FB 集成,因此必须回复客户端发送正确的 FaceBook UID。

所以问题很明显,黑客可以将其他人的 Facebook 帐户附加到他们的服务帐户。

我希望服务器(Java)能够验证发送请求的用户是否拥有相关的 Facebook UID。

我一直在网上搜索,找不到任何我认为可行的东西。

我遇到了一个关于使用 FBsignedRequest字段的模糊帖子,这可以传递给服务器以验证用户。

任何想法将不胜感激。

4

1 回答 1

0

这是一个想法:

在您的 iOS 应用程序中对用户进行身份验证后,获取access_token并仅在您的 REST 调用中将其传递给您的服务器。

在服务器端,请求https://graph.facebook.com/me?access_token=...使用access_token您传输的。如果访问令牌有效,您将获得所有用户数据,证明您拥有一个有效的、经过身份验证的用户。

如果您想更加确定,您还可以请求http://graph.facebook.com/app?access_token=...确保访问令牌是由您的应用程序创建的。

于 2013-01-17T20:44:28.373 回答