카카오 키 해시 가이드 https://developers.kakao.com/docs/latest/ko/android/getting-started#before-you-begin-add-key-hash
구글 Play Console 앱 서명 사용 안내 https://support.google.com/googleplay/android-developer/answer/9842756?hl=ko
들어가기 전에
키해시는 설치된 앱에서 카카오로 전달하는 값으로 다른 환경에서 빌드했다면 다른 값이 전달됩니다.
구글에 등록된 인증서를 변경한 경우 키해시가 잘못 구해지는 경우가 있으므로 구글에 문의하여 확인합니다.
키해시를 잘 등록했는데 안되는 경우는 없으므로, 정상작동하지 않는다면 코드로 로깅해서 키해시 구하는 방법이 가장 확실합니다.
[Android]
import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)
[Flutter]
print(await KakaoSdk.origin);
1. 에러 표기
“잘못된 접근입니다. 인증에 실패하여 페이지에 접근할 수 없습니다. 해당 기능을 제공한 서비스 관리자에게 문의해주세요.”
{
message: "
AuthError(
statusCode=401,
reason=Misconfigured,
response=AuthErrorResponse(
error=misconfigured,
errorDescription=invalid android_key_hash or ios_bundle_id or web_site_url))"
}
2. 릴리즈 키해시 조회
구글 플레이 콘솔에 앱 배포 시, 앱 서명 키는 일반적으로 구글에서 관리하므로 릴리즈 키해시는 "구글 플레이 콘솔"에서 "SHA-1 인증서 지문"을 가져와 Base64로 인코딩 해야합니다.
반드시 앱 서명 키 인증서에서 지문을 가져와야합니다.
키해시 생성
- Open SSL DownLoad : https://code.google.com/archive/p/openssl-for-windows/downloads
- command 창에서 openssl 실행되면 정상
"SHA-1 인증서 지문"을 복사해서 Command 창에 다음과 같이 입력합니다.
echo "{SHA-1 인증서 지문}" | xxd -r -p | openssl base64
3. 디벨로퍼스 설정에 키해시 등록
4. 문제 사례
- windows powershell 에서 SHA-1 인증서 지문 변환 시, 다르게 변환되는 사례가 있습니다.
아래 Git Client 설치하시면 bash 라는 명령 실행 도구가 같이 설치됩니다.
윈도우에서 리눅스 명령어를 사용할 수 있으며, 정상 변환 되는 것 확인됨.
https://git-scm.com/downloads
-
낮은 Open SSL 버전 사용 시, 잘못 변환된 케이스 확인됨.
-
공개 배포된 앱이 아닌 비공개 테스트, 내부테스트는 구글 플레이 콘솔에 설정하신 방법에 따라 다른 키해시 적용될 수 있으므로 SHA1 인증서 지문으로 변환된 키해시가 일치 하지 않는경우
구글에 문의 하거나 앱내 키해시 로깅하셔서 확인 권장합니다.
[Android]
import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)