[Flutter] Android 마켓 등록 후 카카오 로그인 안되는 문제
이슈 : Flutter 앱에 kakao_flutter_sdk 를 이용해 카카오 로그인을 구현했다.
그런데 개발중에는 잘 되는 카카오 로그인이 마켓에 등록한 후에는 먹통이 되는 문제가 발생했다.
원인: 카카오에 등록하는 Android Key hash 가 앱에 sigining 된 것과 달라서 발생하는 문제였다.
그럼 마켓에 등록하면 왜 달라질까?
마켓에 App bundle 등록 할 때 Google play app signing 기능을 사용하면
Key hash 값이 달라지기 때문이다.
그래서 Kakao Api 사용이 불가능한 것이다.
해결 : 구글 플레이 콘솔에서 SHA1 지문을 찾아 byte -> Base64 로 인코딩해 새로운 키해시를 발급받은 후
카카오 개발자 콘솔에 추가해주면 된다.
자세한 것은 아래 블로그 참고
https://hwanschoi.tistory.com/124
인코딩용 Java 코드
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String contents = "AA:BB:CC:DD:EE:FF:GG:5D:7D:E0:38:5D:C0:16:6B:02:75:CC:DC:9E";
String hashCode;
//오류가 나는 곳 앞에는 (byte) 를 붙여 캐스팅 해줄 것
byte[] buffers = {0xAA, (byte) 0xBB, (byte) 0xCC, 0xDD, 0xEE, (byte) 0xFF, 0xGG, 0x5D, 0x7D, (byte) 0xE0, 0x38, 0x5D, (byte) 0xC0, 0x16, 0x6B, 0x02, 0x75, (byte) 0xCC, (byte) 0xDC, (byte) 0x9E};
hashCode = Base64.getEncoder().encodeToString(buffers);
System.out.println(hashCode);
}
}