我正在尝试将“firebase电话认证”与离子结合起来。
但是,卡在一个问题。
我一直收到**“未找到主机名匹配”**错误,来自
.catch(function (error) {
console.log("error! : " + error);
});"
登录名.ts(如下)
import { Component } from '@angular/core';
import { IonicPage, NavController, AlertController } from 'ionic-angular';
import firebase from 'firebase';
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
public recaptchaVerifier:firebase.auth.RecaptchaVerifier;
constructor(public navCtrl: NavController, public alertCtrl: AlertController) {}
ionViewDidLoad() {
this.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-
container');
}
signIn(phoneNumber: number){
const appVerifier = this.recaptchaVerifier;
const phoneNumberString = "+" + phoneNumber;
firebase.auth().signInWithPhoneNumber(phoneNumberString, appVerifier)
.then( confirmationResult => {
let prompt = this.alertCtrl.create({
title: 'Enter the Confirmation code',
inputs: [{ name: 'confirmationCode', placeholder: 'Confirmation Code' }],
buttons: [
{ text: 'Cancel',
handler: data => { console.log('Cancel clicked'); }
},
{ text: 'Send',
handler: data => {
confirmationResult.confirm(data.confirmationCode)
.then(function (result) {
}).catch(function (error) {
});
}
}
]
});
prompt.present();
})
.catch(function (error) {
console.log("error! : " + error); // <------------The place that informs this error.
});
}
}
此错误在reCAPTCHA解决后不久发生
为什么会发生这种情况?
--初始化Firebase
--login.html
6条答案
按热度按时间pdkcd3nj1#
当你在没有
ssl
认证的域中托管你的应用时,可能会发生此错误。然后你必须在firebase控制台中将你的域列入白名单。转到
Firebase Console -> Authentication -> sign-in-method -> Authorized Domains
并添加您的域名。默认情况下,
localhost
和任何https://
域都被列入白名单。添加您当前用于测试此应用的任何子域。
lfapxunr2#
发生此错误是因为当谷歌发送OTP的数字,然后它匹配您的网站URL和您的firebase认证URL是您的域或网站地址匹配,然后它发送给您OTP否则错误发生。
要解决该错误,请转到firebase控制台。
1.去火力控制台。
1.单击“身份验证”。
1.单击“登录方法”。
1.向下滚动并选中“授权域”。
1.添加实现电话身份验证的站点地址。
sq1bmfud3#
您应该在此处执行以下操作:
注意:域需要同时添加:与exam.com之间的链接
要解决该错误,请转到firebase控制台。
1.去火力控制台。
1.单击“身份验证”。
1.单击“登录方法”。
1.向下滚动并选中“授权域”。
1.添加实现电话身份验证的站点地址。
fzwojiic4#
转到Firebase〉选择您的项目〉身份验证〉登录方法〉向下滚动-〉在“授权域”部分下添加您的域。
按照照片说明操作:
fkaflof65#
对于新的firebase Jmeter 板
转到Firebase〉选择您的项目〉身份验证〉设置,在域下,您将找到授权域。
输入要添加并保存的域
pgpifvop6#
您可以在此链接中找到答案:https://stackoverflow.com/a/44091221/6120430
不幸的是,使用Firebase JS库的电话身份验证将无法在Cordova/Ionic中工作。