targetSdkVersion 34로 변경 후. 로그인이 안됩니다

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

Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.

=====
앱 ID : 567582

https://developers.kakao.com/docs/latest/ko/kakaologin/android#set-redirect-uri

AndroidManifest.xml에
여기에 있는 내용대로 되어 있습니다.(변경 없음)
그런데 에러가 발생하여 카카오 로그인을 누를 경우 앱이 떨어집니다.(강제종료)
그래서 try catch를 해본 결과
에러 메시지로
=========*
typeError: Cannot convert object to primitive value
=========*
이렇게 나옵니다.

구글 스토어에서 강제 34로 업그레이드를 안하면 앱이 내려간다고하여 34로 바꿨는데 이렇게 되네요.

방법이 없을까요?

안녕하세요.

해당 오류만으로는 원인을 알기 어렵습니다.
전체 로그를 부탁드립니다.

카카오톡 로그인 버튼을 누를 경우 아래와 같은 로그가 발생합니다.

InputMethodManager                               I  startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
ViewRootIm...eActivity]                          I  destroyHardwareResources: Callers=android.view.ViewRootImpl.performTraversals:3932 android.view.ViewRootImpl.doTraversal:3288 android.view.ViewRootImpl$TraversalRunnable.run:11344 android.view.Choreographer$CallbackRecord.run:1689 android.view.Choreographer$CallbackRecord.run:1698 android.view.Choreographer.doCallbacks:1153 android.view.Choreographer.doFrame:1079 android.view.Choreographer$FrameDisplayEventReceiver.run:1646 android.os.Handler.handleCallback:958 android.os.Handler.dispatchMessage:99 
BLASTBufferQueue                                 D  [ViewRootImpl@7310719[TalkAuthCodeActivity]#2](f:0,a:1) destructor()
BufferQueueConsumer                              D  [ViewRootImpl@7310719[TalkAuthCodeActivity]#2(BLAST Consumer)2](id:1cca00000002,api:0,p:-1,c:7370) disconnect
ViewRootIm...eActivity]                          I  Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)8 dur=8 res=0x402 s={false 0x0} ch=true seqId=0
InsetsSourceConsumer                             I  applyRequestedVisibilityToControl: visible=false, type=ime, host=com.kr.smice/com.kr.smice.MainActivity
ViewRootIm...eActivity]                          I  stopped(true) old = false
ViewRootIm...eActivity]                          D  WindowStopped on com.kr.smice/com.kakao.sdk.auth.TalkAuthCodeActivity set to true
WindowOnBackDispatcher                           W  sendCancelIfRunning: isInProgress=falsecallback=android.view.ViewRootImpl$$ExternalSyntheticLambda19@bc1fbd5
ViewRootIm...eActivity]                          I  dispatchDetachedFromWindow
InputTransport                                   D  Input channel destroyed: '703fb2c', fd=279
Capacitor3KakaoLogin                             E  로그인 실패
                                                    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$1.run(DefaultCallAdapterFactory.java:83)
                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                    	at android.os.Looper.loopOnce(Looper.java:230)
                                                    	at android.os.Looper.loop(Looper.java:319)
                                                    	at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Capacitor                                        D  Sending plugin error: {"save":false,"callbackId":"94105723","pluginId":"Capacitor3KakaoLogin","methodName":"kakaoLogin","success":false,"error":{"message":"AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))"}}
gralloc4                                         I  @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
GPUAUX                                           E  [AUX]GuiExtAuxCheckAuxPath:666: Null anb

기존에 있는 버전을 바꾼것도 아니고 뭐가 문제 인지 알 수가 없습니다.

플랫폼에 등록되지 않은 키 해시 값이 사용되어 KOE009 오류가 발생하였습니다.
현재 테스트 목적으로 빌드하신 앱에서 오류 발생되는 것으로 보이는데요 사용된 키 해시값을 추가 부탁드립니다.

https://developers.kakao.com/console/app/567582/config/platform
여기에 등록된 키해시들과

플레이 구글의 앱서명에서 SHA-1 인증서 지문에 등록된 값을

echo “SHA-1인증서 지문” | xxd -r -p | openssl base64

으로 나온 값과 비교했을때

일치하는 값이 존재합니다.

그리고 33으로 했을때는 로그인이 되었던 현상이 34로 업그레이드하면서 문제가 발생하고 있습니다.(카카오로그인 소스나 버전은 바꾸지 않았습니다.)

로컬에서 빌드한 앱을 테스트 하고 계신게 아니라, 앱스토어에 올린 앱에서 문제가 있다는 말씀이신가요?

둘다 문제가 있습니다.
로컬에서 개발 하는 중에도 문제가 발생하고
구글스토어에 올리고도 문제가 발생합니다.

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

Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.

=====
앱 ID : 567582

https://developers.kakao.com/docs/latest/ko/kakaologin/android#set-redirect-uri

AndroidManifest.xml에
여기에 있는 내용대로 되어 있습니다.(변경 없음)
그런데 에러가 발생하여 카카오 로그인을 누를 경우 앱이 떨어집니다.(강제종료)
그래서 try catch를 해본 결과
에러 메시지로
=========*
typeError: Cannot convert object to primitive value
=========*
이렇게 나옵니다.

구글 스토어에서 강제 34로 업그레이드를 안하면 앱이 내려간다고하여 34로 바꿨는데 이렇게 되네요.

카카오톡 로그인 버튼을 누를 경우 아래와 같은 로그가 발생합니다.

InputMethodManager                               I  startInputInner - IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus
ViewRootIm...eActivity]                          I  destroyHardwareResources: Callers=android.view.ViewRootImpl.performTraversals:3932 android.view.ViewRootImpl.doTraversal:3288 android.view.ViewRootImpl$TraversalRunnable.run:11344 android.view.Choreographer$CallbackRecord.run:1689 android.view.Choreographer$CallbackRecord.run:1698 android.view.Choreographer.doCallbacks:1153 android.view.Choreographer.doFrame:1079 android.view.Choreographer$FrameDisplayEventReceiver.run:1646 android.os.Handler.handleCallback:958 android.os.Handler.dispatchMessage:99 
BLASTBufferQueue                                 D  [ViewRootImpl@7310719[TalkAuthCodeActivity]#2](f:0,a:1) destructor()
BufferQueueConsumer                              D  [ViewRootImpl@7310719[TalkAuthCodeActivity]#2(BLAST Consumer)2](id:1cca00000002,api:0,p:-1,c:7370) disconnect
ViewRootIm...eActivity]                          I  Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) relayoutAsync=false req=(1080,2340)8 dur=8 res=0x402 s={false 0x0} ch=true seqId=0
InsetsSourceConsumer                             I  applyRequestedVisibilityToControl: visible=false, type=ime, host=com.kr.smice/com.kr.smice.MainActivity
ViewRootIm...eActivity]                          I  stopped(true) old = false
ViewRootIm...eActivity]                          D  WindowStopped on com.kr.smice/com.kakao.sdk.auth.TalkAuthCodeActivity set to true
WindowOnBackDispatcher                           W  sendCancelIfRunning: isInProgress=falsecallback=android.view.ViewRootImpl$ExternalSyntheticLambda19@bc1fbd5
ViewRootIm...eActivity]                          I  dispatchDetachedFromWindow
InputTransport                                   D  Input channel destroyed: '703fb2c', fd=279
Capacitor3KakaoLogin                             E  로그인 실패
                                                    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$1.run(DefaultCallAdapterFactory.java:83)
                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                    	at android.os.Looper.loopOnce(Looper.java:230)
                                                    	at android.os.Looper.loop(Looper.java:319)
                                                    	at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Capacitor                                        D  Sending plugin error: {"save":false,"callbackId":"94105723","pluginId":"Capacitor3KakaoLogin","methodName":"kakaoLogin","success":false,"error":{"message":"AuthError(statusCode=401, reason=Misconfigured, response=AuthErrorResponse(error=misconfigured, errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))"}}
gralloc4                                         I  @set_metadata: update dataspace from GM (0x00000000 -> 0x08010000)
GPUAUX                                           E  [AUX]GuiExtAuxCheckAuxPath:666: Null anb

기존에 있는 버전을 바꾼것도 아니고 뭐가 문제 인지 알 수가 없습니다.

https://developers.kakao.com/console/app/567582/config/platform
여기에 등록된 키해시들과

플레이 구글의 앱서명에서 SHA-1 인증서 지문에 등록된 값을

echo “SHA-1인증서 지문” | xxd -r -p | openssl base64

으로 나온 값과 비교했을때

일치하는 값이 존재합니다.

그리고 33으로 했을때는 로그인이 되었던 현상이 34로 업그레이드하면서 문제가 발생하고 있습니다.(카카오로그인 소스나 버전은 바꾸지 않았습니다.)

로컬에서 개발 하는 중에도 문제가 발생하고
구글스토어에 올리고도 문제가 발생합니다.

안녕하세요.

앞서 안내드린바와 같이 빌드한 앱의 키 해시 값이 변경되었으며 이 값이 플랫폼이 등록되어 있지 않아 KOE009 오류가 발생하였습니다.

키 해시는 회원님 개발환경이나 키스토어 , 서명 방식에 따라 변경될수 있지만, 외부 참조 라이브러리인 카카오 SDK에 따라 변경되지는 않습니다. 아래 가이드를 참고 하여 변경된 키 해시 값을 확인하신 뒤, 플랫폼에 추가 부탁드립니다.

시작하기 | Kakao Developers 시작하기 - 키 해시

이와 같이 비교했을때 등록되어있습니다.

위에도 말씀드렸지만 33일때는 정상 작동이 되었습니다.

안녕하세요.

567582 앱의 가장 최근 로그를 보니

지도 사용 시, 아래 오류가 발생 했고

{"msg":"domain mismatched! caller=http://localhost:8082. check out registered web domains.","code":-401}

10월 25일 마지막 카카오 로그인 로그에는 액세스 토큰 발급 시, 위에 안내 받으신 것 처럼 KOE009 에러 발생했습니다.

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

해당 빌드환경의 앱에서 카카오로 전달한 키해시는 아래와 같고 디벨로퍼스 설정에 등록되어 있지 않습니다.

eqhJ+03c6s********************

앱 서명 키 인증서 지문으로 정상적으로 키해시 조회 했는데도 불일치 한다면,
테스트하신 앱이 스토어에 공개배포된 앱이 아니거나 설치된 앱이 다른 빌드환경에서 빌드한 앱일 것으로 추정됩니다.
(구글에서 관리하는 인증서를 변경한 경우도 키해시 불일치될 수 있지만, 변경하지 않았다면 해당 사항 없습니다.)

아래 내용 참고해주세요.

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

답변 잘 받았습니다.

한마디로 키해시가 추가 되지 않았다는 말로 들리는데

아무리해도 못찾겠습니다.

구글플레이콘솔에서 선택된 앱의 설정 > 앱 서명에 있는 SHA-1 인증서 지문의 내용을
echo “” | xxd -r -p | openssl base64 로 하여 나온 값에
eqhJ+03c6s로 시작하는 키해시가 나오지 않습니다.

그리고 로컬에서 개발시나오지 않습니다.

여기에 나와있는 파일로

keytool -exportcert -alias 별칭 -keystore C:\smice.jks | openssl sha1 -binary | openssl base64
한 후 비번을 입력하고 나온 값을 보았습니다.

그런데 그 값도 키해시에 등록 되어 있고
그 키해시는 eqhJ+03c6s로 시작하지 않고 22zNCbM으로 시작하는 값입니다.

구글 배포된 파일도 YFkwueeE로 시작하고 있으며 해당 로그인도 되지 않습니다.

혹시 SDK버전을 33에서 34로 올리면서 키해시를 새로 받아야 하는것인가요?
만약 그렇다면 구글스토어콘솔에서도 서명을 새로 만들어야 하는건가요?

구글 플레이 스토어에 배포되어 있나요? 스토어 URL 알려주시겠어요?

https://play.google.com/store/apps/details?id=com.kr.smice&hl=ko

이게 맞는지 모르겠습니다.

해당 어플에는 카카오 로그인을 시도하려고하면 어플이 강제종료되어서 로그인 버튼을 제거해놨습니다.

버튼이 없군요. 제가 확인해볼 방법이 없어서 도움드릴 방법이 없네요.

운영자 로그인 시, 키해시 로깅되도록 확인하셔서 키해시 확인 해보셔야할 것같습니다.

검토 부탁드려요.

버튼이 없기 때문에 잠시 동안 버튼 활성화해서 버튼을 눌러봤습니다.

2024-10-28일 4시 30분~ 4시 31분 사이쯤에 4~5번 정도 시도를 하였습니다.

그런데
플랫폼 | Kakao Developers 내 애플리케이션
여기서 키해시 로깅 확인은 어떻게 하는지 알수 있을까요?

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

아래와 같이 처리 하시고 적절한 곳에 결과 저장하시면됩니다.

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

해당 시도하신 시간에 액세스 토큰 발급요청이 없습니다. 인가코드요청만 있습니다.

아래와 같은 지도 호출 에러도 발생했구요.
{“msg”:“domain mismatched! caller=http://localhost:8082. check out registered web domains.”,“code”:-401}