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

时间:2012-04-18 12:58:07

标签: php facebook facebook-php-sdk

我有一个使用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);

在页面移除app时运行将完成工作。

有这样的东西吗?

2 个答案:

答案 0 :(得分:3)

fb平台中有一个名为Deauthorize Callback的有趣选项...当用户删除您的应用时,它会简单地调用您应用或网站上的网页。简单地将数据库记录删除代码放在此页面中......

答案 1 :(得分:0)

在你的facebook-app配置中有一个叫做deauth-request的选项(或类似的)。在那里,您可以定义一个回调网址,如果有人取消对您的应用授权,则会调用该网址。 Facebook通过该请求发送POST信息以识别用户,例如。

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