gpt4 book ai didi

php - 如何使用 Facebook SDK 注销用户?

转载 作者:可可西里 更新时间:2023-10-31 23:05:09 25 4
gpt4 key购买 nike

我正在使用 facebook 使用 facebook php sdk 登录我的网站。

我注意到 logout 链接没有任何作用。注销后,用户仍然可以浏览网站。这是我在 facebook.php 中的代码:

<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => '*************',
'secret' => '******************************',
));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl();
echo "<a href='$loginUrl'>login</a>";

$logoutUrl = $facebook->getLogoutUrl();
echo $loginUrl;
if($user){
session_start() ;
$_SESSION['user_info'] = $user;
$_SESSION['user_pro']= $facebook->api('/me');
print_r($_SESSION);
}
else{
echo 'not logged in ';
}

echo "<a href='example.com/logout.php'>log out </a>"
?>

代码 在登录时工作正常。注销链接应该会破坏 session 。这是页面的标题:

<?php 
print_r($_SESSION) ;
header('example.com') ;
?>

我的 logout.php 页面的问题是它根本没有检测到 session 。我不知道这是 facebook api 问题还是我的 php 问题。

如何使用 facebook SDK 将用户注销?

最佳答案

您可以通过向下一个参数提供您的站点 url 并销毁 session 来从您的站点和 facebook 注销

$token = $facebook->getAccessToken();
$url = 'https://www.facebook.com/logout.php?next=' . YOUR_SITE_URL .
'&access_token='.$token;
session_destroy();
header('Location: '.$url);

您还必须将他们从您的网站注销,并且您必须防止您的网站自动记住您的用户并立即重新登录。

禁用自动登录用户的代码并尝试再次注销。销毁 session 不会阻止您的站点为记​​住的用户创建全新的有效 session 。

关于php - 如何使用 Facebook SDK 注销用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11483594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com