Nest 基于邮件验证码登录

代码:nest-study\email-login

用户填入邮箱地址,点击发送验证码,后端会生成验证码,发送邮件。并且还要把这个验证码存入 redis,以用户邮箱地址为 key。

之后用户输入验证码,点击登录。后端根据邮箱地址去 redis 中查询下验证码,和用户传过来的验证码比对下,如果一致,就从 mysql 数据库中查询该用户的信息,放入 jwt 中返回。

而当使用到一些铭感信息,如邮件授权码,这个信息都该放到配置文件中。nest 中使用 @nestjs/config 包的 ConfigModule 来封装配置。如果用了 .env 文件,需要保证它在 src 下,并且要在 <font style="color:rgb(37, 41, 51);">nest-cli.json</font> 里配置 assetswatchAssets,不然 build 的时候不会复制到 dist 下。

1
2
3
4
5
6
7
"compilerOptions": {
"deleteOutDir": true,
"watchAssets": true,
"assets": [
"*.env"
]
}

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!