しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Firebase Authでユーザー管理をする

こちらを参考にFirebaseの初期設定をします。

【iPhone】FirebaseのAnalytics機能を導入してみる - しめ鯖日記

次にCocoaPodsでFirebase/Authをインストールします。

use_frameworks!
pod "Firebase"
pod "Firebase/Auth"

インストールが終わったらメールアドレスを使ったユーザー作成をしてみます。

import Firebase

FIRAuth.auth()?.createUserWithEmail("xxx@xxx.xxx", password: "password", completion: { user, error in
    print(user)
    print(error)    
})

ログにエラーが出なかったところを見ると無事に登録できたようです。

f:id:llcc:20160605190553p:plain

Firebase上でも作成されているのが分かります。

f:id:llcc:20160605190538p:plain

この状態で更に会員登録しようとするとエラーになります。

f:id:llcc:20160605191122p:plain

現在既にログインしているかはcurrentUserで取得できます。

FIRAuth.auth()?.currentUser

ユーザーは様々なプロパティーを持ってます。

FIRAuth.auth()?.currentUser?.uid
FIRAuth.auth()?.currentUser?.displayName
FIRAuth.auth()?.currentUser?.email
FIRAuth.auth()?.currentUser?.photoURL
FIRAuth.auth()?.currentUser?.providerID

ログインはsignInWithEmailメソッドを使います。

FIRAuth.auth()?.signInWithEmail("xxx@xxx.xxx", password: "password", completion: { user, error in
    print(user)
    print(error)
})

ログアウトはsignOutメソッドです。
例外を投げる事があるのでtryが必要になります。

_ = try? FIRAuth.auth()?.signOut()

他にもGoogle/Twitter/Facebookログインなどもサポートしているようです。