샘플 코드에는 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입니다. 실제 토큰 발급이나 키 교체는 수행하지 않습니다.
교육용 예제 코드와 점검 흐름을 설명하는 글입니다. 입력한 대상의 실제 보안 점검 결과가 아닙니다.
이제 결과 화면에서 확인해보세요
샘플 항목 검토하기 →로그인이나 자료 전송 없이 고정 샘플을 볼 수 있어요.