[내배캠/39일차] TIL - 뉴스피드 과제 완료

euphony·2025년 2월 20일
0

내일배움캠프

목록 보기
53/66

✅오늘의 한 일

  • 기초 프로젝트 과제 제출 및 발표
  • 스탠다드반 강의 듣기
  • 챌린지반 강의 듣기

💻오늘의 학습

기초 프로젝트 완료

Tenstartgram 보러가기 👉🏻 github

기초 프로젝트 완료! 사실 프로젝트를 진행하면서 틈틈이 트러블 슈팅이나 공부한 내용을 정리해두는 것이 좋지만, 쉽지 않다...차근차근 정리해봐야겠다.

JWT 시크릿 키를 안전하게 관리하기

이번 프로젝트에서는 JWT 키를 각자의 application.properties에 직접 추가해서 테스트 하는 방식으로 진행했다. 하지만 그렇게 하면 보안성에 매우 취약하므로 git에는 jwt.secret=${JWT_SECRET} 형태로만 올리고, 환경 변수로 관리해야 한다고 한다.

환경 변수 방식으로 작성하는 방법은 다음과 같다.

  1. application.properties에 환경 변수 방식으로 작성한다.
jwt.secret=${JWT_SECRET}

이렇게 하면 실제 값은 JWT_SECRET이라는 환경 변수에서 가져오게 된다.

  1. application.properties이 있는 폴더에 .env파일을 생성한 후, 팀원들에게 해당 파일을 따로 공유한다.
JWT_SECRET=your-super-secret-key

.gitignore에 추가해 git에 올라가지 않도록 관리해야 한다.

  1. .env 파일을 환경 변수로 로드하는 라이브러리를 추가한다.

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 병합 문제 해결 등)에 쓴 것 같다. 다음부터는 좀 더 꼼꼼히 계획하고, 팀 내에서의 규칙을 명확히 정해야겠다는 생각이 들었다.

📌내일의 할 일

  • Spring 심화 주차 시작
  • Spring 심화 강의 듣기

0개의 댓글

관련 채용 정보