イー・エージェンシーはマーケティングデータ活用でビジネス課題を解決するプロフェッショナル

【Firebase】Firebase Authenticationとは?(1)ユーザー管理

この記事をシェア

Firebase Authentication とは?

ユーザーの作成や管理、ログインの機能を提供してくれるサービスです。

1から実装すると面倒なこれらの機能を、Firebase を利用することでお手軽にアプリに組み込むことができます。

認証方法は、幾つかのものから選ぶことができます。

例えば以下のようなものがあります。

  • メールアドレスとパスワードによる認証
  • GoogleやFacebookのアカウントを使用した認証
  • 電話番号認証
  • 匿名認証

メールアドレスとパスワードによるユーザー作成

機能の有効化

それぞれの認証ごとに、有効化をする必要があります。

Firebase コンソールを開き、画面左のメニューから「Authentication」を選択します。

「ログイン方法」タブを選択します。

「ログイン プロバイダ」の一覧から「メール / パスワード」を選択し、「有効にする」スイッチをオンにして、保存ボタンを押します。

実装

メールアドレスとパスワードを使ったユーザー作成の実装について説明します。

まず、アプリにログイン画面を用意して、「メールアドレス」と「パスワード」の入力欄を設置し、ログインボタンを設置します。

ユーザーがログインボタンを押下したときに、コールバック関数のなかで以下の処理を実行します。

FirebaseAuth mAuth = FirebaseAuth.getInstance();
Task<AuthResult> task = mAuth.createUserWithEmailAndPassword(email, password);
task.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
  @Override
  public void onComplete(@NonNull Task<AuthResult> task) {
    if (task.isSuccessful()) {
      Log.d(TAG, "createUserWithEmail : success");
    } else {
      Log.w(TAG, "createUserWithEmail : failure", task.getException());
    }
  }
});

createUserWithEmailAndPassword 関数に、ユーザーが入力したメアドとパスワードを渡します。

非同期で結果のレスポンスが返ってきますので、成否に応じて続きの処理を行います。

成功した場合は、ユーザーが作られています。

作られたユーザーの確認

作られたユーザーは、Firebase コンソールの「Authentication」画面にて確認できます。

「ユーザー」タブを選択して下さい。

メールアドレスを使って作ったユーザーは、識別子がメールアドレスになっています。

また、プロバイダのところにメールのアイコンが表示されています。

ログイン

アプリにおいて、作成済みのユーザーのメアドとパスワードを使って、ログインをするには、以下のようにします。

FirebaseAuth mAuth = FirebaseAuth.getInstance();
Task<AuthResult> task = mAuth.signInWithEmailAndPassword(email, password);
task.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
  @Override
  public void onComplete(@NonNull Task<AuthResult> task) {
    if (task.isSuccessful()) {
      Log.d(TAG, "signInWithEmail : success");
    } else {
      Log.w(TAG, "signInWithEmail : failure", task.getException());
    }
  }
});

signInWithEmailAndPassword 関数に、メアドとパスワードを渡します。

ログインしていることの確認

現在ユーザーがログインしていることを確認するには、以下のようにします。


FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
if (currentUser == null) {
  Log.d(TAG, "User : null");
} else {
  Log.d(TAG, "User : " + currentUser.getUid());
}

ログインしている場合は、getCurrentUser 関数がユーザー情報を返します。

null が返った場合は、ログインしていません。

ログアウト

ログアウトを行うには、以下のようにします。

FirebaseAuth mAuth = FirebaseAuth.getInstance();
mAuth.signOut();

確認メールを送信する

上述した方法でユーザーを作成した時点では、メールアドレスが認証されていない状態になっています。

以下のコードで、それが確認できます。

FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
Log.d(TAG, "isEmailVerified : " + currentUser.isEmailVerified());

メールアドレスを認証するには、以下のようにします。

FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
currentUser.sendEmailVerification();

sendEmailVerification 関数を実行すると、ユーザーのメールアドレスに確認メールが送信されます。

ユーザーが受信した確認メールの中のリンクを開くと、メールアドレスが認証されます。

なお、確認メールの文言などは、Firebase コンソールの Authentication 画面の「テンプレート」タブの画面で設定することができます

いかがでしたか?イー・エージェンシーでは、Google アナリティクス 360 やサポートをご契約のお客様を対象に、Google アナリティクス for Firebase の導入支援を行っております。
また、アプリとWebのクロスプラットフォーム分析ができるGoogle アナリティクス 4 プロパティ(GA4)の導入支援も行っております。
まずは下記よりお気軽にお問い合わせください。

Google アナリティクス for Firebase ・Google アナリティクス 4 プロパティ(GA4) の導入に関するお問い合わせはこちら

関連リンク

【Firebase】Firebase Authenticationとは?(2)Google認証
【Firebase】Firebase Authenticationとは?(3)SMS認証
【Firebase】Firebase Authenticationとは?(4)Firebase UI

この記事をシェア

この記事を書いた人

アバター

広報・PR・マーケティング担当

このライターが書いた記事を見る

私たちは、データを活用した成果貢献のための支援を行っております。
サービスについてお気軽にご相談・お問い合わせください。

資料ダウンロード

デジタルマーケティングに活用いただける様々な資料を
ダウンロードいただけるようご用意しました。

ご相談・お問い合わせ

私たちは、貴社のビジネス成長のためのデータ活用を支援いたします。
支援内容についてはお気軽にご相談・お問い合わせください

このページの先頭へ