2017年6月29日木曜日

Firebase で Anonymous 認証を使う方法

概要

Firebase のアノニマス認証を使ってみました
簡単な利用方法を紹介します

環境

  • macOS X 10.12.5
  • Xcode 8.3.3 (8E3004b)
  • Firebase/Core/Auth 4.0.2

Firebase 側の設定

デフォルトではアノニマス認証はオフになっていて使えません
Firebase のコンソールにログインして有効にする必要があります

Authentication -> ログイン方法 (タブ) -> 匿名

で有効にします
firebase_anonymous1.png

また、アプリの GoogleService-Info.plist をダウンロードしてプロジェクトにコピーしてください
firebase_anonymous2.png

ライブラリインストール

  • pod init
  • vim Podfile
target 'firebase-test' do
  use_frameworks!

  # Pods for firebase-test
  pod 'Firebase/Core'
  pod 'Firebase/Auth'
end
  • pod install

初期化

  • AppDelegate.swift
import UIKit
import CoreData
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FirebaseApp.configure()
        return true
    }
    // 途中省略...
}

import して FirebaseApp.configure() を実行します

ログイン認証

本題です

  • ViewController.swift
import UIKit
import Firebase
import FirebaseAuth

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        Auth.auth().signInAnonymously(completion: { (user, error) in
            if let e = error {
                print(e)
                print("login error")
                return
            }
            print(user?.displayName ?? "no displayName")
            print(user?.isAnonymous ?? false)
        })
    }
}

signInAnonymously を呼ぶ感じです
completion のコールバックメソッドにログイン後のユーザ情報 or エラー情報が返ってきます

最後に

Firebase のアノニマス認証の方法を紹介しました
認証のあとにデータベースなどにアクセスするロジックを実装する感じです

Swift の Firebase のライブラリは現在バージョン 4 ですが、3 から上がった時に非互換な部分が多かったようでググって出たページが古いとクラスがなかったり関数がなかったりと動作しないケースが多かったです
公式のドキュメントですら古いケースがあったので Xcode の補完を使ったりコードを直接見ると良いかもしれません

参考サイト

0 件のコメント:

コメントを投稿