Google Sign in을 구현하기 위해서는 다음과 같은 단계로 작업을 하면 됩니다.
1. Firebase Console을 통해 프로젝트 생성
2. 생성한 프로젝트에서 iOS, Android App 생성
3. 프로젝트의 Authenthication에서 Google 로그인 항목 활성화
4. Flutter 프로젝트 내에 플러그인 설치
5. 코드 작성
1. Firebase Console을 통해 프로젝트 생성
*
2. iOS, Android App 생성
2-1 iOS
단순히 시뮬레이터에서 구동시킬 거라면 상관없지만, 테스트 폰에서 구동해볼거라면 번들 ID는 자신의 Apple Developer 사이트에 등록한 App ID로 등록해야 합니다.
2-1 Android
Google Sign in 기능을 사용하기 위해서는 Authenthication에서 Google 로그인 항목을 활성화할 때 알림창으로 나오겠지만, 클라이언트 인증을 위한 SHA 인증서 지문을 추가해야 한다.
단순히 테스트용으로 작성해보기 위함이니 https://developers.google.com/android/guides/client-auth 나온 가이드대로 작성해도 무방합니다.
(* 인증서를 생성할 때 비밀번호를 작성하면 다음과 같은 에러메세지가 발생하게 됩니다.
keytool 오류: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:785)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
at java.security.KeyStore.load(KeyStore.java:1445)
at sun.security.tools.keytool.Main.doCommands(Main.java:926)
at sun.security.tools.keytool.Main.run(Main.java:366)
at sun.security.tools.keytool.Main.main(Main.java:359)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:783)
... 7 more
이럴땐 비밀번호를 입력하지 말고 그냥 엔터를 쳐 인증서를 생성하면 됩니다.)
3. Google 로그인 항목 활성화
4. Flutter 프로젝트 내에 플러그인 및 설정파일 추가
4-1. iOS
XCode를 이용하여 iOS프로젝트 플더의 Runner폴더내에 다운로드 받은 GoogleService-Info.plist파일을 넣습니다.
4-2. Android
a, Android프로젝트 내의 /app폴더내에 google-services.json파일을 넣습니다.
b. Android프로젝트 build.gradle파일내에 다음과 같이 dependency를 추가해줍니다.
dependencies {
...
classpath 'com.google.gms:google-services:3.2.1'
}
c. Android프로젝트 /app폴더내의 build.gradle파일 내 제일 하단에 다음과 같이 plugin을 추가해줍니다.
apply plugin: 'com.google.gms.google-services'
4-3. Flutter
pubspec.yaml파일내에 다음과 같이 플러그인들을 추가해줍니다.
firebase_core: ^0.3.0 # add dependency for Firebase Core
firebase_auth: ^0.8.2
cloud_firestore: ^0.9.7
google_sign_in: ^4.0.1
'Dev > Flutter' 카테고리의 다른 글
[web] 개발환경 구축 - Android Studio (0) | 2019.07.22 |
---|---|
Release Build하기 (0) | 2019.07.15 |
[Common] Widget들 (0) | 2019.04.06 |
[iOS] Cocoapods 추가하기 (0) | 2019.04.05 |
[iOS] Bridging-Header 파일 (0) | 2019.04.05 |
댓글