如何使用Angular 9的ngOnInit检索用户标识符



我是Angular的新手,我正在创建一个忘记密码链接,当用户与它交互时,它会向他们的电子邮件地址发送一封带有唯一密码令牌的电子邮件,以便他们可以重置密码。我希望能够识别用户,使用他们的用户标识符,并将他们的电子邮件地址与此匹配,然后发送电子邮件。

  1. 我需要将用户标识符或用户电子邮件地址传递到服务中吗
  2. 如何构建ngOnInit

//user.service.ts

public forgotUserPasswordVerification(email: string): Observable<void> { // email or identifier?? 
return this.http.post<void>('api/verifications/forgotpasswordverification', email);
} 

//放弃密码组件.ts

ngOnInit() {
this.userService.forgotUserPasswordVerification(this.email) // this.email or this.identifier?  
.subscribe(data => {
this.success = true;
})};

我认为没有必要为此创建组件。尝试在userService:中实现此逻辑

将用户ID传递给前面的UserPasswordVerification(userId(方法,在该方法中,您应该能够执行2个操作:第一个

let userEmail= this.userService.getUserEmailById(this.id);

然后

this.userService.forgotUserPasswordVerification(this.userEmail)
.pipe(first())
.subscribe(
() => {
this.success = true;
},
(error) => {
// display an error toast maybe
}
);
}

一旦用户单击链接,就在登录组件中调用您前面提到的UserPasswordVerification(userId(方法。

最新更新