카카오로그인 관련 문의 invalid android_key_hash or ios_bundle_id or web_site_url

카카오로그인 을 구현하여 디버깅, 릴리즈 문제없이 다 마치고

가이드된대로 스토어의 sha-1 로 해시키도 만들어서 앱을 출시 하였는데

invalid android_key_hash or ios_bundle_id or web_site_url 이문제로 로그인이 안됩니다.

key hash 는 아래와 같이 플랫폼 안드로이드에 등록 하였습니다.

FKfF***

WG5***

xDvt***

아래키는 스토어에 등록된 버전의 키를 콘솔 로그로 찍어서 봤을때
xDvt***
이것으로 확인 됩니다.

그런데 nvalid android_key_hash or ios_bundle_id or web_site_url

이 오류가 발생 합니다.

왜 이러는것이며, 어떻게 해결해야 하나요?

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456

안녕하세요
1199366
입니다.

답변 언제쯤 가능하실까요?

문제가 있는 플랫폼은 안드로이드 입니다.

에러 발생하는 앱에서 디벨로퍼스로 전달하는 키해시는
다음과 같은 형태입니다.

gZFIDbN****************

올바른 키해시를 추출하실 수 없다면, 로깅하셔서 확인 부탁드려요.

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

아래 코드에

var keyHash = Utility.getKeyHash(context)
Log.d(TAG, “KeyHash: $keyHash”)

이부분도 포함하여 두번 찍어 봤으나 동일하게
xDvt3q***

이값으로 확인 됩니다.

object KakaoKeyHashUtil {
private val TAG = “KakaoLoginHelper”
fun printKeyHash(context: Context) {
var keyHash = Utility.getKeyHash(context)
Log.d(TAG, “KeyHash: $keyHash”)
try {
val packageInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
context.packageManager.getPackageInfo(
context.packageName,
PackageManager.GET_SIGNING_CERTIFICATES
)
} else {
context.packageManager.getPackageInfo(
context.packageName,
PackageManager.GET_SIGNATURES
)
}

        val signatures = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            packageInfo.signingInfo.apkContentsSigners
        } else {
            @Suppress("DEPRECATION")
            packageInfo.signatures
        }

        for (signature in signatures) {
            val md = MessageDigest.getInstance("SHA")
            md.update(signature.toByteArray())
            val keyHash = Base64.encodeToString(md.digest(), Base64.NO_WRAP)
            Log.d(TAG, "KeyHash: $keyHash")
        }

    } catch (e: Exception) {
        Log.e(TAG, "Unable to get key hash", e)
    }
}

}

스토어에 배포된 앱에서 위와 같은 코드를 넣어서 확인 했으나
계속 “xDvt***” 이 값으로 만 확인 됩니다.

혹시 gZFIDbN… 이값을 알려주실 수는 없으신지요?

가이드 된대로 플레이스토어 콘솔의 키로
echo -n “C43*****” | xxd -r -p | openssl base64
키를 생성해도, 위에 말씀 드린대로 스토어에 배포된 앱으로 keyhash 를 찍어봐도 xDvt3***
이 값에서 전혀 바뀌지 않습니다…,

gZFIDbN… 이키 알려주시면 감사하겠습니다…,

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

안녕하세요.

아쉽지만 키 해시 값을 확인해 드릴 수 없습니다.
로깅하신 정보는 스토어에 배포된 앱이 아닌 로컬 빌드하신 앱에서 추출하신 정보로 보입니다
스토어에 배포 시 Play 앱 서명 정책에 따라 키 해시 값은 변경됩니다.

앞서 안내된 가이드를 참고하시어 키 해시 확인 부탁드립니다.

추가로, 본 글은 공개된 글 입니다.
콘솔 키 및 키 해시와 같은 민감 정보가 유출되지 않도록 부탁드립니다.
(문의 글의 내용은 마스킹 하였습니다.)

스토어에 내려 받은 앱으로 로깅해서 확인한것 맞습니다.
어떤 값이 로컬 빌드 정보로 판단 하시는것 인지요?
xDvt3qzuJl/******* 이것인가요?
gZFIDbN… 이것 인가요?

xDvt3qzuJl/******* 이값은 구글플레이 콘솔의 sha-1 으로 뽑은 키해시 입니다.

비공개 테스트로 앱을 게시하여
var keyHash = Utility.getKeyHash(context)
Log.d(TAG, “KeyHash: $keyHash”)
이렇게 찍어서 봤을때도 xDvt3qzuJl/******* 이값으로 확인됩니다.

정리해서 말씀 드리면

디버그 했을때 확인 되는 키: WG5***

릴리즈 했을때 확인 되는 키: FKfF***

스토어에서 내려받았을때 키: Dvt3qzuJl/*****

이렇습니다.

아래 댓글에 대한 문의 ( 더이상 댓글 달지 못한다 하여 여기에 남깁니다. )
네 알겠습니다. 그렇다면
gZFIDbN…
이값은
1.0.5 버전에서 화인 되는 값일까요?

회원님 앱의 게시일자가 8일 1.0.5로 확인되어 지금 테스트 중이신 걸로 보이는 1.0.6 버전은 로컬 빌드로 판단하였습니다.

키 해시 이슈는 카카오 SDK와 무관한 문제로 아쉽지만 회원님께서 직접 추출 및 확인 하셔야만 합니다.
도움을 드리고자 앞자리 일부는 안내드리고 있으나 전제 정보는 보안상 제공해 드리지 않는점 양해 부탁드립니다.