Facebook PHP SDK : getAccessToken not correct on refresh

标签 facebook facebook-php-sdk facebook-oauth

在我的 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/

相关文章:

python - 如何从服务器运行程序访问fb访问 token (python)

php - 将数字粉丝页面ID转换为String粉丝页面id\粉丝页面名称

authorization - 访问 token 立即失效

用于桌面应用程序的 Facebook 登录

facebook-graph-api - 不明白 "(#4) User request limit reached"

java - 我如何使用 restfb 检索 facebook 授权码

c# - Facebook 页面/提要丢失的图像

authentication - iframe Canvas 应用程序的 Facebook OAuth 登录显示 Logo 图像和转到 Facebook.com 标题而不是登录

facebook - 时间轴上的视频帖子无法在线播放

Android:Facebook 登录:该应用程序未配置 Android key 哈希