首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户已经通过身份验证时,如何在Firebase中强制弹出谷歌OAuth?

当用户已经通过身份验证时,如何在Firebase中强制弹出谷歌OAuth?
EN

Stack Overflow用户
提问于 2016-03-04 01:15:40
回答 3查看 1.2K关注 0票数 4

只要用户之前已经在Google上进行了身份验证,它就会自动默认在随后的尝试中使用该帐户登录。我想消除这一点,并强制弹出/重定向,以便拥有多个google帐户的用户可以选择使用哪个帐户。多么?

背景:

自动登录功能对我来说是有问题的,因为我有一组允许使用我的应用程序的用户的白名单电子邮件。如果谷歌用户在第一次登录时选择了错误的帐户,他们将无法返回并选择与他们的白名单电子邮件相关联的帐户。

EN

回答 3

Stack Overflow用户

发布于 2016-11-11 23:57:17

正如@nvnagr所说,您可以使用以下代码完成此操作:

代码语言:javascript
运行
复制
var provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({
   'prompt': 'select_account'
});

但我认为你需要将firebase版本更新到3.6.0左右。

票数 3
EN

Stack Overflow用户

发布于 2016-03-05 06:03:07

Google支持身份验证url中的参数来处理此问题。

如果您在请求中添加prompt=select_account到Google身份验证,它将强制用户进行帐户选择。查看prompt的详细信息和其他值。

https://developers.google.com/identity/protocols/OpenIDConnect#authenticationuriparameters

我不确定是否有一种简单的方法可以通过firebase api添加此参数。

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 01:30:17

在调用oAuth函数时,可以传递第三个options参数,使身份验证仅对会话有效。这应该可以解决您的问题。Docs

代码语言:javascript
运行
复制
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'
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35778693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档