gpt4 book ai didi

php - 在哪里可以找到 Facebook cookie?

转载 作者:可可西里 更新时间:2023-11-01 01:09:18 26 4
gpt4 key购买 nike

我对此有点陌生,所以请多多包涵。我通过 Javascript SDK 安装了一个“使用 Facebook 登录”按钮,效果很好。我还设置了 PHP 代码 (facebook.php)我可以通过 javascript 成功登录到 Facebook,但无法通过 php 从 session 访问 UID。那么,我怎样才能让 php 访问 session javascript 集呢?谢谢

编辑:(在此处发布下面的代码以便于阅读)

我可以控制台记录响应并查看它。

FB.getLoginStatus(function(response) {
console.log(response.session.uid);
});

刷新页面,尝试访问php设置的session,结果为null。

require_once(RELATIVE_PATH.'applibs/facebook.php');
$config = array('appId'=>Config::$fb_app_id, 'secret'=>Config::$fb_secret, 'cookie'=>true);
$fb = new Facebook($config);
$fb->getUser(); // this will equal null because the $fb object isnt finding the cookie supposedly set by javascript

* 在 facebook.php 中做了一些调试

在第 358 行... $cookieName = $this->getSessionCookieName();
//重新调谐 fbs_myNumericAppId,似乎有效..
如果 (isset($_COOKIE[$cookieName])) {
//失败!没有 $_COOKIE['fbs_myNumericAppId']

这似乎合乎逻辑,因为登录 facebook.com 怎么会知道我的应用 ID 是什么?
我还注意到在登录 facebook.com 后,$_COOKIE 中没有任何与 facebook 相关的内容。因此,为了通过 facebook.com 登录 facebook,然后让网站通知登录,您必须在页面加载时运行 FB.login。然后您必须通过返回到 $_COOKIE 中的 javacript 信息设置一个 cookie,这样 php 就可以在其他任何地方获取它。

最佳答案

我碰巧有一个 blog post还有一些previous answers可能对您有用作为引用点。

您是否已将您的网站在 Facebook 上注册为“应用程序”?如果没有,您将需要这样做。 Facebook 设置的 cookie 允许您的网站访问用户信息(一旦他们同意授予您的“应用程序”访问权限)使用您的应用程序 ID 和“ secret ”(您不得共享的​​长字母数字字符串,或其他应用程序将能够模拟您的应用程序)以使用用户 ID 和用户和您的应用程序独有的身份验证 token 设置加密值(代表他们已授予您对其数据的权限)。

该 cookie 与任何其他 cookie 一样与请求一起发布到您的站点。您将使用您的应用程序的 secret 对其进行解密并提取用户的 ID 和身份验证 token ,然后您将使用它们通过 Facebook 的图形 API 访问数据。

关于php - 在哪里可以找到 Facebook cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763197/

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