유저 기반 서비스를 위해 필수로 작업해야 하는 서비스. Private Repository로 운영합니다.
메뉴얼
로그인 화면 개발
로그인 버튼이 있는 ViewController는 FirebaseAuthenticationViewController 를 상속받습니다.
import UIKit
open class FirebaseAuthenticationViewController: UIViewController {
@IBAction open func didTappedSignInWithAppleID() {
FirebaseAuthentication.shared.signInWithApple()
}
@IBAction open func didTappedSignInWithAnonymous() {
FirebaseAuthentication.shared.signInWithAnonymous()
}
@IBAction open func didTappedSignInWithGoogle() {
FirebaseAuthentication.shared.signInWithGoogle(from: self)
}
}
Swift
복사
현재 Apple, Google, Anonymous, Facebook 로그인을 제공합니다. Naver와 Kakao 는 높은 우선순위로 지원 예정
Notification 수신
public enum FirebaseAuthenticationNotification: String {
case signOutSuccess // 로그아웃 성공
case signOutError // 로그아웃 오류
case signInSuccess // 로그인 성공
case signInError // 로그인 오류
case linkUserSuccess // 계정 연결 성공
case linkUserError // 계정 연결 오류
public var notificationName: NSNotification.Name {
return NSNotification.Name(rawValue: self.rawValue)
}
}
Swift
복사
FirebaseAuthentication의 기능 이용시 결과를 NotificationCenter를 이용해 처리합니다.
ex) 로그인 화면에서 로그인 요청 후 signOutSuccess 가 수신되면 다른 화면으로 전환합니다.
TODO
•
Naver, Kakao 로그인 서버 구현
•
앱 삭제 후 재설치 시 기존 토큰 남아있는 오류현상 풀기