💜 Key Point

defaultStrategy, ctx.switchToHttp().getRequest()

💜 Today I Learned

[코드 분석]

  • 기본 전략을 jwt 로 설정하고, session 을 사용하지 않는다.
 PassportModule.register({ defaultStrategy: 'jwt', session: false }),

  • UserInfo 라는 커스텀 데코레이터를 생성한다. ctx.switchToHttp().getRequest() 를 사용하여 HTTP 요청 객체를 가져오고, 해당 객체에서 user 속성을 추출한다. request.user가 존재하면 해당 값을 반환하고, 그렇지 않으면 null을 반환한다.
export const UserInfo = createParamDecorator(
  (data: unknown, ctx: ExecutionContext) => {
    const request = ctx.switchToHttp().getRequest();
    return request.user ? request.user : null;
  },
);

0개의 댓글