programing

@nestjs/passport를 사용한 Nest.js의 선택적 인증

powerit 2023. 6. 12. 21:56
반응형

@nestjs/passport를 사용한 Nest.js의 선택적 인증

인증된 사용자와 인증되지 않은 사용자가 사용해야 하는 경로가 있습니다.사용합니다@UseGuards(AuthGuard('jwt'))인증을 사용하도록 설정하지만 인증되지 않은 사용자가 경로에 액세스하는 것을 방지합니다(일반).

인증되지 않은 사용자도 경로에 액세스할 수 있도록 하려면 어떻게 해야 합니까?

제가 넘겨줄 수 있는 옵션이 없는 것 같습니다.AuthGuard내 여권 전략에서 그것들을 되찾기 위해.

예를 들어 기존 버전을 확장하여 자체 버전을 만들 수 있습니다.

export class OptionalJwtAuthGuard extends AuthGuard('jwt') {

  // Override handleRequest so it never throws an error
  handleRequest(err, user, info, context) {
    return user;
  }

}

그런 다음 컨트롤러에서 이 옵션을 대신 사용합니다.

@UseGuards(OptionalJwtAuthGuard)

언급URL : https://stackoverflow.com/questions/56173298/optional-authentication-in-nest-js-with-nestjs-passport

반응형