샘플 코드에는 JWT 서명 키가 문자열로 들어 있습니다. 코드를 읽는 사람이 키도 함께 볼 수 있는 형태예요. 먼저 이 값이 예제인지, 실제로 사용 중인 키인지 확인해야 합니다.

보관 위치를 바꾸는 일과 키를 교체하는 일

환경변수로 옮기는 수정은 코드에 값을 직접 쓰지 않도록 하는 일입니다. 이미 노출된 실제 키를 무효화하는 일은 별도로 검토해야 해요.

예제 코드 · src/auth/auth.module.ts

JwtModule.register({
  secret: 'DEMO_KEY_NOT_A_REAL_SECRET',
  signOptions: { expiresIn: '15m' },
});

수정 예시

JwtModule.registerAsync({
  inject: [ConfigService],
  useFactory: (config: ConfigService) => ({
    secret: config.getOrThrow('JWT_SECRET'),
    signOptions: { expiresIn: '15m' },
  }),
});
기존 동작은 함께 보존해요

샘플 수정안은 기존 토큰 만료 시간인 15m를 유지합니다. 키 설정만 바꾸면서 관련 동작까지 달라지지 않도록 비교하세요.

검토할 것은 코드 밖에도 있어요

실제 노출 여부, 키 교체 순서, 기존 토큰 처리 방식을 확인하세요. 환경변수가 없는 배포 환경에서 애플리케이션이 어떻게 동작하는지도 확인할 필요가 있습니다.

예시 키는 DEMO_KEY_NOT_A_REAL_SECRET입니다. 실제 토큰 발급이나 키 교체는 수행하지 않습니다.

교육용 예제 코드와 점검 흐름을 설명하는 글입니다. 입력한 대상의 실제 보안 점검 결과가 아닙니다.

이제 결과 화면에서 확인해보세요

로그인이나 자료 전송 없이 고정 샘플을 볼 수 있어요.

샘플 항목 검토하기 →