Flutter Firebase Google Login (SHA-1)
와... 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 부분을 찾아 쓰면 된다.
이제 설정은 끝났다....
코드만 작성해서 넣어주니 드디어 로그인 완료...