我正在尝试将“firebase phone authentication”与ionic结合起来。
但是,坚持一个问题。
我一直>> “找不到主机名匹配”错误
.catch(function (error) {
console.log("error! : " + error);
});"
of login.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
答案 0 :(得分:14)
当您在没有ssl
认证的域中托管您的应用时,可能会发生此错误。然后,您必须在firebase控制台中将您的域列入白名单。
转到Firebase Console -> Authentication -> sign-in-method -> Authorized Domains
并添加您的域名。
默认情况下,localhost
和任何https://
域都列入白名单。
答案 1 :(得分:4)
出现此错误的原因是,当Google在号码上发送otp然后它与您的网站网址匹配时,您的firebase身份验证网址就是您的域名或网站地址匹配,那么它会向您发送otp,否则会出现错误。
要解决此错误,请转到firebase控制台。
go firebase console。
点击身份验证。
点击登录方法。
向下滚动并检查授权域。
添加您实施电话身份验证的网站地址。
答案 2 :(得分:3)
答案 3 :(得分:1)
您应该在这里关注
注意:域需要同时添加:https://www.exam.com和exam.com
要解决此错误,请转到Firebase控制台。
转到Firebase控制台。
单击身份验证。
单击“登录方法”。
向下滚动并检查授权域。
在实现电话认证的位置添加您的站点地址。
答案 4 :(得分:0)
您可以在此链接中找到答案:
https://stackoverflow.com/a/44091221/6120430
不幸的是,使用Firebase JS库的手机身份验证无法在Cordova / Ionic中运行...