java - 从 firebase 在 auth OTP 中获取错误的应用程序名称

标签 java android firebase firebase-authentication one-time-password

比如我的应用名称是酒店管理 OTP是 "543255 是您用于 hotel-management.firebaseapp.com 的验证码。"

并且该应用程序处于 Debug模式,因此根据 firebase 文档,您应该只能获得类似 “543255 是您的验证码。”的 otp。

现在的问题是当用户收到code时onVerificationCompleted方法没有执行,因此需要手动输入OTP。我进行了大量搜索和研究,发现 SMS 模板起着重要作用,但就我而言,这是错误的。如何获取正确的应用名称?

在此先感谢您提供的任何帮助😎

注意:我使用的是最新版本的 firebase auth。

最佳答案

这不是错误的应用程序名称,而是您的 firebase PROJECT_URL。要确认转到 firebase 控制台,然后项目设置检查您的项目 ID 和您的项目 URL 是:Project ID.firebaseapp.com

我遇到了同样的问题,所以在做了一些研究之后我发现了这些原因:

  1. 如果您的设备没有安装播放服务。
  2. 如果您的设备引导加载程序已解锁或您的设备已完全 root。
  3. 它可能与使用 reCAPTCHA 验证程序流程有关。 Firebase 使用此流程来防止滥用,例如通过确保电话号码验证请求来自您的应用允许的域之一。
  4. %PROJECT_URL% 仅在显示 reCAPTCHA 时使用。为了避免这个问题,实现 SafetyNet,避免 reCaptcha。

要实现 safetyNet,请检查这些链接:

https://stackoverflow.com/a/65230860/9942608

https://stackoverflow.com/a/66039511/9942608

关于java - 从 firebase 在 auth OTP 中获取错误的应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66107742/

相关文章:

java - 随机无法识别 Maven 依赖项

Android 查看分页器和列表 fragment

android - 在android中创建自定义布局

java - Firebase_Auth_API 在 API 23 上不可用

java - DB2 对 JDBC 查询中多个 JOIN 响应缓慢

java - 为什么我们在Java中使用静态 block ?为什么我们不能用简单的语句来代替它呢?

java - 如何优化这个?

java - 有没有办法教 Android Studio 中的 java-> kotlin 转换器在转换 findViewById 时不使用 `as` 运算符?

javascript - Firebase 函数通过 appVersion 或 session_start 触发 Analytics?

ios - 使用 Firebase/Google Cloud Functions 推送通知