我有一个使用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时运行将完成工作。
有这样的东西吗?
答案 0 :(得分:3)
fb平台中有一个名为Deauthorize Callback的有趣选项...当用户删除您的应用时,它会简单地调用您应用或网站上的网页。简单地将数据库记录删除代码放在此页面中......
答案 1 :(得分:0)
在你的facebook-app配置中有一个叫做deauth-request的选项(或类似的)。在那里,您可以定义一个回调网址,如果有人取消对您的应用授权,则会调用该网址。 Facebook通过该请求发送POST信息以识别用户,例如。
您只需在服务器上实现一个脚本,该脚本将从您的数据库中删除具有该accessstoken的用户。