在我的 Facebook 应用程序上,我正在使用 Javascript SDK 登录用户。 如果可以,我将他重定向到这个 PHP 页面(旨在说明我的问题):
测试.php:
<?php
include('config.php');
require('phpsdk.php');
$access_token = $facebook->getAccessToken();
echo $access_token;
echo "<br /><br />";
$user = $facebook->getUser();
echo $user;
?>
(phpsdk.php 处理 PHP SDK 启动)
第一次访问 test.php,会返回有效的访问 token 和登录用户的 ID。 但是,当我刷新页面时,访问 token 变为 appID|appSecret 类型。 用户仍处于登录状态:getUser 仍返回正确的用户 ID。
谁知道这是什么原因造成的?
最佳答案
当用户注销时,使用重定向中的 php sdk 清除 Facebook session 。
Logout.php 重定向用户并使用 sdk 清除 session 数据。
重定向网址示例。 yourdomain.com/Logout.php?destroy=true
引用:https://developers.facebook.com/docs/reference/php/facebook-destroySession/
<小时/><?php
session_start();
require './src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'appID',
'secret' => 'appSecret',
'cookie' => true, // enable optional cookie support
));
if(isset($_GET['destroy'])){
$facebook->destroySession();
}
?>
关于Facebook PHP SDK : getAccessToken not correct on refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19729294/