只要用户之前已经在Google上进行了身份验证,它就会自动默认在随后的尝试中使用该帐户登录。我想消除这一点,并强制弹出/重定向,以便拥有多个google帐户的用户可以选择使用哪个帐户。多么?
背景:
自动登录功能对我来说是有问题的,因为我有一组允许使用我的应用程序的用户的白名单电子邮件。如果谷歌用户在第一次登录时选择了错误的帐户,他们将无法返回并选择与他们的白名单电子邮件相关联的帐户。
发布于 2016-11-11 23:57:17
正如@nvnagr所说,您可以使用以下代码完成此操作:
var provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({
'prompt': 'select_account'
});
但我认为你需要将firebase版本更新到3.6.0左右。
发布于 2016-03-05 06:03:07
Google支持身份验证url中的参数来处理此问题。
如果您在请求中添加prompt=select_account到Google身份验证,它将强制用户进行帐户选择。查看prompt的详细信息和其他值。
https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters
我不确定是否有一种简单的方法可以通过firebase api添加此参数。
发布于 2016-03-04 01:30:17
在调用oAuth函数时,可以传递第三个options参数,使身份验证仅对会话有效。这应该可以解决您的问题。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'
});
https://stackoverflow.com/questions/35778693
复制相似问题