IOS/swift

iOS 구글 로그인 연동

내일도이렇게 2024. 1. 21. 13:40

iOS 14 이상 / GoogleSignIn 7.0.0 버전에 대한 구글 로그인 연동 

1. GoogleSignIn 설치 

   pod 'GoogleSignIn', '7.0.0'

2. 파이어베이스 구글 로그인 설정 

 

3. OAuth 클라이언트 ID 만들기 

https://developers.google.com/identity/sign-in/ios/start-integrating?hl=ko#get_an_oauth_client_id

 

iOS 및 macOS용 Google 로그인 시작하기  |  Authentication  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 iOS 및 macOS용 Google 로그인 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류

developers.google.com

설정한 프로젝트의 OAuth client 클릭하여 클라이언트 ID 와 iOS URL 스키마 두가지 정보를 저장해둔다.

Info.plist 에 행 추가하여 GIDClientId: 클라이언트 ID 를 추가한다. 

 

프로젝트 > Info >URL Types 

+ 버튼으로 추가하여 URL Schemes 에 URL Schemes 에 iOS URL 스키마를 입력한다. 

 

4. 코드 구현하기 

// AppDelegate.Swift    

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return GIDSignIn.sharedInstance.handle(url)
}
// 로그인 호출 
let googleResult = try await GIDSignIn.sharedInstance
                     .signIn(withPresenting: self ?? Root.ViewController(viewModel: Root.ViewModel()))


let authentication = googleResult.user
let authIdToken = authentication.idToken
            
let credential = GoogleAuthProvider.credential(withIDToken: authIdToken?.tokenString ?? "", accessToken: authentication.accessToken.tokenString)
let credentialResult = try await Auth.auth().signIn(with: credential)