firebase 身份验证/不允许操作

问题描述 投票:0回答:3

这是一个 Angular Web 应用程序。

添加了权限页面截图

我正在尝试使用 firebase 验证移动设备。

在我的 Firebase 控制台 > 身份验证 > 登录方法中,我已启用手机并保存它。

但是当我尝试登录时,它向我抛出一个错误:

auth/operation-not-allowed

sendLoginCode() {
    const appVerifier = this.windowRef.recaptchaVerifier;
    const num = this.firstFormGroup.value.mobileNo
    console.log('num',num);
    firebase.auth().signInWithPhoneNumber(num, appVerifier)
      .then(result => {
             this.windowRef.confirmationResult = result;
        })
      .catch(error => console.log(error));
}
verifyLoginCode() {
    this.windowRef.confirmationResult
      .confirm(this.verificationCode)
      .then(result => {

        this.user = result.user;
        console.log('Login Successfull')

      })
      .catch(error => console.log(error, "Incorrect code entered?"));
  }

https://i.sstatic.net/jITY5.png

javascript firebase firebase-authentication
3个回答
27
投票

您似乎尚未在 Firebase 控制台中启用 Google 登录方法。要解决该问题,请执行以下操作:

  1. 进入 firebase 控制台 (https://console.firebase.google.com/)。
  2. 选择您的项目。
  3. 在屏幕右侧,您会看到一个面板,单击显示“身份验证”的位置。
  4. 进入身份验证菜单后,转到登录方法。
  5. 之后,在标题下方出现的列表中查找 Google 访问提供商,然后单击它。
  6. 然后单击启用按钮。

您可能必须配置一个安全项目 ID(您将在启用按钮下方看到一个下拉列表)。您需要做的是,输入项目中的 android 和/或 ios 客户端 ID,然后点击“保存”。这将告诉 firebase 处理该客户端的登录操作是安全的。

要使用手机登录方法,您需要激活付费套餐。

答案原作者:https://stackoverflow.com/a/65598080/6310260


0
投票

转到 Firebase 中的项目 > 身份验证 > 设置 > 短信区域策略 并允许您希望短信根据应用程序商店中的应用程序可见性发送 OTP 的区域。它对我有用


0
投票

我忘记在 Firebase 控制台中启用

Sign-in providers

firebase

© www.soinside.com 2019 - 2024. All rights reserved.