Today.dev

API KEY 관리 본문

안드로이드/개발

API KEY 관리

otu165 2021. 6. 23. 18:35

코드에서 API KEY를 그대로 노출하는 것은 보안상 좋지 않다. API KEY는 버전 제어 시스템에 등록하면 안 되며, 프로젝트의 루트 디렉토리에 있는 local.properties 파일에 저장하는 것이 좋다.

 

local.properties 파일에 API KEY 저장

1. 우선 Buildconfig 파일이 노출되어선 안되므로 gitignore 파일에 다음 한 줄을 추가해준다. local.properties 는 자동으로 추가되어 있을건데, 없다면 추가해야 한다.

// .gitignore
build/

2. local.properties 파일에 사용할 API KEY 값을 선언한다.

API_KEY="YOUR_API_KEY_VALUE"

3. build.gradle(Module:app)에서 BuildConfig에 변수를 추가한다.

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

android {
	...
    
	defaultConfig {
    	...
        
        // API KEY
        buildConfigField("String", "API_KEY", properties['API_KEY'])
    }
}

 

4. 쉽게 이용하자!

// 내가 사용한 예시
val url = originalHttpUrl.newBuilder()
                .addQueryParameter("api_key", BuildConfig.API_KEY)
                .build();

 

참고로 BuildConfig 는 클래스명 그대로 프로젝트 빌드시 생성된다. build.gradle 에 선언한다고 실시간으로 변수가 생성되지 않으니 잘 만들어졌는지 확인하고 싶다면 프로젝트를 빌드해주세요.

 

 

주의사항

해당 방법은 완벽한 API KEY 관리 방법이 아니다. 다양한 방법이 있는 것 같은데 더 알아보고 추가할 예정이다.


참고

local.properties에 key 숨기기

Android BuildConfig 변수 생성

안드로이드 공식문서

 

 

'안드로이드 > 개발' 카테고리의 다른 글

액티비티 생명 주기  (0) 2021.06.17
Comments