gpt4 book ai didi

php - Facebook PHP SDK,如何保持持久登录

转载 作者:可可西里 更新时间:2023-11-01 12:38:57 24 4
gpt4 key购买 nike

我正在使用最新的 FB PHP SDK 中的非 JS 示例。它工作正常,除非用户关闭浏览器并重新打开页面。他们必须再次点击 FB 登录链接。

我假设 $facebook->getUser() 处理 cookie。

代码:

       require 'sdk/facebook/src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'test',
'secret' => 'test',
'cookie' => true));


// Get User ID
$user = $facebook->getUser();

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}

// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}

?>

我在这里缺少额外的步骤吗?我在这里找到了从 FB cookie 中提取数据的代码:facebook auto re-login from cookie php

显然 SDK 不再需要它了?

最佳答案

没有客户端是不可能的。

您的脚本没有足够的信息来了解哪些用户请求了该页面。

并且无法对 cookie 执行任何操作,因为 facebook session 是存储在 facebook 服务器上的动态状态。所以唯一可能的方法是使用 JS SDK,获取当前 session 并在服务器端使用它。

关于php - Facebook PHP SDK,如何保持持久登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061602/

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