Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase web客户端和OIDC提供程序问题_Javascript_Firebase_Firebase Authentication_Google Identity Toolkit - Fatal编程技术网

Javascript Firebase web客户端和OIDC提供程序问题

Javascript Firebase web客户端和OIDC提供程序问题,javascript,firebase,firebase-authentication,google-identity-toolkit,Javascript,Firebase,Firebase Authentication,Google Identity Toolkit,我已经在Google Identity Platform控制台中配置了一个OIDC提供程序(链接到KeyClope OIDC提供程序)。这是我的单页应用程序中的代码: provider = new firebase.auth.OAuthProvider('oidc.keycloak'); firebaseAuth.auth.signInWithPopup(provider) .then(value => { log.info(`It worked!`, valu

我已经在Google Identity Platform控制台中配置了一个OIDC提供程序(链接到KeyClope 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);
      });
弹出窗口出现,我可以登录到KeyClope,但弹出窗口消失后,浏览器中会抛出以下错误:

{code: "auth/admin-restricted-operation", message: "This operation is restricted to administrators only."}
我正在使用最新版本的Firebase客户端SDK和AngularFire2,并且我已成功配置电子邮件/密码身份验证。 在Google Identity Platform中,我有:

发行人(URL):

及 回调URL:

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

客户端是否需要进行其他配置?问题可能出在OIDC提供程序(keydape)及其配置上吗?

您似乎已在Google Cloud Identity Platform设置(在Google Cloud控制台)中禁用了客户端SDK的用户注册。这在
用户操作
下的
设置
部分。应选中复选框
启用创建(注册)

感谢您的帮助。我的想法是否正确?这使公众能够注册我的应用程序,并且没有办法限制只注册特定提供商的用户?如果您不希望用户创建自己的帐户,而只希望管理员(通过云控制台或管理员sdk)创建用户,则此设置非常有用。这对于企业来说是典型的。您不希望员工创建自己的帐户。明白。我有两类用户:通过组织注册的用户(OIDC和SAML)和使用电子邮件/密码登录的用户。我不想允许后者注册,但必须为所有组启用注册,否则第一组无法登录。我明白了。这是有道理的。目前我认为你不能两者兼而有之。尝试为此提交功能请求:或通过。另一个选项是提前将SAML和OIDC用户上载到Auth项目。这是一个可行的选择吗?
https://myapp-12345.firebaseapp.com/__/auth/handler