【发布时间】:2013-09-28 13:25:10
【问题描述】:
我已经尝试了 Firebase Facebook 身份验证的基本步骤。因此,在我的应用中,用户可以使用 Firebase Facebook 身份验证成功登录。但是我在注销时遇到了问题。
我使用了注销按钮并在其上绑定点击事件,如下图:
$(function(){
$('#lgout').click(function(){
auth.logout();
});
});
我使用以下代码登录:
var chatRef = new Firebase('https://my-firebase-url');
var auth = new FirebaseSimpleLogin(chatRef, function(error, user) {
if (error) {
// an error occurred while attempting login
alert("please login first");
} else if (user) {
// user authenticated with Firebase
//alert('User ID: ' + user.id + ', Provider: ' + user.provider);
$.ajax({
type: "GET",
url: "https://graph.facebook.com/"+user.id,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
$('#user').text("Welcome "+data.name);
}
});
} else {
// user is logged out
//auth.login('facebook');
}
});
auth.login('facebook');
在登录时,我也遇到了一个问题,正如您在else 部分中看到的那样,我使用了auth.login('facebook');,它无法正常工作并显示错误
auth is not defined。但如果我在else 之外使用它,那么它工作正常。
请帮我解决这个问题。
【问题讨论】:
-
您能澄清一下您在使用 logout() 时遇到的问题吗?你的问题不清楚。哪些行为与您的预期不同?您是否在控制台中看到错误?
-
不,它在控制台没有给出任何错误。我的问题是当我点击注销按钮时,我的 fb 会话应该过期吗?所以这里不会发生这种情况
-
当您调用
logout()时,您的 Firebase 简单登录会话已过期,但您仍登录 Facebook,并且该应用程序仍在您的 Facebook 帐户中进行身份验证。再次调用login()可能会立即出现,并且不会要求用户再次批准应用程序,这是 Facebook Connect 的预期行为。 -
@RobDiMarco 哦,是这样的,嗯.. 明白了。谢谢
标签: facebook authentication firebase