我想将自己的验证链接传递给用户电子邮件(而不是firebaseapp.com
中的默认链接),要编辑该链接,我转到了模板,并从我的项目传递了一条路线。
现在,当我单击电子邮件链接时,emailVerified
的值仍然是false
。我订阅了映射的Observable<User>
,以查看用户的当前状态。
像这样
constructor
中
this.user = this.afAuth.authState.pipe(switchMap(user => {
if (user) {
console.log('is verified:', user.emailVerified);
return this.afs.doc<User>(`users/${user.uid}`).valueChanges();
} else {
return of(null);
}
})
如何发送emailVerification
方法?如下:
public register(register: RegisterDataModel): void {
this.afAuth.auth.createUserWithEmailAndPassword(register.email, register.password)
.then(() => {
const user = this.afAuth.auth.currentUser;
user.updateProfile({displayName: register.username, photoURL: null}).then(() => {
this.setUserDoc(user).then(() => {
user.sendEmailVerification().then(() => console.log('please verify your email'))
.catch((err) => console.log(err));
});
});
}).catch(
(err) => console.log(err));
}
有人知道我在做什么错吗?即使在电子邮件上,链接的格式也不正确。链接像这样到达:
您可能会看到,firebase将localhost链接发送了两次。