@UserGuard를 사용해서 로그인에 성공하면 req.user로 JWT 토큰의 값을 반환해준다.
다만, Req.user는 Express+JavaScript에서 사용하던 내용이라 TypeScript에서 Type을 찾을 수 없다. NestJs+TypeScript에서 사용하려면 Custom Type을 지정해줘야한다.
주로 types 폴더를 생성하여 코드 작성함
import { JwtDto } from '@modules/user_manage/dto/jwt.strategy.dto';
declare global {
namespace Express {
export interface User extends JwtDto { }
}
}
JwtDto는 JWT의 내부 규칙
export class JwtDto {
uuid:string;
nickname:string;
}
이후 tsconfig.json에 값추가
"compilerOptions": {
"typeRoots": ["./node_modules/@types", "./src/types"],
}