gpt4 book ai didi

javascript - FB.login 调用后,Facebook JavaScript SDK 不会在 chrome 中设置访问 token cookie

转载 作者:搜寻专家 更新时间:2023-11-01 04:45:18 25 4
gpt4 key购买 nike

我正在使用 Facebook JavaScript SDK 为我的网站实现登录。我已经让它在 Safari 和 Firefox 上运行,但在 Chrome 上不行。

调用 FB.login 方法后,我可以从 Facebook 检索访问 token ,但它不会像在 Firefox 和 Safari 中那样在 cookie 中设置访问 token 和用户 ID。目前,我正在手动将访问 token 和用户 ID 写入 cookie,以便登录流程正常工作,但它仍然让我感到困惑,因为访问 token 不是单独在 Chrome 中编写的。

有没有人以前遇到过这个问题并且知道手头的解决方法?非常感谢。

下面是我的初始化和登录逻辑代码:

window.fbAsyncInit = function() {
FB.init({
appId : "#{AppConfig.facebook['app_id']}", // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});

// Additional initialization code here
};

// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));

$(function() {
$(".fb-login-button").click(function() {
FB.login(function(response) {
if (response.authResponse) {
console.log("Welcome! Fetching your information...");
$.cookie("user_id", response.authResponse.userID);
$.cookie("access_token", response.authResponse.accessToken);
window.location = "#{oauth_facebook_callback_url}";
} else {
console.log("User cancelled login or did not fully authorize.");
}
}, {scope: 'publish_stream,offline_access,email,user_events,create_event,user_location'});
});
});

最佳答案

如果您在本地测试您的应用程序,请注意 Google Chrome 支持本地文件(包括 localhost)的 cookie,除非您使用 启动它--enable-file-cookies 标志。但是,如果您使用本地 IP 地址(127.0.0.1)进行测试,Chrome 确实支持 cookie。

您可以在此处查看有关此行为的讨论:http://code.google.com/p/chromium/issues/detail?id=535

(答案修改自 Why does Chrome ignore local jQuery cookies? )

关于javascript - FB.login 调用后,Facebook JavaScript SDK 不会在 chrome 中设置访问 token cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033442/

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