Firebase 認証
Firebase Authentication は、アプリに対してユーザーを認証するためのバックエンド サービス、使いやすい SDK、既製の UI ライブラリを提供します。パスワード、電話番号、Google、Facebook、Twitter などの一般的なフェデレーション ID プロバイダーを使用した認証をサポートしています。
Firebase Authentication は他の Firebase サービスと緊密に統合されており、OAuth 2.0 や OpenID Connect などの業界標準を活用しているため、カスタム バックエンドと簡単に統合できます。
Firebase Authentication with Identity Platformにアップグレードすると、多要素認証、ブロック機能、ユーザー アクティビティと監査ログ、SAML と一般的な OpenID Connect のサポート、マルチテナンシー、エンタープライズ レベルのサポートなどの追加機能のロックが解除されます。
主な機能
FirebaseUI を完全なドロップイン認証ソリューションとして使用するか、Firebase Authentication SDK を使用して 1 つまたは複数のサインイン方法をアプリに手動で統合することにより、ユーザーを Firebase アプリにサインインさせることができます。
FirebaseUI 認証 | |
---|---|
ドロップイン認証ソリューション | アプリに完全なサインイン システムを追加するための推奨される方法。 FirebaseUI は、メール アドレスとパスワード、電話番号、および Google サインインや Facebook ログインなどの一般的なフェデレーション ID プロバイダーを使用してユーザーをサインインさせるための UI フローを処理するドロップイン認証ソリューションを提供します。 FirebaseUI Auth コンポーネントは、モバイル デバイスとウェブサイトでの認証のベスト プラクティスを実装しており、アプリのサインインとサインアップのコンバージョンを最大化できます。また、アカウントの回復やアカウントのリンクなど、セキュリティに敏感でエラーが発生しやすいエッジケースも正しく処理します. FirebaseUI は、アプリの他のビジュアル スタイルに合わせて簡単にカスタマイズできます。また、オープン ソースであるため、必要なユーザー エクスペリエンスを実現する上で制約を受けることはありません。 |
Firebase SDK 認証 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
メールとパスワードによる認証 | メールアドレスとパスワードでユーザーを認証します。 Firebase Authentication SDK は、メール アドレスとパスワードを使用してサインインするユーザーを作成および管理する方法を提供します。Firebase Authentication は、パスワード リセット メールの送信も処理します。 | ||||||||||
フェデレーション ID プロバイダーの統合 | フェデレーション ID プロバイダーと統合してユーザーを認証します。 Firebase Authentication SDK は、ユーザーが Google、Facebook、Twitter、および GitHub アカウントでサインインできるようにするメソッドを提供します。
| ||||||||||
電話番号認証 | SMS メッセージを電話に送信してユーザーを認証します。 | ||||||||||
カスタム認証システムの統合 | アプリの既存のサインイン システムを Firebase Authentication SDK に接続し、Firebase Realtime Database やその他の Firebase サービスにアクセスします。 | ||||||||||
匿名認証 | 一時的な匿名アカウントを作成して、ユーザーが最初にサインインする必要なく、認証を必要とする機能を使用します。ユーザーが後でサインアップすることを選択した場合、匿名アカウントを通常のアカウントにアップグレードできるため、ユーザーは中断したところから続行できます。 |
ID プラットフォームを使用した Firebase Authentication
Firebase Authentication with Identity Platform は、Firebase Authentication にいくつかの新機能を追加するオプションのアップグレードです。
このアップグレードでは、移行は必要ありません。既存のクライアント SDK と管理者 SDK コードは引き続き以前と同様に機能し、強化されたログ、エンタープライズ レベルのサポート、SLA などの機能にすぐにアクセスできます。コードを追加すると、多要素認証、ブロック機能、SAML および OpenID Connect プロバイダーのサポートを追加できます。
Identity Platform を使用した Firebase Authentication は、ベース プロダクトとは異なる料金体系になっています。アップグレードすると、無料 (Spark) プラン プロジェクトは 1 日のアクティブ ユーザー数が 3,000 に制限され、従量制 (Blaze) プラン プロジェクトは、50,000 の月間アクティブ ユーザーの無料利用枠を超える使用に対して課金されます。アップグレードする前に、課金への影響を理解しておいてください。
新機能、価格、制限については、以下をご覧ください。
特徴
多要素認証 | SMS による多要素認証は、アプリに 2 層目のセキュリティを追加することで、ユーザーのデータを保護します。 |
ブロッキング機能 | ブロック関数を使用すると、ユーザーがアプリに登録またはサインインした結果を変更するカスタム コードを実行できます。 |
SAML および OpenID Connect プロバイダー | Firebase でネイティブにサポートされていない SAML (ウェブのみ) と OpenID Connect プロバイダーを使用したサインインをサポートします。 SAML サインインを Web アプリに追加する方法と、OpenID Connect サインインをApple 、 Android 、およびWebアプリに追加する方法を学びます。 |
ユーザー アクティビティと監査ログ | 管理アクセスとエンドユーザーのアクティビティを監視してログに記録します。 プロジェクトをアップグレードすると、Cloud Logging で管理アクティビティ監査ログが自動的に有効になります。 Firebase コンソールの[認証設定]ページでユーザー アクティビティ ログを有効にすることもできます。 ログを表示して分析する方法については、 Cloud Logging のドキュメントをご覧ください。 |
マルチテナンシー | テナントを使用すると、1 つのプロジェクト内にユーザーと構成の複数の固有のサイロを作成できます。 Cloud Identity Platform ドキュメントのマルチテナンシーの概要を参照してください。 |
エンタープライズ サポートと SLA | アップグレードされたプロジェクトは、 Identity Platform サービス レベル アグリーメント (SLA)に従って認証サービスのアップタイムが保証され、エンタープライズ レベルのサポートにアクセスできます。 |
匿名ユーザーの自動クリーンアップ | 30 日以上経過した匿名アカウントを自動的に削除するオプションが表示されます。匿名アカウントも、請求と使用量の割り当てにカウントされなくなります。 |
使用制限
アップグレードすると、Identity Platform を使用した Firebase Authentication で、Firebase Authentication の使用に新しい制限が導入されます。
無料(スパーク)
無料 (Spark) プランのプロジェクトには、ほとんどのサインイン プロバイダーに対して、1 日のアクティブ ユーザー (DAU) が 3,000 という新しい制限があります。 1 日あたりのアクティブな使用状況は、24 時間にサインインしたユニーク ユーザー数に基づいて計算されます。
プロバイダ | 新しい制限 | 古い制限 |
---|---|---|
メール、ソーシャル、匿名、カスタム | 3,000 DAU | 無制限 |
SAML、OpenID コネクト | 2 DAU | なし |
Pay as you go (ブレイズ)
Blaze プランのプロジェクトの価格は、月間アクティブ ユーザー (MAU) に基づいており、50,000 ユーザーの無料レベルが含まれています。アクティブ ユーザーとは、請求期間内にアカウントを使用するユーザーです。
プロバイダー | 無料層 | 無料レベルを超える MAU あたりのコスト ($) |
---|---|---|
メール、ソーシャル、匿名、カスタム | 0 ~ 49,999 MAU | MAUあたり0.0025~0.0055 |
SAML、OpenID コネクト | 0 ~ 49 MAU | MAUあたり0.015 |
プロジェクトをアップグレードする
プロジェクトを Firebase Authentication with Identity Platform にアップグレードするには、Firebase コンソールの[認証設定]ページを開きます。
それはどのように機能しますか?
ユーザーをアプリにサインインさせるには、まずユーザーから認証資格情報を取得します。これらの資格情報は、ユーザーの電子メール アドレスとパスワード、またはフェデレーション ID プロバイダーからの OAuth トークンにすることができます。次に、これらの資格情報を Firebase Authentication SDK に渡します。次に、バックエンド サービスがそれらの資格情報を確認し、クライアントに応答を返します。
サインインに成功すると、ユーザーの基本的なプロフィール情報にアクセスでき、他の Firebase プロダクトに保存されているデータへのユーザーのアクセスを制御できます。提供された認証トークンを使用して、独自のバックエンド サービスでユーザーの ID を確認することもできます。
実装パス
FirebaseUI 認証の使用 | ||
---|---|---|
サインイン方法を設定する | メール アドレスとパスワードまたは電話番号のサインイン、およびサポートするフェデレーション ID プロバイダーについては、Firebase コンソールでそれらを有効にし、OAuth リダイレクト URL の設定など、ID プロバイダーに必要な構成を完了します。 | |
サインイン UI をカスタマイズする | FirebaseUI オプションを設定してサインイン UI をカスタマイズしたり、GitHub でコードをフォークしてサインイン エクスペリエンスをさらにカスタマイズしたりできます。 | |
FirebaseUI を使用してログイン フローを実行する | FirebaseUI ライブラリをインポートし、サポートするサインイン方法を指定して、FirebaseUI サインイン フローを開始します。 |
Firebase Authentication SDK の使用 | ||
---|---|---|
サインイン方法を設定する | メール アドレスとパスワードまたは電話番号のサインイン、およびサポートするフェデレーション ID プロバイダーについては、Firebase コンソールでそれらを有効にし、OAuth リダイレクト URL の設定など、ID プロバイダーに必要な構成を完了します。 | |
サインイン方法の UI フローを実装する | 電子メール アドレスとパスワードによるサインインの場合、ユーザーに電子メール アドレスとパスワードの入力を促すフローを実装します。電話番号サインインの場合、ユーザーに電話番号を要求し、次に受信した SMS メッセージのコードを要求するフローを作成します。フェデレーション サインインの場合は、各プロバイダーに必要なフローを実装します。 | |
ユーザーの認証情報を Firebase Authentication SDK に渡す | ユーザーのメール アドレスとパスワード、またはフェデレーション ID プロバイダーから取得した OAuth トークンを Firebase Authentication SDK に渡します。 |
次は何ですか
Firebase プロジェクトのユーザーの詳細を確認してから、サポートするサインイン プロバイダの統合ガイドを参照してください。
どこから始めればよいかわからない場合