我有一个使用 facebook 身份验证的网站。我已经通过以下代码实现了登录和注销功能-
$scope = 'email,publish_actions';
$loginUrl = $facebook->getLoginUrl(array('scope' => $scope,'redirect_uri'=>$redirect_uri));
$logoutUrl = $facebook->getLogoutUrl(array('next' => $redirect_uri));
直到这里它工作正常。但是当我通过我的网站注销时问题就开始了。发生以下情况 -
- 我退出了我的 facebook(通过刷新 www.facebook.com 进行验证)。
- 但我的网站仍然显示,我已登录。
- 此外,如果我通过 facebook.com 注销,我仍然登录我的网站,尽管两者都在同一个浏览器中。
我在 StackOverflow 中找到了一个帖子(对不起,我再也找不到它了),上面说 facebook 将值存储$facebook->getUser()
在会话中。所以我所做的就是logout.php
用简单的代码创建一个页面-
<?php
session_start();
session_destroy();
?>
这解决了问题,但我必须logout.php
手动调用页面。那么我如何将调用绑定到logout.php
调用$logoutUrl
并将用户重定向到我原来的redirect_uri
. 或者,是否有其他方法可以完成整个过程。出于某种原因,我需要使用 PHP SDK。