我有一个使用Facebook注册插件的网站。
一切正常,不过我有一个问题:如果有人在Facebook上并未经授权我的应用程序,然后永远不会返回我的网站,我怎么知道?
我问的原因是我将用户数据存储在数据库中,即access_token
,Facebook ID和(自定义字段)用户名,以及它们的joined
日期和last_active
日期。
当用户未经授权我的应用程序时,Facebook 有什么方法可以与我的网站互动,允许我从我的网站数据库中删除它们?
甚至像这样简单的事情:
$unauth_url = 'http://example.com/unauthorize';
file_get_contents($unauth_url . '?signed_request=' . $signed_facebook_request);
当页面被删除应用程序时运行将完成工作。
有这样的东西吗?
fb 平台中有一个有趣的选项,称为取消授权回调......当用户删除您的应用时,它只是调用您的应用或网站上的页面。简单将数据库记录删除代码放在此页面中...
在Facebook应用程序的配置中,有一个名为deauth-request的选项(或类似)。在那里,您可以定义一个回调 URL,如果有人未经授权您的应用程序,将调用该 URL。例如,Facebook通过该请求传递一些POST信息以识别用户。
您只需要在服务器上实现一个脚本,该脚本从数据库中删除具有该访问令牌的用户。