moh*_*moh 6 nestjs nestjs-passport
我创建了身份验证( jwt )并且该过程已正确完成。
我可以使用以下代码访问用户信息,但是使用装饰器无法获取用户信息!
控制器 :
@Post('/me/info')
@UseGuards(AuthGuard())
myInfo(
@GetUser() user,
@Req() req,
) {
console.log(user); // undefined
console.log(req.user); // get user data object
}
Run Code Online (Sandbox Code Playgroud)
我的装饰师是:
import { createParamDecorator } from '@nestjs/common';
import { User } from './user.entity';
export const GetUser = createParamDecorator((data, req): User => {
return req.user;
});
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题?
Nao*_*evi 19
问题出在createParamDecorator
.
自定义装饰器官方手册的摘录:
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
export const User = createParamDecorator(
(data: unknown, ctx: ExecutionContext) => {
const request = ctx.switchToHttp().getRequest();
return request.user;
},
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2977 次 |
最近记录: |