본문 바로가기

일::개발

Flutter: 구글 로그인 sign_in_failed 문제 (feat. google_sign_in)

google_sign_in 패키지(https://pub.dev/packages/google_sign_in)로 구글 로그인 구현할 때 

 

Flutter and google_sign_in plugin: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)

 

이런 exception 나는 경우가 있다. 

 

대부분 firebase console 에 SHA fingerprint가 제대로 등록되지 않아서 발생하는 문제인데, Firebase auth 사용하지 않고 해당 패키지만 사용해서 구글 인증하는 경우에도 firebase console 에 앱 만들고 필요한 정보를 등록해줘야 한다.

 

firebase console 의 안드로이드 Project settings 에 fingerprint 를 등록해줘야 하는데,

디버그모드에서 문제가 발생했다면 ~/.android/debug.keystore 의 SHA1 fingerprint 를 등록해주고, 릴리즈모드에서 문제가 발생했다면 구글 플레이 콘솔에서 릴리즈 바이너리의 SHA1 certificate fingerprint를 등록해준다. 경로는 2022년 5월 기준 Google Play Console - Setup - App Integrity - App Signing 이다. (메뉴 배치나 이름을 자주 바꿔서 언제까지 유지될 지는 모르겠지만)

단, Google Play App Signing을 사용하지 않고 직접 사이닝하는 경우에는 로클 키스토어를 이용해서 fingerprint를 구해야 한다.

fingerprint를 얻는 자세한 방법은 구글링하면 많이 나오니 여기서는 패스.

 

그런데 SHA fingerprint를 제대로 넣어줬는데도 계속 같은 문제가 발생한다면... 

 

1) SHA1 fingerprint가 있는지 다시 한번 확인. (SHA256만 등록되어 있는 경우에 문제 생길 수 있음)

2) firebase project settings 의 General 탭 - Public settings에 support email 입력되어 있는지 확인