用于 signInWithPhoneNumber 的 Firebase AUTH API 导致 400 错误请求

Posted

技术标签:

【中文标题】用于 signInWithPhoneNumber 的 Firebase AUTH API 导致 400 错误请求【英文标题】:Firebase AUTH API to signInWithPhoneNumber is resulting in a 400 bad request 【发布时间】:2018-10-19 02:58:01 【问题描述】:

我正在使用 github 上的基本 firebase 入门套件来测试 firebase 身份验证部分。下面是 firebase 入门工具包链接,其中介绍了使用基本 react 本机应用程序设置 firebase 的步骤。

https://github.com/invertase/react-native-firebase-starter

App.js 已被替换为具有非常简单的表单,该表单将电话号码作为输入并调用 firebase auth API signInWithPhoneNumber() 以发送短信。下面是相关代码

包含所有相关配置详细信息的 Firebase 集成

firebase.initializeApp(
apiKey: '',
authDomain: '<>',
databaseURL: '<>',
projectId: '<>',
storageBucket: '<>',
messagingSenderId: '<>'
);

验证 API 调用

firebase.auth().signInWithPhoneNumber(phoneNumber)
.then(confirmResult => console.log(confirmResult))
.catch(error => this.setState(message: Sign In With Phone Number Error: $error.message));

上述 API 调用 (2) 导致 400 错误请求。 catlog中看到的日志快照如下

05-07 14:04:21.643 3509 6366 W FirebaseAuth: [PhoneVerificationSession] PhoneVerificationSession constructor
05-07 14:04:21.648 3509 4952 W FirebaseAuth: [PhoneNumberAuthPostProcessor] postProcess starts
05-07 14:04:22.284 3509 13712 E Volley : [237] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/identitytoolkit/v3/relyingparty/sendVerificationCode?alt=proto&key=
05-07 14:04:22.286 3509 6366 W FirebaseAuth: [PhoneVerificationSession] onFailure
05-07 14:04:22.451 3509 4952 W FirebaseAuth: [PhoneNumberAuthPostProcessor] postProcess ends

不确定 400 错误请求的原因是什么。任何帮助将不胜感激。

如果需要更多信息来理解问题,请告诉我。

【问题讨论】:

【参考方案1】:

来自 React-Native-Firebase 的 PhoneAuth 方法使用适用于 iosandroid 的原生 Firebase SDK,并且在 iOS 的情况下,仅当您启用推送通知时才支持。我认为对于 android 必须是相同的。但在 iOS 上,你必须加入开发者计划,我认为它需要 100 美元。 React-Native 不支持 javascript SDK 中的 PhoneAuth 方法。

如果您已加入 Apple 开发者计划,请确保您拥有应用程序上推送通知的所有证书。 Youtube 上有很多教程。 如果需要,请尝试捕获错误并将其发布在此处。我也会尝试在github上发布错误。

【讨论】:

感谢您的快速回复。到目前为止,我正在为 android 平台工作,并且启用了推送通知。如何获得更详细的错误? 尝试在控制台打印错误。和error.message。然后去开发工具中检查,并在此处发布它所说的内容。

以上是关于用于 signInWithPhoneNumber 的 Firebase AUTH API 导致 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章

firebase signInWithPhoneNumber recaptcha 客户端已被删除 0

Flutter FireAuth 移除 reCAPTCHA 横幅(WEB)

如何在 Flutter Web 中创建 DOM 元素并使用 ID 声明它

React 本机 firebase 电话号码身份验证在发送短信之前打开 safari。糟糕的用户体验

第一篇 用于测试使用

python 用于生成车库的唯一编号的脚本,用于文本广告系列。一个脚本用于创建XLS文件,另一个脚本用于单独创建