본문 바로가기
개발/flutter

[앱 개발 기록] flutter 카카오 인증 로그인시 invalid android_key_hash or ios_bundle_id or web_site_url 에러 조치

by hyperhand 2023. 12. 28.

요 며칠동안 계속된 삽질로 스트레스가 이만저만이 아닌데 오늘도 역시 에러를 피해갈 순 없었다.

카카오 로그인시 제목과 같은 에러로 로그인이 실패했다.

계속된 삽질 끝에 android 디버그 인증서가 문제임을 확인했다. 기존 디버그 인증서 기준으로 등록된 해시키가 더 이상 유효하지 않기 때문에 생긴 문제로 아래 명령어로 현재의 디버그 인증서에 대한 해시키를 확인 후 카카오 개발자 페이지의 내 애플리케이션 - 앱 설정 - 플랫폼에 키 해시를 등록해주면 된다.

$ keytool -exportcert -alias androiddebugkey -keystore ~/.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 | openssl base64

 

 

하지만 나는 디버그 인증서만 있고, 릴리즈 인증서는 따로 없어서 별도로 만들어줘야 하나 싶었는데 구글링하면 전부 안드로이드 스튜디오를 통해 만드는 방법들만 설명돼 있어서 vscode를 사용하는 나는 해당되지 않는 방법이었다. 안드로이드 스튜디오에서 프로젝트를 로드하면 되지 않을까도 생각해봤지만 왠지 그러다 꼬여버릴 것 같은 느낌에 좀 더 구글링했는데 정답은 역시나 카카오 매뉴얼에 잘 설명돼 있었다.

 

 

나는 구글 플레이 앱 서명을 통해 인증하는 방식을 사용했기에 Google Play Console의 앱 서명 페이지에서 앱 서명 키 인증서 - sha1 인증서 지문을 확인한 후 위 방법대로 base64로 인코딩해서 그걸 키해시에 등록해주면 된다.

Google Play Console 앱서명에서 확인

 

$ echo "sha1 인증서 지문" | xxd -r -p | openssl base64
<keyhash>  # 키 해시 출력

 

출력된 키 해시를 등록

 

반응형