kotlinでFirebaseAuthを使用してアカウント作成 サインイン


はじめに

現在kotlinでチャットアプリを作成中でアカウント作成機能とログイン機能などをつけるためにFireBaseを使用しています。
以下の投稿ではAndroidプロジェクトにFirebaseを追加する方法について記載しました。
https://qiita.com/Oyama-Kohei/items/02e762dcd3203fee2193

今回の記事では前回の続きで実際にアカウントの作成機能 ログイン機能をどのように追加するのかについて、相変わらずのメモクオリティで記載していきます。
自分と同じ駆け出しAndroidエンジニアで勉強でアプリを作ってみたいなという人は是非参考にしていただければと思います。

開発環境

・使用言語:kotlin
・AndroidStudio 4.1.2
・Android Emulator (自分はm1 Macでの開発をしているので以下のものをダウンロードして使用)
https://github.com/google/android-emulator-m1-preview

アカウントの作成(メールアドレス/パスワード)

今回の作成する方式はメールアドレスとパスワードによるアカウント作成方法になります。
Firebaseには他にもGoogle認証を使用するものや電話番号を使用した認証などがありますが、自分はやったことがないので割愛します。(いつかこれもやってみたい)

上であげた別の認証については以下の資料を見てみてください。(安心と信頼の公式ドキュメント)
電話番号
https://firebase.google.com/docs/auth/android/phone-auth?hl=ja

Google認証
https://firebase.google.com/docs/auth/android/google-signin?hl=ja

アカウント作成の方法はズバリ以下です。

FirebaseAuth.getInstance().createUserWithEmailAndPassword(email, password)

    .addOnCompleteListener { task ->
        if (task.isSuccessful) {
            //アカウント作成成功
            Log.d(TAG, "User email address updated.")
        }
    }
    .addOnFailureListener {
        //アカウント作成失敗
    }

こうして作成したアカウントはFirebase上のAuththenticationのusersに反映されています。

作成したアカウントでログインする

サインインの方法についても以下です。簡単ですね。
同様にメールアドレスとパスワードを渡して認証が通ればサインイン完了です。

FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
    .addOnCompleteListener {
        //アカウント作成成功
          Log.d(TAG, "User email address updated.")
        }
    }
    .addOnFailureListener {
        //アカウント作成失敗
    }

ちなみにサインアウトは以下のような感じでできます。もっと簡単ですね。

FirebaseAuth.getInstance().signOut()

まとめ

Firebaseは何かと使い勝手が良くて、フロント勉強中かつバックの知識ほぼ無しな自分でもとっかかりやすかったです。
ほんとはバックのことも勉強したいんですけどね、今はフロントに集中・・・