Tenstartgram 보러가기 👉🏻 github
기초 프로젝트 완료! 사실 프로젝트를 진행하면서 틈틈이 트러블 슈팅이나 공부한 내용을 정리해두는 것이 좋지만, 쉽지 않다...차근차근 정리해봐야겠다.
이번 프로젝트에서는 JWT 키를 각자의 application.properties
에 직접 추가해서 테스트 하는 방식으로 진행했다. 하지만 그렇게 하면 보안성에 매우 취약하므로 git에는 jwt.secret=${JWT_SECRET}
형태로만 올리고, 환경 변수로 관리해야 한다고 한다.
환경 변수 방식으로 작성하는 방법은 다음과 같다.
application.properties
에 환경 변수 방식으로 작성한다.jwt.secret=${JWT_SECRET}
이렇게 하면 실제 값은 JWT_SECRET
이라는 환경 변수에서 가져오게 된다.
application.properties
이 있는 폴더에 .env
파일을 생성한 후, 팀원들에게 해당 파일을 따로 공유한다.JWT_SECRET=your-super-secret-key
.gitignore
에 추가해 git에 올라가지 않도록 관리해야 한다.
gradle에 dotenv-java를 추가한다.
dependencies {
implementation 'io.github.cdimascio:java-dotenv:5.2.2'
}
4.JwtUtil
에서 환경 변수를 로드한다.
import io.github.cdimascio.dotenv.Dotenv;
import org.springframework.stereotype.Component;
@Component
public class JwtUtil {
private static final Dotenv dotenv = Dotenv.load(); // .env 파일 로드
private static final String jwtSecret = dotenv.get("JWT_SECRET");
public String getSecretKey() {
return jwtSecret;
}
}
드디어 일주일 간의 기초 프로젝트가 끝났다! 주말을 제외하면 5일 소요되었는데 그 중 절반은 개발, 절반은 에러 해결과 그 외 작업(리드미 작성, git 병합 문제 해결 등)에 쓴 것 같다. 다음부터는 좀 더 꼼꼼히 계획하고, 팀 내에서의 규칙을 명확히 정해야겠다는 생각이 들었다.