페스트캠퍼스 프로젝트

보안 기능 고도화 - 환경 변수의 사용

hyeongjune 2024. 12. 22. 23:45

패스트 캠퍼스 프로젝트

환경 변수(Enviornment Variables) 를 활용해 설정값을 외부로 분리한다. YAML 파일에 중요한 정보 노출을 숨길 수 있다. 

spring:
  datasource:
    url: ${LOCAL_DB_URL}
    username: ${LOCAL_DB_USERNAME}
    
  security:
  oauth2:
    client:
      registration:
        kakao:
          client-id: ${KAKAO_OAUTH_CLIENT_ID}
          client-secret: ${KAKAO_OAUTH_CLIENT_SECRET}

여기로 들어간다.

 

1: IDE 를 통한 환경 변수 주입 (운영체제에서 주입)

    modify options -> environment variables

2: Property Override (Spring boot property 직접 주입)

Spring 의 property를 덮어 쓰는 방법으로, 외부 변수명이  아닌 Spring Property 이름을 그대로 사용

트러블 슛팅: Spring Boot Application 실행시 환경변수가 올바르게 작동하였지만, Test코드는 에러가 났다.

결론: 다른 테스트 코드의 환경 변수도 변경해 주어야 올바르게 작동함을 배웠다. 또한 환경변수 설정방법에는 두가지가 있음을 배웠다.