+-
允许用户在使用angular firebase与google注册时,选择用哪个邮箱注册。

我实现了Angular与Firebase与Google注册。

var result = await this.afAuth.auth.signInWithPopup(
      new auth.GoogleAuthProvider()
);

当我使用Google Chrome浏览器,并且我登录了1个以上的Gmail账户,当我访问我的网站时,我点击Sign Up with Google按钮,它就会打开Google的弹出式页面,让我选择我想用哪个邮箱注册到我的网站。这一点没有问题。

Google Popup page

但是,如果我在Google Chrome浏览器上只登录了一个Gmail账户,当我访问我的网站并点击 "用Google注册 "按钮时,它不会打开Google弹出式页面,而是直接用已经在Google Chrome浏览器上登录的电子邮件进行注册。默认情况下,Google Chrome认为,既然这是唯一一个登录的邮箱,那就用这个邮箱让他注册吧。

我想要的是,当用户点击我的网站Sign up with Google按钮时,打开Google Popup页面,让他们选择用哪个邮箱注册到我的网站。

0
投票

我们可以通过向提供者添加以下自定义参数来实现。

const provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({ prompt: 'select_account' });

这里有一个很好的解释。Firebase - 这意味着什么设置自定义参数的提供者?