SNS 로그인 연동시 확인해야 할 키해시는 아래와 같이 총 3가지가 필요하다.
- debug key hash
- release key hash
- google app signing key hash
디버그모드 (개발자 테스트)용으로 로그인 확인할 때는 debug key hash 가 필요,
release apk 로 로그인 확인할 때는 release key hash 가 필요,
앱을 출시할 때, 구글콘솔에서 google app signing (Google Play 앱 서명) 을 사용 설정 하였을 경우,
google app signing key hash가 필요하다.
뭔지 잘 모르겠다면 3가지 key hash 모두 추출하여 각 SNS콘솔에 등록하면 된다.
key hash 추출전 먼저, 'OpenSSL 설치 및 환경변수 설정' 이 필요하다.
OpenSSL 설치 및 환경변수 설정
OpenSSL 다운로드
: https://sourceforge.net/projects/openssl/
압축해제 후 C폴더로 이동
- 아무폴더나 상관없지만 편의상 C폴더로 이동
환경변수 설정
- Path 부분 에 OpenSSL 폴더 안의 bin 폴더 경로 입력 후 저장
OpenSSL 설치가 완료되었으니 이제부터 hasy key 추출을 진행할 수 있다.
Commnad 창 실행 (윈도키 + R -> cmd 입력 후 enter)
debug key hash 추출
keytool -exportcert -alias androiddebugkey -keystore <debug_keystore_path> -storepass android -keypass android | openssl sha1 -binary | openssl base64
: <debug_keystore_path> 부분에 앱의 keystore 경로 입력
: keystore 경로는 자신이 생성한 키 경로를 적어주면 되는데, 나의 경우 프로젝트 app 폴더안에 저장해서 그 경로를 적어줬음
: 아래 결과의 빨간색 부분이 key hash
release key hash 추출
keytool -exportcert -alias <release_key_alias> -keystore <release_keystore_path> | openssl sha1 -binary | openssl base64
: <release_key_alias> 부분에 key의 alias 값, <release_keystore_path> 부분에 앱의 keystore 경로 입력
: alias 값은 자신이 키 생성시 작성했던 값을 넣으면 됨
: 키 비밀번호 입력
: 아래 결과의 빨간색 부분이 key hash
google app signing key hash 추출
구글콘솔 -> 출시 관리 -> 앱 서명 이동 & SHA-1 인증서 지문 복사
안드로이드 스튜디오 프로젝트 내에 테스트해볼 수 있는 페이지에 아래 함수 추가 후 로그확인.
- SHA-1 인증서를 아래 형식(숫자 앞에 0x만 추가)으로 변환해야 한다.
ex) 14:80:F5 -> 0x14, 0x80, 0xF5 // 중간중간에 빨간줄 끄이는 경우에는 (byte) 라는 형 지정자를 명시하면 된다.
private void getReleaseHashKey() {
byte[] sha1 = {
0x14, (byte) 0x80, (byte) 0xF5, 0x6C, (byte) 0xA9, 0x40, (byte) 0xD0, 0x6E, (byte) 0xF7, 0x0E, 0x28, ....
};
Log.i(StringUtil.TAG, "getReleaseHashKey: " + Base64.encodeToString(sha1, Base64.NO_WRAP));
}
'안드로이드' 카테고리의 다른 글
[Android] 안드로이드 Referrer 추출 (0) | 2020.08.14 |
---|---|
[Android] 인앱결제 예제 (BillingClient 사용) - 관리되는 제품 코드 (3) | 2020.04.14 |
[Android] 인앱결제 예제 (BillingClient 사용) - 판매자 계정 설정 , 아이템 등록 (0) | 2020.04.13 |
[Android] 상태바 색상 변경 (api 21 이상) (0) | 2020.04.09 |
[Android] JSONObject["value"] not a string. 예외 (0) | 2020.04.08 |