Firebase Authentication
Firebase Authentication には、バックエンド サービス、使いやすい SDK、アプリでのユーザー認証に使用できる UI ライブラリが用意されています。Firebase Authentication では、パスワード、電話番号、一般的なフェデレーション ID プロバイダ(Google、Facebook、Twitter)などを使用した認証を行うことができます。
Firebase Authentication は他の Firebase サービスと緊密に統合されており、OAuth 2.0 や OpenID Connect などの業界標準を使用しているため、カスタム バックエンドと簡単に統合できます。
主な機能
完全なドロップイン認証ソリューションとして FirebaseUI を使用するか、Firebase Authentication SDK を使って 1 つまたは複数のログイン方法を手動でアプリに統合することにより、ユーザーを Firebase アプリにログインさせることができます。
FirebaseUI Auth | |
---|---|
ドロップイン認証ソリューション |
完全なログイン システムをアプリに追加する推奨される方法。 FirebaseUI に備わっているドロップイン認証ソリューションは、メールアドレスとパスワード、電話番号を使用したり、Google ログインや Facebook ログインなどの一般的なフェデレーション ID プロバイダを使用したりしてユーザーをログインさせるための UI フローを処理します。 FirebaseUI Auth コンポーネントには、モバイル デバイスやウェブサイトで、アプリのログインや登録のコンバージョンを最大限に高めるために使用できる、ベスト プラクティスが導入されています。また、アカウント復旧やアカウントのリンクといった、セキュリティの侵害や処理でのミスが起こりやすいエッジケースにも対応しています。 FirebaseUI は、アプリの他の部分の表示スタイルに合うように簡単にカスタマイズできます。また、オープンソースであるため、目的のユーザー エクスペリエンスを自由に実現できます。 |
Firebase SDK Authentication | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
メールとパスワードに基づく認証 | メールアドレスとパスワードを使用してユーザーを認証します。Firebase Authentication SDK には、メールアドレスとパスワードを使用してログインするユーザーを作成して管理するための方法が用意されています。 Firebase Authentication では、パスワードの再設定メールを送信することもできます。 |
||||||||||
フェデレーション ID プロバイダとの統合 | フェデレーション ID プロバイダと統合することで、ユーザーを認証します。Firebase Authentication SDK には、ユーザーが Google、Facebook、Twitter、GitHub アカウントを使用してログインできるようにする方法が用意されています。
|
||||||||||
電話番号認証 | スマートフォンに SMS メッセージを送信してユーザーを認証します。 |
||||||||||
カスタム認証システムとの統合 |
アプリの既存のログイン システムを Firebase Authentication SDK に接続して、Firebase Realtime Database などの Firebase サービスにアクセスできるようにします。 |
||||||||||
匿名認証 | 一時的な匿名アカウントを作成することで、ユーザーにログインを要求することなく認証できる機能を使用します。ユーザーが後から登録することにした場合は、匿名アカウントを通常のアカウントにアップグレードして、ユーザーが前回終了したところから操作を続行できるようにすることができます。 |
仕組み
アプリへのユーザーのログインを行うには、まずユーザーから認証情報を取得します。認証情報には、ユーザーのメールアドレスとパスワードや、フェデレーション ID プロバイダの OAuth トークンなどがあります。次に、取得した認証情報を Firebase Authentication SDK に渡します。Google のバックエンド サービスによって認証情報が検証され、クライアントにレスポンスが返されます。
ログインが成功すると、ユーザーの基本的なプロフィール情報にアクセスしたり、他の Firebase サービスに保存されているデータへのユーザーのアクセスを制御したりできます。提供された認証トークンを使用して、独自のバックエンド サービスでユーザーの ID を検証することもできます。
実装のプロセス
FirebaseUI Auth の使用 | ||
---|---|---|
ログイン方法を設定する | Firebase コンソールで、メールアドレスとパスワードまたは電話番号によるログインや、サポートする任意のフェデレーション ID プロバイダを有効にし、ID プロバイダ側で必要な構成(OAuth リダイレクト URL の設定など)を完了します。 | |
ログイン UI をカスタマイズする | FirebaseUI オプションを設定してログイン UI をカスタマイズしたり、GitHub でコードをフォークしてログイン エクスペリエンスをさらにカスタマイズしたりすることができます。 | |
FirebaseUI を使用してログインフローを行う | FirebaseUI ライブラリをインポートし、サポートするログイン方法を指定して、FirebaseUI ログインフローを開始します。 |
Firebase Authentication SDK の使用 | ||
---|---|---|
ログイン方法を設定する | Firebase コンソールで、メールアドレスとパスワードまたは電話番号によるログインや、サポートする任意のフェデレーション ID プロバイダを有効にし、ID プロバイダ側で必要な構成(OAuth リダイレクト URL の設定など)を完了します。 | |
ログイン方法の UI フローを実装する | メールアドレスとパスワードによるログインの場合は、ユーザーにメールアドレスとパスワードの入力を求めるフローを実装します。電話番号によるログインの場合は、ユーザーに電話番号と、SMS メッセージで受信したコードの入力を求めるフローを作成します。フェデレーション ログインの場合は、各プロバイダで必要なフローを実装します。 | |
ユーザーの認証情報を Firebase Authentication SDK に渡す | ユーザーのメールアドレスとパスワードまたはフェデレーション ID プロバイダから取得した OAuth トークンを Firebase Authentication SDK に渡します。 |
次のステップ
Firebase プロジェクトのユーザーの詳細と、サポートするログイン プロバイダの統合ガイドを確認します。
初めてのご利用ですか?