移动应用程序如何使用API并证明其想要修改的Facebook ID已在Facebook上登录和授权


How can the mobile application use the API and prove that the Facebook ID it wants to modify is logged in and authorised on Facebook?

我在服务器端API中使用Facebook PHP SDK,多个移动应用程序(iOS和Android)和一个网站使用该API向数据库读取/写入数据。

我看不出网络版本不起作用的任何原因,因为Facebook设置的会话可以通过SDK从浏览器中读取。

因此,如果我使用:

$facebook = new Facebook(array(
  'appId'  => 'xx',
  'secret' => 'xx',
));
// Get User ID
$user_id = $facebook->getUser();

并且设置了$user_id,然后我可以获得登录用户的用户信息。这意味着,当我保存、更新或从数据库中获取记录时,它们保证只针对登录用户,不会被欺骗。

如何使用Facebook PHP SDK 从移动web应用程序安全地通信到服务器

那么,如何将其复制到移动应用程序中呢?移动应用程序如何使用API并证明其想要修改的Facebook ID已在Facebook上登录和授权?

如果我理解正确,您有一个用户登录了您的移动应用程序,并且您希望访问服务器上存储的数据。(或者可能反过来,从你的问题中真的看不出来)。

除了您可以使用的自定义身份验证解决方案外,您是否考虑将传递facebook访问令牌而不是id作为一种更简单的解决方案。访问令牌过期,它不是公共的,你可以很容易地从facebook上用它交换id或解析令牌本身。以下是一个示例解决方案:

如何使用访问令牌获取Facebook用户id您还可以使用令牌轻松地在服务器或客户端验证用户。我没有在移动应用程序中使用过此解决方案,但在多站点应用程序中也使用过类似的解决方案。祝好运