IOSのためのFirebaseii認証


これまで、私はFirebaseuiはIOSのアプリケーションにユーザー認証を実装する最も簡単な方法であることがわかりました.このチュートリアルの最後には、いくつかの行のコードを追加するだけで動作します.
名前が示すように、FirebaseUIは、ボックスからログインフローの表示コンポーネントを与えるビルド済みUIで出荷されます.
Firebaseuiは、以下に記載されているほとんどすべての主要なOAuthプロバイダをサポートしています(少なくともこの記事を書く時).
  • メール/パスワード
  • 電話
  • グーグル
  • Facebook
  • Twitter
  • アップル
  • ギタブ
  • マイクロソフト
  • 匿名
  • 簡単にするために、私は電子メール/パスワード認証に固執し、それを実装する方法を示します.

    IOSのアプリにFirebaseを追加
    Firebase SDKをXcodeプロジェクトに追加するには、その製品を使用する前に最初のステップになります.
    この記事を短く保つために、私は他の記事を示すつもりですadd Firebase to the Xcode project 一歩一歩から一歩一歩の手順で.
    FirebaseがXcodeプロジェクトに追加されると、その製品を使用する準備が整いました.

    メールアドレスを有効にする方法
    メール/パスワードのサインを使用するには、私はFireBaseコンソールでそれを有効にするつもりです.
    だから、firebaseダッシュボードに行く→ 認証→ タブで署名し、それをクリックして電子メール/パスワードオプションを開きます.
    次に、有効なボタンを切り替えて保存します.


    インストール
    Firebaseuiメール/パスワード認証を使用するためにプロジェクトにインストールされる必要があるポッドは、ここにあります.
    pod FirebaseUI/Auth
    pod FirebaseUI/Email
    
    Podfileをプロジェクトナビゲータから開き、pod ' firebase/core '行のすぐ下に追加します.
    次に、「プロジェクト」ディレクトリを「ターミナル」ウィンドウで開き、実行します.
    podインストール
    これは、インストールプロセスを完了するには数秒かかります.
    完了したら、我々はFirebaseuiを使用して電子メール/パスワード認証を追加する準備が整いました.

    ユーザ認証ステータスの確認
    最初のステップは、ViewControllerの上部にFirebaseUIをインポートすることです.Swiftファイル.
    import FirebaseUI
    
    計画は・・・
    ユーザーがログインしている場合は、次のようなユーザー情報を表示します.
    電子メール
    表示名
    ない場合は、ログインビューを表示します.
    十分簡単です.
    これをチェックする最良の場所はviewWillOut ()メソッドの中です.名前が示すように、ViewController ()が画面に表示されるときに呼び出されます.
    override func viewWillAppear(_ animated: Bool) {
    }
    
    FireBaseには、ユーザーの認証状態を確認するためのメソッドがあります.
    したがって、このメソッドを単にViewWillOut ()内で呼び出してチェックを行うことができます.
    override func viewWillAppear(_ animated: Bool) {
        Auth.auth().addStateDidChangeListener { (auth, user) in
        }
    }
    
    このメソッドの内部では、クロージャのユーザーパラメーターは、これらの2つの値のいずれかを保持するオプションです.
  • ユーザーオブジェクト
  • ニール
  • override func viewWillAppear(_ animated: Bool) {
        Auth.auth().addStateDidChangeListener { (auth, user) in
            if let user = user {
                self.showUserInfo(user:user)
            } else {
                self.showLoginVC()
            }
        }
    }
    
    ユーザーがログインしているなら、私は安全にそれをunlet構文を使用してunwrapすることができて、私がちょうど瞬間に定義しようとしているshowuserinfo(user : user)関数を呼ぶことができます.
    ユーザがログインしていなければ、showloginvc ()をコールします.
    両方の関数を宣言して宣言しましょう.
    func showUserInfo(user:User) { }
    func showLoginVC() { }
    

    authviewcontroller ()のインスタンスを作成する
    FirebaseUIの一部であるAuthViewControllerを追加しましょう.
    func showLoginVC() {
        let authUI = FUIAuth.defaultAuthUI()
        let providers = [FUIEmailAuth()]
        authUI?.providers = providers
        let authViewController = authUI!.authViewController()
        self.present(authViewController, animated: true, completion: nil)
    }
    
    最初の手順は、FuAuAuthオブジェクトのDefaulTauthUI ()メソッドを実行して、AuthUIオブジェクトのインスタンスを作成することです.
    プロバイダー変数は、fui sign in methodオブジェクトの配列です.email/passwordメソッドの場合、配列内のfuiemaiaan ()をインスタンス化します.
    これは、FacebookやGoogleなどのプロバイダで、より多くの記号を追加することになりますし、残りは魔法になります.
    次に、AuthUIオブジェクトのプロバイダーのプロパティにプロバイダーを割り当てます.
    その後、AuthViewControllerをAuthUIコントローラに呼び出してログインビューコントローラを作成します.
    最後に、show ()メソッドを使用してビュー階層に表示します.

    ときは、アプリを実行すると、それは“電子メールで”ボタンを使用してサインを持つビルド済みのAuth Viewコントローラが表示されます.

    新しいFirebaseユーザーを加えてください
    Continue Reading...