ユーザーの管理クラス(AuthHelper)

Firebase Authenticationの概要

ユーザーを管理するためのツール

iOS で Firebase Authentication を使ってみる

できること

  • アカウントの作成(メール、SMS、Twitter認証など)
  • ユーザーに自動的にIDが割り振られる
  • IDを使ってデータベースへのアクセス管理

 

コールバックの使い方

func testFunc(callback: (String) -> Void) {
    //2.データを渡す(情報を伝える)
    callback("hello world")
}

//1.呼び出し(電話をかける)
testFunc({ message in
    //3.データを受け取る(情報を受け取る)
    print(message)
})

 

完成したコード

import Foundation
import Firebase
import FirebaseAuth

class AuthHelper {
    
    func createAccount(email:String,password:String,result:@escaping(Bool) -> Void){
        Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
            if error == nil {
                result(true)
            } else {
                print("create-account:\(error!)")
                result(false)
            }
        }
    }
    
    func login(email:String,password:String,result:@escaping(Bool) -> Void){
        Auth.auth().signIn(withEmail: email, password: password, completion: {
            authResult, error in
            if error == nil {
                result(true)
            } else {
                print("signin:\(error!)")
                result(false)
            }
        })
    }
    
    func uid() -> String {
        guard let user = Auth.auth().currentUser else { return "" }
        return user.uid
    }
    
    func signout(){
        do {
            try Auth.auth().signOut()
        } catch {
            print("Error signing out")
        }
    }
    
}

コメント

タイトルとURLをコピーしました