Android
[Android] 카카오 로그인 API 사용 시 AUTHORIZATION FAILED invalid android_key_hash or ios_bundle_id or web_site_url 에러 해결
참깨빵위에참깨빵_
2020. 10. 31. 15:18
728x90
반응형
이 에러는 카카오 디벨로퍼에 등록한 키해시와 안드로이드 스튜디오에서 구한 키해시가 서로 일치하지 않을 때 발생하는 에러다.
먼저 안드로이드 스튜디오에서 해시키를 구해야 한다. 아래 메서드를 액티비티에 만들고 onCreate()에서 호출하면 로그캣에 해시키가 뜰 것이다. 그럼 이것을 복사해두자.
private void getHashKey()
{
PackageInfo packageInfo = null;
try
{
packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
if (packageInfo == null)
Log.e("KeyHash", "KeyHash:null");
for (Signature signature : packageInfo.signatures)
{
try
{
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
catch (NoSuchAlgorithmException e)
{
Log.e("KeyHash", "Unable to get MessageDigest. signature=" + signature, e);
}
}
}
그 다음 카카오 디벨로퍼로 가서 왼쪽의 메뉴 중 앱 설정 밑에 있는 플랫폼을 클릭한 후 수정을 누른다.
수정을 누르면 패키지명, 마켓 URL, 키 해시를 수정할 수 있는 작은 창이 생긴다.
키 해시에 로그캣에서 구한 해시키를 복붙한 다음 확인을 눌러 수정한 후, 다시 카카오 로그인 버튼을 눌러 API 사용을 시도하면 성공적으로 실행된다.
반응형