我已经在我的 Facebook 和 twitter 应用程序中正确设置了 firebase 身份验证,但我遇到了问题。
用户连接后,如果他决定注销并使用不同的凭据进入,他将无法执行此操作。事实上,如果他再次尝试使用 Facebook 注销,系统不会询问他的用户名和密码,而是使用之前插入的凭据。
我尝试使用 rememberMe 选项,但没有解决问题。有人能帮我吗?
我已经在我的 Facebook 和 twitter 应用程序中正确设置了 firebase 身份验证,但我遇到了问题。
用户连接后,如果他决定注销并使用不同的凭据进入,他将无法执行此操作。事实上,如果他再次尝试使用 Facebook 注销,系统不会询问他的用户名和密码,而是使用之前插入的凭据。
我尝试使用 rememberMe 选项,但没有解决问题。有人能帮我吗?
我严格遵循可以在此处找到的示例:https ://www.firebase.com/docs/security/simple-login-overview.html
无论如何,我对其进行了一些修改以进行一些检查。这是我正在使用的代码
firebaseRef = new Firebase('https://cicero.firebaseio.com');
authClient = new FirebaseAuthClient(firebaseRef, function(error, user) {
if (error) {
/*login error*/
switch(error.code) {
case 'INVALID_EMAIL':
case 'INVALID_PASSWORD':
EventDispatcher.trigger("login_error","invaild user or email");
break;
case 'INVALID_USER':
EventDispatcher.trigger("login_error","user does not exist.");
break;
case 'UNKNOWN_ERROR':
EventDispatcher.trigger("login_error","unknown error, please contact event administrator.");
}
} else if (user) {
/*user si logga*/
cicero_user = user;
var users = new Users();
users.firebase.on('value',function(){
if(cicero_user.provider == 'password'){
var user = users.findWhere({id: cicero_user.id, type:'password'});
cicero_user.displayName = user.get('name');
alert(cicero_user.displayName);
} else {
var social_user = users.findWhere({id: cicero_user.id,type: cicero_user.provider});
if(social_user == undefined){
var new_social_user = new User({id: cicero_user.id, name: cicero_user.displayName, type: cicero_user.provider});
users.add(new_social_user);
}
}
Ciceronotifier.on();
EventDispatcher.trigger("hide_spinner");
Backbone.history.navigate("map", {trigger: true});
},this);
} else {
/*user si slogga*/
cicero_user = undefined;
firebaseRef.unauth(); <-- i have added these two lines right now but the problem seems unresolved
firebaseRef = new Firebase('https://cicero.firebaseio.com');
Backbone.history.navigate("login", {trigger: true});