.env 파일이 있는 JWT 비밀이지만 NESTJS에서 오류가 발생합니다.
오류가 발생했습니다
최근 프로젝트를 시작하면서
NestJS
를 연구하게 되었다.JWT
모듈을 .env
파일을 사용하여 문제를 해결하기 위해문제 해결 방법
아무리 코드를 뒤져봐도 어떤 문제가 겉보기엔 아무래도 구글링을 시작했을 때
다음과 같은 해결책을 찾을 수 있었습니다.
코드 이전
기존의 내 코드는 다음과 열입니다.
// in auth.module.ts
JwtModule.register({
secret : process.env.JWT_SECRET,
signOptions: {
expiresIn: 60 * 60
}
}),
이 코드는 .env에 있는 JWT Secret을 불러와 사용하는 코드로,
env 변수를 불러오는 관련 애플리케이션이 실행되는 것은 잔디 처리라는 것을 알게 되었습니다.
따라서
JwtModule
에서 다음과 같은 방법을 지원했다.JwtModule.registerAsync({})
적용되는 논의는 환경논리를 설명할 때까지 모듈 설정을 유보할 수 있도록 도와줍니다.
따라서 다음과 같이 작성하여 해결했습니다.
코드 후
JwtModule.registerAsync({
// .env 에 등록되어 있는 것을 가져오는것이 비동기 작업이므로, 초기화 시에 env 요소를 못불러온 상태일 수 있음.
// 따라서 registerAsync, ConfigService 를 사용해 동기적으로 작업함
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
secret: config.get<string>('JWT_SECRET'),
signOptions : {
expiresIn: 60 * 60
}
})
}),
반전 같은 뉴비 개발자들에게 도움이 되고자 합니다.
Reference
이 문제에 관하여(.env 파일이 있는 JWT 비밀이지만 NESTJS에서 오류가 발생합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/phantolajang/jwt-secret-with-env-file-but-error-occur-in-nestjs-2l0p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)