카카오 로그인 API AuthError 401 관련 문의

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


앱 ID : 928821
kakaologin : ‘com.kakao.sdk:v2-user:2.11.0’
개발 플랫폼 : Android Studio, Kotlin

애뮬레이터에서는 잘 되던 로그인이 디버그 apk와 릴리즈 apk에서 모두 작동하지 않고 있습니다.
카카오톡이 설치되어있는 핸드폰을 사용하여 테스트 해보았으나, 카카오톡이 열리지 않고 웹으로 연결되며 카카오 계정을 입력하는 화면이 나오고, 로그인 버튼을 눌러도 화면이 넘어가지 않고 그대로 머물러 있는 현상입니다.
기존에 debug apk에서 로그인을 성공한 경험이 있고, 그 이후로 로그인 코드는 바뀌지 않았으며 기존에서 패키지명만 변경된 상태입니다.

현재 키 해시는 getHashKey로 찾은 키, keytool 명령어로 찾은 디버그키와 릴리즈키, 구글 플레이 콘솔 서명 키를 입력해두었습니다. 아직 릴리즈 하지 않은 상황입니다.

다음은 발생한 에러 코드입니다.
AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))
at com.kakao.sdk.auth.AuthApiManager$Companion.translateError(AuthApiManager.kt:257)
at com.kakao.sdk.auth.AuthApiManager$issueAccessToken$1.onResponse(AuthApiManager.kt:84)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$retrofit2-DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:89)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$$ExternalSyntheticLambda0.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8167)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

원인을 알 수 있을까요?

안녕하세요.

아래 키 해시 값이 사용되었지만, 플랫폼 정보에는 등록되어 있지 않습니다.

en+d****

키 해시 값을 잘못 확인하신것 같습니다.
확인 부탁드립니다.

Kakao Developers - 키 해시 등록

안녕하세요.

저희 측에서 카카오 로그인 안드로이드 문서에 기재된 해시 키 추출 방식으로 안드로이드 터미널, cmd, git bash, getHashKey 코드 등 온갖 곳에서 해시키를 추출하여 입력해보았으나 여전히 디버그 apk에서 401이 뜨고 로그인이 되지 않는 상태입니다,

이럴 경우 저희가 apk를 추출할 때 서명한 서명 키가 문제가 있는 것일까요? 아니면 다른 방식으로 더 추출할 수 있는 해시 키가 있는 것일까요?

비슷한 현상을 겪고 있습니다. 계속 잘 작동하던 로그인이 코드 수정이 없었음에도 불구하고 갑자기 해시키 관련 에러를 뱉어내네요.

해결되었습니다. 저의 경우 프로젝트 경로 중 디렉토리 이름에 스페이스바가 포함되어 발생한 문제로 보여집니다.

@yjin1100 @anon17267893
안녕하세요.

키 해시 관련 오류는 대부분 잘못 확인된 키 해시 값을 디벨로퍼스에 등록하여 발생합니다.
아래 가이드대로 키 해시 값 확인 부탁드립니다.

Android | Kakao Developers Android - 키 해시 등록

만약, 키 해시 값 확인이 어려우시다면, SDK를 이용하여 확인 가능하니 참고 부탁드립니다.

KakaoSdk.init() 한 뒤에 KakaoSdk.keyHash 값 확인
1개의 좋아요

안녕하세요,

알려주신대로 카카오 SDK 초기화 후 키 해시 값(KakaoSdk.keyHash)과 안드로이드 디버그 키 해시값 명령어

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

를 입력했을 때 모두 동일한 결과로

zYizHM**********************

이 출력되었고, 이를 플랫폼에 기재하였으나 여전히 debug apk에서 로그인이 실행되지 않습니다.

Utility.getKeyHash() 함수를 사용하여도, 해당 프로젝트의 Sha1키로 해시값을 추출하여도 동일한 값이 나왔습니다.

zYizHM**********************

위 키 해시값은 등록되어 카카오 로그인 정상처리 확인하였습니다.
다만, 현재 사용되며 KOE009 오류가 발생하는 키 해시 값은 lUHcCC**** 입니다.

zYizHM**** 값만 확인 되신다면, 키 해시 추출을 잘못하셨기에 발생하는 현상으로 다시 확인 부탁드립니다.

@store

아래 내용 참고하셔서 앱에서 사용되는 키해시 로그로 먼저 확인해주세요.
여전히 안된다면 앱ID 기재해주세요.

Android 키해시 문제 종합 안내 - 릴리즈키해시, 디버그키해시

eUB9fYwu*******************
S2OnbGC*******************

앱에서 전달하지만 디벨로퍼스 설정에 없어 에러발생한 키해시는 위 두개입니다.
로깅으로 확인하셔서 등록해주세요.

위에 안내드린 링크에 기재 되어있습니다.

[Android]
import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)

[Flutter]
print(await KakaoSdk.origin);

signed 번들하면 안되고 시뮬돌릴때 hash키 확인 하면 됩니다.