【実務編 第2回】Firebaseでユーザー認証

Android

※Claude Codeを使用して記事を作成しています。

シリーズ:Claude Codeで実務Androidアプリ開発

  • 第1回:ログイン機能を作ろう
  • 第2回:Firebaseでユーザー認証 ← 今回

はじめに

前回は画面のUIとバリデーションを実装しましたが、ログイン処理は「形式が正しければ通過する」という仮のものでした。
今回はFirebase Authenticationを導入して、本物のユーザー認証を実装します。

Firebaseとは、Googleが提供するアプリ開発向けのクラウドサービスです。
認証・データベース・ストレージなど様々な機能を提供しており、個人開発レベルであれば無料で使えます

今回実装する内容

機能内容
メール認証メールアドレス・パスワードでの登録・ログイン
GoogleログインGoogleアカウントでワンタップログイン
ログアウトログイン状態を解除する
ログイン状態の保持アプリを再起動してもログイン状態を維持する

事前準備:Firebaseプロジェクトを作成する

1. Firebase Consoleでプロジェクトを作成

  1. Firebase Console にアクセス
  2. Googleアカウントでログイン
  3. 「プロジェクトを追加」 をクリック
  4. プロジェクト名に「MemoApp」と入力
  5. Google Analyticsは今回はオフでOK
  6. 「プロジェクトを作成」 をクリック

2. AndroidアプリをFirebaseに登録

  1. プロジェクトのトップ画面でAndroidアイコンをクリック
  2. パッケージ名com.example.memoapp を入力
  3. 「アプリを登録」 をクリック
  4. google-services.json をダウンロード
  5. ダウンロードしたファイルをAndroid Studioの app フォルダに配置

3. Authenticationを有効化

  1. Firebaseコンソールの左メニューから 「Authentication」 を選択
  2. 「始める」 をクリック
  3. 「メール/パスワード」 を有効化して保存
  4. 「Google」 も有効化して保存(プロジェクトのサポートメールを設定)

Step 1:FirebaseをAndroidプロジェクトに導入する

✍️ Claude Codeへの指示例:

Firebase Authenticationをプロジェクトに導入してください。
google-services.jsonはappフォルダに配置済みです。

必要なライブラリの追加と設定をお願いします。
libs.versions.tomlとbuild.gradle.ktsを使ったバージョン管理で追加してください。

Step 2:メール認証を実装する

✍️ Claude Codeへの指示例:

Firebase Authenticationを使って、メールアドレスとパスワードでの
ログインと新規登録を実装してください。

ログイン画面:
・「ログイン」ボタン押下でFirebase Authにサインイン
・ログイン成功時はメイン画面に遷移
・ログイン失敗時はエラーメッセージをダイアログで表示(例:「メールアドレスまたはパスワードが違います」)

新規登録画面:
・「登録する」ボタン押下でFirebase Authにユーザーを新規作成
・登録成功時はメイン画面に遷移
・登録失敗時はエラーメッセージを表示(例:「このメールアドレスはすでに使われています」)

Step 3:Googleログインを実装する

✍️ Claude Codeへの指示例:

ログイン画面にGoogleログインボタンを追加してください。
ボタンを押すとGoogleアカウント選択画面が表示されて、選択後にFirebaseにサインインされるようにしてください。

ログイン成功後はメイン画面に遷移します。

💡 SHA-1証明書の登録が必要

Googleログインを使うには、Firebaseコンソールにアプリの証明書(SHA-1)を登録する必要があります。
Claude Codeに「SHA-1の取得方法を教えて」と聞くと手順を案内してくれます。

Step 4:ログイン状態を維持する

アプリを再起動してもログイン状態が保たれるようにします。

✍️ Claude Codeへの指示例:

アプリ起動時にFirebaseのログイン状態を確認して、
・すでにログイン済みの場合はメイン画面を表示
・未ログインの場合はログイン画面を表示
するようにしてください。

スプラッシュ画面(起動直後に一瞬表示する画面)を追加して、そこでログイン状態を確認してから遷移先を決める設計にしてください。

Step 5:ログアウト機能を実装する

✍️ Claude Codeへの指示例:

メイン画面の「ログアウト」ボタンを押したとき、
「ログアウトしますか?」という確認ダイアログを表示して、「はい」を押したらFirebaseからサインアウトしてログイン画面に戻るようにしてください。

動作確認チェックリスト

  • [ ] 新規登録でアカウントが作成できる
  • [ ] 作成したアカウントでログインできる
  • [ ] 間違ったパスワードでエラーメッセージが表示される
  • [ ] Googleアカウントでログインできる
  • [ ] アプリを一度閉じて再起動してもログイン状態が維持される
  • [ ] ログアウト後にログイン画面に戻り、再ログインが必要になる
  • [ ] Firebaseコンソールの「Authentication」にユーザーが登録されている

まとめ

学んだことポイント
Firebase導入google-services.jsonを配置してライブラリを追加
メール認証ログイン・登録・エラーハンドリングをセットで実装
GoogleログインSHA-1の登録が必要。Claude Codeに手順を聞ける
ログイン状態管理起動時に状態確認して遷移先を分岐させる
タイトルとURLをコピーしました