Firebase 网络客户端和 OIDC 提供商问题

Firebase web client and OIDC Provider issues

我在 Google Identity Platform 控制台中配置了一个 OIDC 提供程序(链接到 Keycloak OIDC 提供程序)。这是我的单页应用程序中的代码:

provider = new firebase.auth.OAuthProvider('oidc.keycloak');
firebaseAuth.auth.signInWithPopup(provider)
      .then(value => {
        log.info(`It worked!`, value);
      })
      .catch(err => {
        log.info('Something went wrong:', err);
      });

弹出窗口window出现,我可以登录Keycloak,但弹出窗口消失后,浏览器中抛出以下错误:

{code: "auth/admin-restricted-operation", message: "This operation is restricted to administrators only."}

我使用的是最新版本的 Firebase Client SDK 和 AngularFire2,并且我已经成功配置了 Email/Password 身份验证。 在 Google 身份平台中,我有:

发行人(URL):

https://auth.example.com/auth/realms/myrealm

和 回调URL:

https://myapp-12345.firebaseapp.com/__/auth/handler

我需要在客户端进行额外的配置吗?问题可能出在 OIDC 提供商 (Keycloak) 及其配置上吗?

您似乎在 Google Cloud Identity Platform 设置中(在 Google Cloud Console 中)禁用了客户端 SDK 的用户注册。这在 User actions 下的 Settings 部分中。应选中复选框 Enable create (sign-up)