每当用户之前通过Google进行身份验证时,它会自动默认使用该帐户在后续尝试中登录。我想消除这种情况并强制弹出/重定向,以便拥有多个Google帐户的用户可以选择使用哪个。怎么样?
背景:
自动登录功能对我来说是个问题,因为我有一组白名单的电子邮件供用户使用我的应用程序。如果Google用户在首次登录时选择了错误的帐户,则他们无法返回并选择与其列入白名单的电子邮件相关联的帐户。
答案 0 :(得分:2)
正如@nvnagr所说,您可以使用以下代码执行此操作:
var provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({
'prompt': 'select_account'
});
但我认为您需要将firebase版本更新为3.6.0。
答案 1 :(得分:1)
Google支持身份验证网址中的参数来处理此问题。
如果您在Google身份验证请求中添加prompt = select_account,则会强制用户进行帐户选择。查看提示的详细信息和其他值。
https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters
我不确定是否有一种通过firebase api添加此参数的简单方法。
答案 2 :(得分:0)
当您调用oAuth函数时,您可以传递第三个选项参数,以仅对会话进行最后一次身份验证。这应该可以解决您的问题。 Docs
var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.authWithOAuthPopup("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
}
}, {
remember: 'sessionOnly'
});