onSubmit(formData) {
if(formData.valid) {
console.log(formData.value);
this.af.auth.createUser({
email: formData.value.email,
password: formData.value.password
}).then(
authState => {
authState.auth.sendEmailVerification();
this.router.navigate(['/login'])
}).catch(
(err) => {
console.log(err);
this.error = err;
})
}
}
Firebaseでは、上記のコードのようにSendEmailVerfication
を設定すると、メールは正常に送信されます。ただし、私のアプリでは、確認メールをクリックしないユーザーとクリックしたユーザーの間に違いはありません。違いが生じる・異なる?
ドキュメントによると、 User
オブジェクトには emailVerified
プロパティが含まれています。
したがって、 signInWithEmailAndPassword
メソッドのpromiseが解決されるユーザー-または onAuthStateChanged
メソッドのコールバックに渡されるユーザー-を検査できます。 emailVerified
の値を確認できます。
firebase.auth().currentUser.emailVerified
を使用できます
これにより、true
またはfalse
が返されます。
ユーザー確認の状態について、firebaseデータベースに属性を追加できます link