카카오 로그인 릴리즈 배포 해시키 문의

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.


SDK 버전 정보 : compileSdk 33 , targetSdk 33 , minSdk 26
디벨로퍼스 앱 ID : 922297

안녕하세요! 카카오 로그인 API 오류 관련 질문 좀 드려도 괜찮을까요?

“debug”, “release”, "플레이스토어 앱 서명 키"의 hash key 값 3개를
모두 카카오 디벨로퍼 콘솔에 등록을 했고

현재 프로가드를 사용 중이라 프로가드 룰도 다 적용을 했는데

플레이스토어가 아닌 디바이스로 debug, release 타입 빌드시 카카오 로그인이 정상동작하지만

앱을 배포했을때 아래 오류가 반환되는데 혹시 제가 놓친 부분이 있을까요…?

[ 오류 ]
AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))

안녕하세요.

기재해주신 오류는 앱에서 전달하는 키해시와 디벨로퍼스 설정에 등록된 키해시가 불일치하는 상황으로
앱에서 전달하는 키해시는 아래와 같습니다.

b2hbT2eNSXp**************

플레이스토어에 앱을 배포했을때 사용되는 키해시는 일반적으로 플레이스토어에서 통해 적용되는데요.

아래 내용 참고해보시겠어요?

Android - Release Key Hash (릴리즈 키해시) 조회 하기

여러가지 방법을 사용해도 키해시를 찾을 수 없다면, 아래와 같이 로깅하셔서 찾으시면 좋을 것 같습니다.

import com.kakao.sdk.common.util.Utility

var keyHash = Utility.getKeyHash(this)

@tim.l

추출했을때 아래와 같이 3개가 추출이 되고 답변 주신

b2hbT2eNSXp**************

키값은 추출이 안 되는데 혹시 이게 문제가 될 수도 있을까요?

플레이스토어에서 아래와 같이 순서로 플레이스토어 키가 갱신이 되었는데
앱 서명 키가 기존 업로드 키를 가지고 서명키를 만들었는데
새로운 업로드 키가 이틀 뒤에 갱신이 되서
플레이스토어의 앱 서명 키/업로드 키가 안 맞아서 그럴 수 있을까요?

[ 플레이스토어 앱 서명 키/ 업로드 키 갱신 순서 ]

  1. 앱 서명 키 인증서 갱신
  2. 2일 후 업로드 키 인증서 갱신
  • 그렇게 생각한 이유 : debug/release를 디바이스에 바로 빌드하면 카카오 로그인이 정상도작하지만, 플레이스토어에 배포하면 카카오 로그인이 해시키 문제로 동작하지 않아서입니다

[ release ]
a4Ilo+2a8x0******************

[ debug ]
i229Y0rG/D******************

[ 플레이스토어 앱 서명 키 ]
qJ0nrh43yN******************

플레이스토어에 앱을 배포했을때
플레이스토어에서 구글 서버에 인증서를 따로 보관 하게됩니다.

그래서 가지고 계신 인증서로는 배포된 앱의 키해시를 구할 수 없고
구글 플레이 스토어의 인증서 지문으로 키해시 구해야하는데요.

배포된 앱 스토어 URL알려주시겠어요?

@tim.l 답변 감사합니다. 현재 “내부 테스트” 만 배포된 상태라 앱 스토어 url이 없습니다… (프로덕트는 한번도 게시한 적 없습니다)

제가 위에서 게시한 "플레이스토어 앱 서명 키"와 말씀 주신 “구글 플레이 스토어의 인증서 지문으로 키해시” 이랑은 다른 건가요?
[ 플레이스토어 앱 서명 키 ]
qJ0nrh43yN******************

플레이스토어에서 아래와 같이 순서로 플레이스토어 키가 갱신이 되었는데
앱 서명 키가 기존 업로드 키를 가지고 서명키를 만들었는데
새로운 업로드 키가 이틀 뒤에 갱신이 되서
플레이스토어의 앱 서명 키/업로드 키가 안 맞아서 그럴 수 있을까요?

플레이스토어에 릴리즈 배포된 앱은 “구글 플레이 스토어의 인증서 지문으로 키해시” 조회 해서 동일한 부분 다른 앱으로 확인했는데요.

“내부 테스트”일때 인증서가 다른 것인지, 말씀하신 것처럼 갱신하셔서 그런것인지는 구글의 정책이라 저도 확인을 해봐야 알것 같아요.

제가 위에서 게시한 "플레이스토어 앱 서명 키"와 말씀 주신 “구글 플레이 스토어의 인증서 지문으로 키해시” 이랑은 다른 건가요?
[ 플레이스토어 앱 서명 키 ]
qJ0nrh43yN******************

구글 플레이 콘솔에서 "앱무결성> 앱 서명키인증서 > SHA-1 인증서 지문"으로 키해시 구하셨다면 동일한것입니다.

@tim.l

그럼 말씀 주신 해결 방법이 카카오 로그인은 안 되지만 앱은 배포가 되니까
배포 됐을때 아래 코드로 나오는 키를 확인하라는 말씀으로 이해했는데 맞을까요?!

import com.kakao.sdk.common.util.Utility

var keyHash = Utility.getKeyHash(this)

네, 맞습니다.

배포된 앱 혹은 내부테스트용 앱을 설치하고 해당 코드로 로깅하셔서 어떤 키해시인지 확인하여

디벨로퍼스 설정에 등록하시면, 카카오 로그인 정상작동되니

로깅하는 방식으로 찾아보셔도 좋을 것 같습니다.

@tim.l 바쁘실텐데 답변 주셔서 감사합니다. 생각하지 못한 방법인데 시도하고 답변 달겠습니다. 감사합니다!

1개의 좋아요

@tim.l 바로 해결 됐습니다. 몇일 고생하고 생각도 못 한 방법이였는데 감사합니다!!

1개의 좋아요