Я использую ionic 3 и firebase аутентификацию через facebook.Facebook не возвращает идентификатор электронной почты, если пользователь не предоставил его при регистрации или не проверил его вообще.
Наша система требует предоставления идентификатора электронной почты.Таким образом, в качестве отката мы предлагаем пользователю ввести идентификатор электронной почты.Поскольку на этом этапе мы позволяем пользователю вручную указывать идентификатор электронной почты, необходимо его проверить.
Кажется, что firebase auth sendEmailVerifcation требует, чтобы идентификатор электронной почты уже был в аутентификации.Поскольку наш случай специально обрабатывается, когда этого не хватает, как мы можем использовать эту функцию для проверки идентификатора электронной почты?
Любые другие идеи также приветствуются, чтобы справиться с этим.Для нас это является критическим блокирующим фактором, поскольку люди неправильно используют нашу систему вознаграждений, предоставляя поддельные идентификаторы электронной почты.
Я изучил API sendEmailVerification, но, похоже, он не принимает никаких параметров для ручной передачи идентификатора электронной почты.
constructor(public navCtrl: NavController,
public navParams: NavParams,
private afAuth: AngularFireAuth,
private fb: Facebook,
private platform: Platform,
private core:CoreProvider,
public viewCtrl: ViewController,
private ddlSvc: DoodleDataProvider,
private alertCtrl:AlertController,
private toastCtrl: ToastController) {
//block back button on android
platform.registerBackButtonAction(() => {
},1);
afAuth.authState.subscribe(user => {
console.log("auth subscription finished: with user:" + JSON.stringify(user))
//go back if user could not be retireved or manual logout is set to true
if (!user || core.manualLogout == true) {
return;
}
user.sendEmailVerfication() //problem here when email is null
console.log("initializing user")
this.createUser(user.uid)
});
}