본문 바로가기
Flutter

[Flutter] 구글/카카오 Login API 구현 - 앱 배포후 수정해야 할 것

by DevJake 2022. 12. 31.

Virtual 디바이스, 그리고 개발용 실물 디바이스로 구글 로그인, 카카오 로그인을 모두 구현 완료하였고, 

구글 플레이 스토어에 앱 배포가 완료된 후, 앱을 다운로드 받아서 실행해보니 

로그인이 안된다. 

더 희한한 것은.. 앱 설치 후 한 30초??? 정도 지나니까 또 로그인이 멀쩡히 된다. 

뭐지? 

근데 또 좀 있다가 다시 해보니 또 안된다. 

 

코드로 로그를 찍어보니... 카카오는 바로 이부분.

OAuthToken token = isInstalled
    ? await UserApi.instance.loginWithKakaoTalk()
    : await UserApi.instance.loginWithKakaoAccount();

 

 

구글 로그인은 이부분. 

final GoogleSignInAccount? googleUser = await GoogleSignIn(signInOption: SignInOption.standard).signIn();

 

 

둘다 로그인으로 유저정보를 가져와야 하는데, 계속 null 이 발생한다. 

 

앱 만들면서 로그인 구현을 위해 각 로그인 제공 사이트에서 앱 프로젝트를 만들고, 

Firebase 에는 SHA 인증서 지문

카카오 디벨로퍼에는 키 해시를 등록했었다. 

개발 단계에서 등록된 인증서 혹은 해시는 내가 개발하던 PC 의 인증서라고 보면 되고, 

앱 배포가 되었으니, 공식 배포한 곳(플레이스토어)의 인증서를 다시 등록 수정해야 한다. 

인증서가 일치하지 않아 정보를 주지 않는 것. 

 

구글플레이콘솔 > 앱 무결성 > 앱 서명 에 가면

SHA-1 인증서 를 찾을 수 있다. 

Firebase 에는 그 인증서를 그대로 프로젝트 > 내 앱 > 디지털 지문 추가 에 복붙해주면 되고, 

카카오 디벨로퍼는 키 해시로 변환 시켜줘야 한다 

터미널로 가서

echo <플레이콘솔에서 복사한 SHA-1> | xxd -r -p | openssl base64

를 입력해서 변환된 키 해시를 카카오 디벨로퍼에 입력해주면 끝. 

 

댓글