我正在使用firebase电话认证在react ionic应用程序中验证电话号码。它在网页版上运行得很好,但我在iOS上得到了这个错误。
未处理的Promise拒绝:FirebaseError:Firebase:错误(auth/internal-error)。wrapNativeSuper.js
这是我的代码。
import { initializeApp, getApp } from "firebase/app"
import { Capacitor } from "@capacitor/core"
import { getAuth, initializeAuth, indexedDBLocalPersistence } from "firebase/auth"
export const firebaseConfig = {
apiKey: "XXX",
authDomain: "XXX.firebaseapp.com",
projectId: "XXX",
storageBucket: "XXX",
messagingSenderId: "XXX",
appId: "XXX",
measurementId: "XXX"
};
const firebaseApp = initializeApp(firebaseConfig)
let auth
export function getFirebaseAuth() {
if (!auth) {
if (Capacitor.isNativePlatform()) {
auth = initializeAuth(getApp(), { persistence: indexedDBLocalPersistence })
} else {
auth = getAuth()
}
}
return auth
}
export default firebaseApp
这是执行部分。
import { getAuth, RecaptchaVerifier, signInWithPhoneNumber, PhoneAuthProvider } from "firebase/auth";
import { useEffect } from 'react';
import { getFirebaseAuth } from "../firebaseInit";
...
const auth = getFirebaseAuth()
const recaptchaVerifier = new RecaptchaVerifier("recaptcha-container", {
size: "invisible",
},auth);
signInWithPhoneNumber(auth, `+81${phonenumber}`, recaptchaVerifier)
.then((confirmationResult) => {
...
})
我根据本教程在XCode中添加了URL类型。
设置reCAPTCHA验证
1条答案
按热度按时间deyfvvtc1#
以下是在React Ionic应用程序中使用Firebase进行电话身份验证的示例实现:
将
firebaseConfig
对象中的"YOUR_API_KEY"
、"YOUR_AUTH_DOMAIN"
和其他占位符替换为实际的Firebase项目详细信息。在单独的文件
firebaseInit.js:
中设置Firebase配置并初始化Firebase应用程序创建处理电话身份验证的组件
PhoneAuth.js:
主应用组件,使用PhoneAuth组件:
当用户输入他们的电话号码并点击“发送验证码”时,验证码将被发送到他们的手机上。然后,他们可以输入验证码并单击“验证码”以完成身份验证过程。