允许用户在使用 angular firebase 注册时选择使用哪个电子邮件注册 google

allow user to choose which email to signup with when using angular firebase signup with google

我实施了 Angular 与 Firebase 注册 Google。

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

当我使用 Google Chrome,并且登录了 1 个以上的 Gmail 帐户时,当我访问我的网站并单击“使用 Google 注册”时按钮,它会打开 Google 弹出页面,因此我可以选择要使用哪个电子邮件注册到我的网站。没问题。

但是,如果我在 Google Chrome 上只登录了 1 个 Gmail 帐户,当我访问我的网站并单击使用 Google 按钮注册时,它确实不打开 Google 弹出页面,而是直接使用已在 Google Chrome 上登录的电子邮件进行注册。默认情况下,Google Chrome 认为这是唯一登录的电子邮件,让他使用此电子邮件注册。

我想要的是,用户在任何时候点击我的网站注册 Google 按钮,打开 Google 弹出页面并让他们选择使用哪个电子邮件 he/she 想注册我的网站。

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

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

这里有一个很好的解释: