miinsun
[Spring] API 키 관리하는 방법 본문
지금 만들고 있는 프로젝트에서 카카오, 네이버와 같은 여러 외부 API를 사용해야 되서
따로 API KEY를 관리 할 필요를 느꼈다.
나는 properties 파일을 이용해 API KEY를 숨겨보았다.
빌드 툴은 Maven을 이용했으며, 먼저 파일 구조는 아래와 같다.
1. application-API-KEY.properties 파일 생성
<!- Naver API ->
NAVER-CLIENT=YYYYYYYYYYYY
NAVER-KEY=YYYYYYYYYY
- 필요한 클라이언트 키와 private 키를 적어준다.
- 위는 샘플 코드로 각자 발급된 키 정보를 적어줘야한다.
2. application.properties 파일 수정
#API KEYS
spring.profiles.include=API-KEY
3. .gitignore 파일 수정
### API KEY ###
resources/application-API-KEY.properties
- git을 이용해 프로젝트를 관리한다면 위와 같이 gitignore 파일도 수정해주자
- gitignore에 정의된 파일에 대하여 git이 트랙하지 않게된다.
- 주요한 정보들이 있으면 실수로 원격 저장소에 올리지 않도록 gitignore를 이용하자
4. pom.xml 파일 수정
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
...
</build>
- pom.xml 파일에 resources 내용을 추가한다.
- 프로젝트 빌드 시application-API-KEY.properties를 인식하도록 해준다.
5. API 키 사용
@Component
public class NaverBlogSearchApi {
@Value("${NAVER-CLIENT}")
String clientId;
@Value("${NAVER-KEY}")
String clientSecret;
...
}
- @Component로 빈으로 등록한다.
- @Value("${DATA}) 어노테이션을 이용해 프로퍼티에 정의한 api 값을 불러올 수 있다.
아래 블로그와 다른 블로그들을 참고해가며 내 프로젝트에 맞게 수정했다.
'WebApp > Spring' 카테고리의 다른 글
[JPA-DATA] Validation failed for query for method public abstract java.util.List 해결 방법 (0) | 2022.02.27 |
---|---|
[Spring] 네이버 블로그 검색 API 사용하기 (0) | 2022.02.18 |
[JPA] ORACLE JPA 시퀀스 생성 적용 / ORA-02289: 시퀀스가 존재하지 않습니다 해결 방법 (0) | 2022.02.05 |
[JPA] 복합키 설정 (0) | 2022.02.04 |
[Spring] 한글 파라미터 깨짐 해결 방법 (0) | 2022.02.03 |
Comments