Javascript Facebook登录重定向问题
我有一个Facebook登录的网站 问题发生在用户第一次访问站点时(或在清除cookie后) 用户流如下所示:Javascript Facebook登录重定向问题,javascript,php,facebook,symfony,facebook-login,Javascript,Php,Facebook,Symfony,Facebook Login,我有一个Facebook登录的网站 问题发生在用户第一次访问站点时(或在清除cookie后) 用户流如下所示: 用户点击“注册Facebook” 用户被重定向到Facebook身份验证 如果用户接受,他/她将被重定向到“注册”页面 问题是,如果此人是第一次这样做,他们总是被重定向回主页 此url只能提供2个可能的视图 “注册”页面,其中只有一些表单数据作为参数发送 数据库持久化成功时的警报框 因此,我排除了PHP作为重定向的可能原因 我已经包含了管理Facebook交互的JavaScript 所
在为
window.location
(当然应该是window.location.href
)分配新值后尝试执行其他操作是没有意义的
如果您想在登录后执行其他操作,请在将用户重定向到其他地方之前执行此操作。在为window.location(当然应该是window.location.href)分配新值后尝试执行其他操作没有意义。@CBroe-重定向后我不会尝试执行任何操作。Facebook在他们的服务器上进行身份验证,然后发回一些加密的用户数据。然后我的页面检查他们是否已登录,并允许他们继续使用表单。问题是,在第一次尝试时,它们不会立即被识别为已登录。他们会被重定向到主页,单击链接并获得授权。当然,您正在尝试这样做,因为您的window.location行后面还有更多代码。谢谢CBroe,这就解决了问题。你能把它贴出来作为答复吗?这样我就可以接受了。
function fb_login(){
FB.login(function(response) {
if (response.authResponse) {
window.location = "http://trioisrael.com/signup"
//console.log(response); // dump complete info
access_token = response.authResponse.accessToken; //get access token
user_id = response.authResponse.userID; //get FB UID
FB.api('/me', function(response) {
user_email = response.email; //get user email
// you can store this data into your database
});
} else {
//user hit cancel button
alert('We use facebook to make sure that everyone is really who they say they are');
}
}, {
scope: 'user_photos,user_birthday'
});
}