Facebook:从数据库中删除未经授权应用程序的用户


Facebook: removing users from a database who have unauthorized the application

我有一个使用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信息以识别用户。

您只需要在服务器上实现一个脚本,该脚本从数据库中删除具有该访问令牌的用户。