상황 : JWT 서명에 사용되는 Secret Key 정보는 민감한 정보이기 때문에 시스템 환경 변수의 변수로 등록
- 시스템 환경 변수에 등록한 변수는 application.yml 파일의 Property 명과 동일한 문자열을 사용하지 않도록 주의한다.
만약, 동일한 문자열을 포함하고 있을 때, 정해진 우선 순위에 따라 override되기 때문에, 고려해서 명명을 잘 해주어야할 것 같다.
먼저, Spring Environment에 대해 알아보자.
Spring Environment는 애플리케이션에서 사용되는 모든 Property Source를 관리하는 컴포넌트이다.
Property Source는 애플리케이션에서 사용되는 key/value 쌍의 property를 포함한다.
Spring에서는 OS 환경 변수, Java의 System Property, application.yml 등 다양한 경로를 통해 Property Source를 얻을 수 있고, 정해진 우선 순위가 존재한다.
** 시스템 환경 변수에 등록한 변수는 application.yml 파일의 프로퍼티명과 동일한 문자열을 사용하지 않도록 주의
** 동일한 문자열을 어쩔 수 없이 사용하는 경우라면, Spring Environment의 Property override 우선 순위를 고려해 결과를 예상하고, 적절히 활용하자.
- Ref)
'Develop > Spring' 카테고리의 다른 글
OAuth 2 샘플 애플리케이션 구현 (0) | 2022.11.28 |
---|---|
OAuth2 개요 (0) | 2022.11.25 |
Spring Security + JWT 적용 (로그인 인증, 자격 증명, 검증 구현) (0) | 2022.11.25 |
JWT 개요 (0) | 2022.11.24 |
Spring Security에서 지원하는 표현식(Spring EL) (0) | 2022.11.22 |