Flutter

Flutter Firebase Google Login (SHA-1)

SallyJ 2023. 6. 12. 16:16

와... SHA-1 하나 때문에 진짜 이틀을 고생고생했다...

Firebase로 Google 회원가입 하는거 만드는데,

관련해서 누군가가 적어놓은 블로그란 블로그는 다 뒤져본거같다 진심...

예전에 React-Native로 앱 만들면서 소셜 연동 회원가입 만들어보기도 했고,

안드로이드 스튜디오로 만들어보기도 했는데,

사실 소셜 연동 한번 해놓고 나면, 그 이후로는 손댈일이 없고(자주 하지 않으니 까먹음),

늘 구글링 해가면서 했었기에 굳이 내가 이걸 여기에 따로 적지 않아도(사실 귀찮았음),

또 다시 쉽게 구글링으로 할 수 있을거라 착각했었다.

 

더 이상 고생하고 싶지 않다...는 마음에 시간들여 깔짝거려본다.

 

터미널에서 키스토어 생성

keytool -genkey -v -keystore ~/원하는이름.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000

keytool -genkey -v -keystore release.keystore -alias androidreleasekey -keyalg RSA -keysize 2048 -validity 10000

후에 첫번째 키스토어 cmd에서 키 조회

keytool -list -v -keystore "C:\work\키스토어 생성한 위치 넣고"\androidKey.jks

 

두번째, 세번째 키스토어 터미널에서 키 조회

keytool -list -v -keystore debug.keystore -alias androiddebugkey

keytool -list -v -keystore release.keystore -alias androidreleasekey

 

이렇게 조회해서 3개의 sha-1키를 firebase에 넣어줬음에도 google 로그인이 안된다...

SHA-1 키가 자꾸만 없다고 빽빽거리며 에러를 보여준다...

...적어넣어 줬잖아

...나한테 왜 그래?

 

또 여기저기 뒤졌다...

그러다 겨우 찾은 다른 방법!

 

나는 윈도우를 쓰는데, 윗 방법은 보통 MAC에서 많이 쓰는 방법이랜다...

하... 심한말,심한말

 

Window에서는 터미널을 열어서

cd android

./gradlew signingReport

이 두개를 순서대로 각각 치고 엔터를 누르니 한방에 끝나네??ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

얻은 SHA-1을 다시 한번 더 Firebase에 넣어줬다.

 

그리고 나서

1,2,3,4, 순서대로 따라하고,

3번 android 밑에 있는 ios 에서도 4번 위치에 있는 GoogleService-Info.plist 를 다운받아준다.

 

그 다음 다운받은 2개 중 먼저 google-services.json 을 워드패드나 Notepad++ 로 열어준다.

Ctrl + a, Ctrl + v 로 전부 복사 후,

프로젝트에서 아래 경로를 따라 찾아가자.

Project > android > app > google-services.json

google-services.json 을 열어서 기존 내용은 싹 지우고 복사한 Text 붙여넣자.

 

안드로이드 해줬으니 이젠 ios 해줘야지...

Project > ios > Runner > GoogleService-Info.plist

똑같이 기존 내용 지우고 다운받은걸로 복붙!!!

그리고나서

Project > ios > Runner > Info.plist

에서

<key>CFBundleURLTypes</key>
   <array>
       <dict>
           <key>CFBundleTypeRole</key>
           <string>Editor</string>
           <key>CFBundleURLSchemes</key>
           <array>
               <string>찾아서 써야해</string>
           </array>
    </dict>
</array>

요 부분을 추가해줘야하는데, [찾아서 써야해] 저 부분은

방금 다운받은 GoogleService-Info.plist 파일에 REVERSED_CLIENT_ID 바로 밑에 있는 string 부분을 찾아 쓰면 된다.

 

이제 설정은 끝났다....

코드만 작성해서 넣어주니 드디어 로그인 완료...