0

基本场景 Firebase Auth 中有一个用户,其用户 ID1234和电子邮件user@email.com与附加的 facebook 提供商链接。

使用 OpenID Connect 提供者登录

  1. 在 Google Cloud Platform 的 Identity Platform 中创建 OpenIDConnect 提供程序
  2. 使用新创建的提供商使用电子邮件登录user@email.com

结果:您将收到auth/account-exists-with-different-credential发回凭据的错误。这是预期的行为。

然而:

使用 SAML 提供者登录

  1. 在 Google Cloud Platform 的 Identity Platform 中创建 SAML 提供程序
  2. 使用新创建的提供商使用电子邮件登录user@email.com

结果:SAML 提供程序自动链接到原来的 firebase 用户,用户 ID 仍然存在1234。但是,它也替换了之前设置的 Facebook Provider。

这是一个已知的问题?难道我做错了什么?真正的问题是providerID 的替换,但不一致似乎令人不安。

- 更新 -

对 OIDC 和 SAML 执行身份验证,类似于以下文档: https ://cloud.google.com/identity-platform/docs/how-to-enable-application-for-oidc

具体来说:

  let provider = new firebase.auth.OAuthProvider(providerID);
  this.firebaseApp.auth().
    signInWithPopup(provider)

providerID或者saml.someprovider在哪里oidc.someprovider

4

0 回答 0