카카오로그인시 AuthError(statusCode=401, reason=Unknown, response=AuthErrorResponse(error=null, errorDescription=null)) 에러 문의드립니다

안녕하세요. 카카오 로그인api를 이용하려 하는데 에러가 발생하여 문의 드립니다.

현재 발생하는 에러는
카카오톡 로그인, 카카오계정으로 로그인 시도시
AuthError(statusCode=401, reason=Unknown, response=AuthErrorResponse(error=null, errorDescription=null)) 에러가 발생하며
error.cause, error.message는 아무것도 출력되지 않습니다.

AndroidStudio 4.4.1, target version 31 사용 중이며
kakaosdk는 com.kakao.sdk:v2-all:2.12.0, com.kakao.sdk:v2-user:2.12.0 사용 중 입니다.

현재 테스트 중인 앱은 release version으로 빌드하여 테스트 중이며,

사전설정 - 플랫폼등록에서 키 해시는
제 로컬 환경의 디버그 키 해시, 앱 릴리즈 키 해시, Google Play Console의 릴리즈 키 해시 3개를 등록했습니다.
또한 카카오sdk로 키 해시를 얻을 때 디버그 키 해시, 앱 릴리즈 키 해시는 서로 동일한 것을 확인했습니다.

카카오 로그인과 OpenID Connect도 활성화 되있으며, 동의항목은 혹시나 영향을 끼치나 싶어 모두 사용 안함으로 변경하였습니다.
또한 앱 내 난독화, 프로가드는 사용중인데

난독화를 해제 했을 때와 해제하지 않았을 때 다음과 같이 에러 메시지 결과가 달랐습니다.
minifyEnabled true shrinkResources true (난독화 해제 X)
AuthError(statusCode=401, reason=Unknown, response=AuthErrorResponse(error=null, errorDescription=null)) 에러
minifyEnabled false shrinkResources false (난독화 해제 O)
AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url)) 에러

초기화는 Kakao developers의 네이티브 앱 키를 이용하여 했고
AndroidManifest.xml에 다음을 등록했습니다.

Redirect URI는 우선 예시의 https://example.com/oauth로 등록해두긴 했는데 영향이 있는건지 궁금합니다.

앱 ID는 623362입니다.

답변 기다리겠습니다. 감사합니다.

안녕하세요.

난독화 예외 처리하지 않으면 에러 메시지도 제대로 처리 안될 수 있는데요.
로그를 보니 KOE009 에러가 발생하고 있습니다.

{"error":"misconfigured","error_description":"invalid android_key_hash or ios_bundle_id or web_site_url","error_code":"KOE009"}

ProGuard 규칙 파일 에 예외처리 해주시고

Kakao Developers

키해시 등록해주세요. KOE009에러는 일치하는 키해시가 디벨로퍼스에 등록되지 않았을때 발생합ㄴ디ㅏ.

Kakao Developers

안녕하세요.
빠른 답변에 감사드립니다.

우선 말씀해주신 대로 난독화 예외 처리를 통해
AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))

메시지가 오는 것까지는 확인을 하였습니다.

하지만 여전히 키해시 값에서 문제가 발생하는 것 같습니다.
보내주신 링크에 따라

디버그키 해시

keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

릴리즈키 해시

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64

앱 서명으로 릴리즈 키 해시
echo “${PRINTCERT}” | xxd -r -p | openssl base64

3개를 통해 추출한 해시키를 모두 등록했으나 여전히 해결이 되지 않고 있습니다.
혹시 가능하시면 서버에서 어떻게 받고 있는지 혹은 제가 다른 방법으로 키를 추출하여 등록해야 하는 것인지 알려주시면 감사할 것 같습니다.

등록한 키는
4TV ~
KUr ~
dqr ~ 입니다

윈도우 버전은 11이고, openssl은 openssl-0.9.8e X64를 사용했으며, 앱 서명 릴리즈 키는 linux환경이 없는 관계로 git bash를 통해 추출하였습니다.

답변 기다리겠습니다. 감사합니다.

안녕하세요.

구글 플레이 콘솔에 앱 올리셨나요?

플레이콘솔에 올리셔서 릴리즈 키 사용하는경우 구글 에서 관리하는 서명키로 키해시 만들어야합니다.

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

앱에서 어떤 키해시가 사용되고 있는지 모르신다면 아래 가이드 참고하셔서 출력된 값으로 확인해주세요.

Kakao Developers

안녕하세요.
빠른 답변에 감사드립니다.

키해시 문제에 관해 해결된 것 같습니다.
image

문서 예시에는 다음과 같이
" = "이 빠져있어서 제가 해시키를 등록할 때 " = "을 제거하고 추가해서 오류가 발생했던 것 같습니다.

해시키 마지막 부분의 " = "을 제거하지 않을 때 에러가 발생하지 않음을 확인했습니다.
도와주셔서 감사합니다.

1개의 좋아요