Hide Key

💀LeeSY·2022년 8월 1일
0
post-thumbnail

API & APP Key를 숨기자

  • 카카오 및 구글 API 등 각종 API 연동을 진행하고, 구현 작업을 진행하다 보면 여러가지 API를 사용하게되고, String 값으로 쉽게 노출되어 있다.
  • 이런 경우, 유지보수나 타 작업 중 손실될 가능성이 있으며,
  • 코드에 누구나 접근 가능하여 Key 값에 대한 보안성이 낮아질 수 있다.

어떻게?

  1. local.properties 파일에 해당 Key 값을 명시한다.
sdk.dir=/Users/iseung-yong/Library/Android/sdk
//예시 코드
kakao_native_app_key="73ru29ffe9i99us22e1ca0"
  1. build.gradle에서 properties 객체를 통해 BuildConfig에 등록한다.
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
.
.
.
//BuildConfig에 등록하여 사용
buildConfigField "String", "KAKAO_NATIVE_APP_KEY", properties['kakao_native_app_key']

//Manifest에서 사용하기 위해 @string 형태로 저장
resValue "string", "kakao_native_app_key", properties['kakao_native_app_key']

BuildConfig?

  • gradle 설정값을 java 코드로 접근할 수 있게 하는 클래스
  • build.gradle 변경 후 sync시에도 BuildConfig에 반영되지 않을 경우 Rebuild Project 한 번 수행 후 재확인
  1. 숨김처리한 방식에 따라 아래와 같이 호출할 수 있다.
class GlobalApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        // Kakao SDK 초기화
        KakaoSdk.init(this, BuildConfig.KAKAO_NATIVE_APP_KEY)
    }
}
.
.
.
<data android:host="oauth"
      android:scheme="@string/kakao_native_app_key" />
profile
A little strange but passionate, sincere hard worker.

0개의 댓글

관련 채용 정보