邮箱验证码校验失败时,抛出403错误

This commit is contained in:
秦秋旭 2023-03-02 15:16:50 +08:00
parent 7e5a1c589d
commit faf34c241b

View File

@ -68,11 +68,16 @@ export class EmailService {
return { token, userId: user?.id }
}
// TODO 邮箱使用缓存而不是jwt来验证正确性和时效性校验成功后要让验证码失效。set-cookie而不是在body返回
async verifyEmailCode(data: EmailVerifycationDto) {
const { token, verifyCode, email, scene } = data
const payload = this.jwtService.verify<EmailSendDto>(token, {
secret: this.getEmailJwtSecret(verifyCode, scene),
})
const payload = await this.jwtService
.verifyAsync<EmailSendDto>(token, {
secret: this.getEmailJwtSecret(verifyCode, scene),
})
.catch((err) => {
throw new ForbiddenException(err.message)
})
if (payload.email !== email || payload.scene !== scene) {
throw new ForbiddenException('邮箱验证码验证失败')
}