Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查来自移动客户端的用户facebook ID和会话是否真实?_Facebook_Facebook Graph Api - Fatal编程技术网

检查来自移动客户端的用户facebook ID和会话是否真实?

检查来自移动客户端的用户facebook ID和会话是否真实?,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我有一个移动应用程序,用户可以使用facebook登录。在客户端上,我将获取他们的facebookId和会话令牌 现在我想把facebook ID发送到我的服务器上,链接到他们的帐户。但是我想验证ID是否可信——如果我还将会话令牌从客户端发送到服务器,是否有facebook API可以让我验证facebook ID+会话令牌是否真实 客户端与我的服务器对话的示例: https://example.com/myservice/getMyAppAccountInfo?fbId=123&fbS

我有一个移动应用程序,用户可以使用facebook登录。在客户端上,我将获取他们的facebookId和会话令牌

现在我想把facebook ID发送到我的服务器上,链接到他们的帐户。但是我想验证ID是否可信——如果我还将会话令牌从客户端发送到服务器,是否有facebook API可以让我验证facebook ID+会话令牌是否真实

客户端与我的服务器对话的示例:

https://example.com/myservice/getMyAppAccountInfo?fbId=123&fbSessionToken=abc
现在在我的服务器上,我可以问facebook ID和会话令牌是否正确吗?我不希望一个恶意用户只是抢夺某人的facebook ID然后冒充他们


谢谢

好的,所以我最后使用我的客户端提供的facebook会话令牌调用了这个服务器端:

https://graph.facebook.com/me?access_token=tokenSuppliedByMyClient
如果访问令牌是真实的,那么您将得到一个json响应,该响应是与该会话令牌关联的facebook用户对象:

// the facebook user object associated with the session token:
{
  "id": "123", 
  "name": "...",
  ...
}

然后将json中的“id”属性与客户端提供的facebook id进行比较。如果此时一切都匹配,我将信任客户端。

通常你应该使用
signed_request
参数来实现这一点–它是用你的应用程序机密签名的,因此如果这一点被验证,则请求是真实的。哦,不,这是我的客户端到我的服务器。但是现在服务器需要知道提供的facebook ID+会话令牌是否有效。不明白你的意思。客户端本身会获得一个facebook ID和一个facebook会话令牌。我想把它们发送到我的服务器上。但我的服务器无法知道这些值是否有效(可能是恶意用户模拟我的客户端)。因此,服务器端需要一种方法来验证提供的facebook ID和facebook会话令牌是否匹配。客户端是如何获得这一点的?您的应用程序中没有登录名吗?登录是如何发生的?(你是指移动应用还是本地应用?)