Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
facebook javascript sdk getLoginStatus()问题_Javascript_Facebook - Fatal编程技术网

facebook javascript sdk getLoginStatus()问题

facebook javascript sdk getLoginStatus()问题,javascript,facebook,Javascript,Facebook,我正在尝试设置Facebook Javascript SDK,让用户通过Facebook登录网站。不用说,Facebook上的文档让我有些困惑。我的第一个问题是,我是否能够检测到登录到Facebook的用户何时来到我的网站,并确定他们的Facebook ID,然后从那里将他们登录到我的网站(所有这些都没有任何用户交互)?除了这一部分,似乎一切都正常。如果用户单击Facebook登录按钮,则一切正常,getLoginStatus()运行正常。但是在初始页面加载时,getLoginStatus()似

我正在尝试设置Facebook Javascript SDK,让用户通过Facebook登录网站。不用说,Facebook上的文档让我有些困惑。我的第一个问题是,我是否能够检测到登录到Facebook的用户何时来到我的网站,并确定他们的Facebook ID,然后从那里将他们登录到我的网站(所有这些都没有任何用户交互)?除了这一部分,似乎一切都正常。如果用户单击Facebook登录按钮,则一切正常,getLoginStatus()运行正常。但是在初始页面加载时,getLoginStatus()似乎没有调用回调函数。我的印象是,甚至不应该有一个登录按钮,而应该是Facebook的“注册”按钮,如果他们登录到Facebook。我在下面包含了一些代码。如果有人能在这方面给我任何指导,我将不胜感激。请记住,我已经删除了我的应用程序id和网站名称,并将它们替换为“虚拟”文本


window.fbAsyninit=函数(){
init({appId:myAppId,状态:true,cookie:true,
xfbml:true});
FB.getLoginStatus(函数(响应){
if(response.session){
//已登录并已连接的用户,您认识的人
警惕(“我认识你”);
}否则{
//没有可用的用户会话,您不认识的人
警惕(‘你是谁?’);
}
警报(response.session.uid);
});
};
(功能(){
var e=document.createElement('script');e.async=true;
e、 src=document.location.protocol+
“//connect.facebook.net/en_US/all.js”;
document.getElementById('fb-root').appendChild(e);
}());

您好,据我所知,您希望用户根据其facebook帐户登录您的网站。我也这样做了。首先让用户登录到facebook,然后将其用户id发送到您的用户表,然后将其登录到您的站点。对我来说,下面的代码很有用

<div id="fb-root"> <script> window.fbAsyncInit = function() { FB.init({appId: "XXXXXX", status: true, cookie: true, xfbml: true}); FB.getLoginStatus(function(response) { if (response.session) { //here send the parameters to your system that logins into your system self.location.href="http://www.yoursite.com/login.php"; } else { } }); FB.Event.subscribe("auth.login", function(response) { window.location.reload(); }); FB.Event.subscribe("auth.logout", function(response) { // to logout self.location.href="http://www.yoursite.com/logout.php"; }); }; (function() { var e = document.createElement("script"); e.type = "text/javascript"; e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js"; e.async = true; document.getElementById("fb-root").appendChild(e); }()); </script> window.fbAsyninit=函数(){ FB.init({appId:“XXXXXX”, 状态:正确, 曲奇:是的, xfbml:true}); FB.getLoginStatus(函数(响应){ if(response.session){ //此处将参数发送到登录到系统的系统 self.location.href=”http://www.yoursite.com/login.php"; }否则{ } }); FB.Event.subscribe(“auth.login”),函数(响应){ window.location.reload(); }); FB.Event.subscribe(“auth.logout”),函数(响应){ //注销 self.location.href=”http://www.yoursite.com/logout.php"; }); }; (功能(){ var e=document.createElement(“脚本”); e、 type=“text/javascript”; e、 src=document.location.protocol+ “//connect.facebook.net/en_US/all.js”; e、 异步=真; document.getElementById(“fb根”).appendChild(e); }());
在login.php,您可以检查他们的用户名。并将它们登录到您的站点。我所做的是,我将通过jason返回给我的用户id作为用户名发送,并在我的usertable中作为md5之后的密码发送。然后,我简单地比较login.php中用户表中的userid,并将用户登录到我的站点。我希望它也能为您工作

您好,因为据我所知,您希望用户基于他们的facebook帐户登录您的网站。我也这样做了。首先让用户登录到facebook,然后将其用户id发送到您的用户表,然后将其登录到您的站点。对我来说,下面的代码很有用

<div id="fb-root"> <script> window.fbAsyncInit = function() { FB.init({appId: "XXXXXX", status: true, cookie: true, xfbml: true}); FB.getLoginStatus(function(response) { if (response.session) { //here send the parameters to your system that logins into your system self.location.href="http://www.yoursite.com/login.php"; } else { } }); FB.Event.subscribe("auth.login", function(response) { window.location.reload(); }); FB.Event.subscribe("auth.logout", function(response) { // to logout self.location.href="http://www.yoursite.com/logout.php"; }); }; (function() { var e = document.createElement("script"); e.type = "text/javascript"; e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js"; e.async = true; document.getElementById("fb-root").appendChild(e); }()); </script> window.fbAsyninit=函数(){ FB.init({appId:“XXXXXX”, 状态:正确, 曲奇:是的, xfbml:true}); FB.getLoginStatus(函数(响应){ if(response.session){ //此处将参数发送到登录到系统的系统 self.location.href=”http://www.yoursite.com/login.php"; }否则{ } }); FB.Event.subscribe(“auth.login”),函数(响应){ window.location.reload(); }); FB.Event.subscribe(“auth.logout”),函数(响应){ //注销 self.location.href=”http://www.yoursite.com/logout.php"; }); }; (功能(){ var e=document.createElement(“脚本”); e、 type=“text/javascript”; e、 src=document.location.protocol+ “//connect.facebook.net/en_US/all.js”; e、 异步=真; document.getElementById(“fb根”).appendChild(e); }());
在login.php,您可以检查他们的用户名。并将它们登录到您的站点。我所做的是,我将通过jason返回给我的用户id作为用户名发送,并在我的usertable中作为md5之后的密码发送。然后,我简单地比较login.php中用户表中的userid,并将用户登录到我的站点。我希望它也能为你工作

查看网址,内容丰富,效果良好


查看url,该url信息丰富且有效


在login.php中,您是否检查来自Facebook的数据签名,以确保其有效和安全(即,它不是伪造的数据)@Robert Conn。亲爱的,我不明白您的意思。如果我通过访问令牌获取数据,那么我如何获取伪造数据?在login.php中,您是否检查来自Facebook的数据签名,以确保其有效和安全(即,它不是伪造数据)@Robert Conn。亲爱的,我不明白你的意思。如果我通过访问令牌获取数据,那么如何获取伪造数据?