用户登录

身份验证策略验证了用户身份以后,会在请求里面包含当前用户相关的数据,下面我们可以定义一个参数装饰器,用它提取在请求里的 user 这个属性的值。

新建一个装饰器,放在 auth/decorators 里面,名字是 current-user.decorator.ts ,在这个文件里导出一个装饰器,名字是 CurrentUser,它的值可以用一下 createParamDecorator ,提供一个方法,第一个参数暂时用不到,第二个参数是 context,它的类型是 ExecutionContext ,在这个方法里声明一个 request,它的值用一下 context.switchToHttp,然后调用 getRequest,获取到请求,最后可以返回 request 里面的 user 。

下面可以用一下这个参数装饰器,打开 auth.controller,在这个 login 方法里面,用一下 CurrentUser 装饰器,把得到的用户交给 user ,类型可以设置成 UserEntity,最后让这个方法返回这个 user 参数的值。

测试

在 Http 客户端测试一下,发送一下这个用户登录请求,通过验证以后,会响应回来当前这个用户相关的数据。

定义获取当前用户的参数装饰器《 Nest.js 企业级后端实践:用户登录 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点