先创建一个身份认证模块,在终端,项目所在目录的下面,执行一下 nest generate module 生成一个模块,名字是 auth ,再生成一个控制器,执行 nest generate controller 名字是 auth 放在 auth/controllers 里面,加上一个 --flat 选项。
验证用户身份我们会选择使用 Passport 这个包提供的东西,在给项目安装两个包,npm install 安装一下 passport,另外再安装一下 @nestjs/passport,这个包可以帮我们更方便地在 Nest 项目里使用 Passport 。
回到项目,打开 app.module ,在这个模块的导入这里,添加一个 AuthModule 。
然后打开 auth.module,添加一个 imports ,导入 PassportModule,如果你想配置一下,可以使用 register 这个方法,再提供一个配置选项。
登录接口
打开 auth.controller,在这个控制器里可以定义一个登录接口,去掉 @Controller 装饰器的参数,然后在这个控制器里面定义一个接口,用 @Post 装饰一下,地址是 login ,用 login 这个方法作为这个接口的处理器。在这个方法里面,返回 'logged in' 。
测试
在 Http 客户端,在用户目录的下面新建一个请求,名字是用户登录,方法选择 Post,配置一下请求地址,一个基本的地址,后面加上 login,发送一下这个请求,得到的响应是 logged in 。