Firebase Auth 다루기 (2/3) (구글로그인)
안녕하세요. KataRN입니다.
저번에 알아봤던 이메일 로그인 구글로그인을 알아보겠습니다.
우선 저번시간에 알려드림 기본적인 세팅과 이메일 로그인은 아래 링크를 참고해주세요.
https://katarnios.tistory.com/45
Firebase Auth 다루기(기본, 이메일로그인) (1/2)
안녕하세요 KataRN입니다. 오늘은 Firebase 인증에 대해 설명해드리려고 합니다. Firebase Auth 로 무엇을 할 수 있는가? -> 이것을 이용해서 로그인을 구현 할 수 있습니다. 로그인구현에 필요한것...은
katarnios.tistory.com
Apple 로그인은 아래 링크를 참고해주세요.
https://katarnios.tistory.com/47
Firebase Auth 다루기 (3/3) (Apple 로그인)
안녕하세요. KataRN입니다. 드디어 마지막 애플로그인, 로그아웃, 회원정보 수정 입니다. 더보기 애플은 2019년 애플 로그인 기능을 발표했습니다. 동시에 앱 내에 다른 소셜 로그인 서비스를 사용
katarnios.tistory.com
참고사항
구글로그인의 버튼 이미지는 규격을 지켜야합니다. 아래 가이드라인 참고해주세요~
(https://developers.google.com/identity/branding-guidelines?hl=ko)
0. 사전준비
우선 파이어베이스에 접속(https://console.firebase.google.com/project/_/authentication/users)
그리고 이미지로 설명 드리겠습니다.
이제 코코아팟으로 'GoogleSignIn'을 설치합시다~
해당링크 참고 부탁드립니다.
https://katarnios.tistory.com/23
CocoaPods(코코아팟) 사용법(쉬움주의, 따라만해), Charts라이브러리 설치
안녕하세요 KataRN입니다. 오늘은 코코아팟에 대해 알려드리려고 합니다. 우선 코코아팟이란? "CocoaPods는 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자입니다. 80,000 개가 넘는 라이브러리를
katarnios.tistory.com
그리고 끝이 아닙니다.
저번에 했던 소개했던 글(상단)에서 추가했던 GoogleService-Info를 봅시다.
REVERSED_CLIENT_ID 값을 복사해줍시다.
그리고 프로젝트 -> TARGETS -> Info -> URL Types 추가
그리고 URL_Schemes에 아까 붙여둔 REVERSED_CLIENT_ID값을 넣어줍니다.
구글이 권한을 위임할 서비스를 구분하기 위한 작업입니다.
여기까지 설정이 끝났으면 이제 AppDelegate로 이동합니다.
해당부분 추가해주세요.
1. 구글 로그인
import GoogleSignIn
import Firebase
import FirebaseAuth
@IBOutlet weak var googleBtn: GIDSignInButton!
guard let clientID = FirebaseApp.app()?.options.clientID else { return }
let config = GIDConfiguration(clientID: clientID)
GIDSignIn.sharedInstance.signIn(with: config, presenting: self) { [unowned self] user, error in
if let error = error {
print("ERROR", error.localizedDescription)
return
}
guard let authentication = user?.authentication,
let idToken = authentication.idToken else { return }
//GIDSignIn을 통해 받은 idToken, accessToken으로 Firebase에 로그인합니다.
let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)
Auth.auth().signIn(with: credential) { _, _ in
//로그인화면이동
}
}
이렇게 로그인을 하면 회원정보에 추가됩니다.
2. 로그아웃
@IBAction func logoutBtn(_ sender: UIButton) {
let firebaseAuth = Auth.auth()
do {
try firebaseAuth.signOut()
self.navigationController?.popToRootViewController(animated: true)
} catch let signOutError as NSError {
print ("Error signing out: %@", signOutError)
}
}
3. 암호 재설정(이메일로 링크전송)
let email = Auth.auth().currentUser?.email ?? ""
Auth.auth().sendPasswordReset(withEmail: email, completion: nil)
사실 2, 3번의 내용은 이전글에 같은내용이 있습니다. 참고부탁드립니다.ㅎㅎ
https://katarnios.tistory.com/45
Firebase Auth 다루기(기본, 이메일로그인) (1/2)
안녕하세요 KataRN입니다. 오늘은 Firebase 인증에 대해 설명해드리려고 합니다. Firebase Auth 로 무엇을 할 수 있는가? -> 이것을 이용해서 로그인을 구현 할 수 있습니다. 로그인구현에 필요한것...은
katarnios.tistory.com
오늘도 긴글 읽어주셔서 감사합니다.
다음엔 애플로그인입니다!
감사합니다.