認証
Identity Platform を使用すると、マルチテナント SaaS アプリ、モバイルアプリやウェブアプリ、ゲーム、API など、アプリやサービスに対する認証が可能になります。Identity Platform は、Google Cloud、独自のバックエンド、または別のプラットフォームにサービスを構築する場合、安全で使いやすい認証を提供します。
Identity Platform はバックエンド サービスを提供するとともに、使いやすい SDK やすぐに使える UI ライブラリと連携して、アプリに対するユーザーの認証を行います。Identity Platform は、パスワード、電話番号、一般的な連携 ID プロバイダ(Google、Facebook、Twitter など)と、SAML や OpenID Connect プロトコルをサポートするプロバイダを使用した認証をサポートします。
Identity Platform は Google Cloud サービスと緊密に統合されており、また OAuth 2.0 や OpenID Connect などの業界標準を利用しているため、カスタム バックエンドと簡単に統合できます。
主な機能
SDK を使用して、1 つ以上のログイン方法をアプリに統合できます。
SDK を使用した認証 | |||||||||
---|---|---|---|---|---|---|---|---|---|
メールとパスワードに基づく認証 | メールアドレスとパスワードを使用してユーザーを認証します。SDK には、メールアドレスとパスワードを使用してログインするユーザーを作成して管理するための方法が用意されています。Identity Platform では、パスワードの再設定メールを送信することもできます。 |
||||||||
フェデレーション ID プロバイダとの統合 | 連携 ID プロバイダと統合することで、ユーザーを認証します。Firebase Authentication SDK には、ユーザーが Google、Facebook、Twitter、GitHub アカウントを使用したログインを可能にする方法が用意されています。
|
||||||||
電話番号認証 | スマートフォンに SMS メッセージを送信してユーザーを認証します。 |
||||||||
カスタム認証システムとの統合 |
アプリの既存のログイン システムを Identity Platform に接続し、サーバーで生成されたトークンを、Google Cloud、Firebase などのサービスで走行中のアプリで使用される Identity Platform トークンと交換します。 |
||||||||
匿名認証 |
一時的な匿名アカウントを作成することで、ユーザーにログインを要求することなく認証できる機能を使用します。ユーザーが後から登録することにした場合は、匿名アカウントを通常のアカウントにアップグレードして、ユーザーが前回終了したところから操作を続行できるようにすることができます。 |
仕組み
アプリへのユーザーのログインを行うには、まずユーザーから認証情報を取得します。認証情報には、ユーザーのメールアドレスとパスワード、SAML アサーション、フェデレーション ID プロバイダの OAuth トークンなどがあります。連携 ID プロバイダの場合、プロバイダは /__auth/handler
エンドポイント上の Identity Platform の認証ハンドラにトークンを返します。このサービスは Google がホストするため、認証アーティファクトを受け取って検証する必要はありません。トークンを受信すると、Google のバックエンド サービスによってトークンが検証され、クライアントにレスポンスが返されます。
ログインが成功すると、ユーザーの基本的なプロフィール情報にアクセスできます。また、Google Cloud やその他のプロダクトに保存されているデータへのユーザーのアクセスの制御もできます。提供された認証トークンを使用して、独自のバックエンド サービスでユーザーの ID を検証することもできます。
実装のプロセス
SDK の使用 | ||
---|---|---|
ログイン方法を設定する | Google Cloud コンソールで、メールアドレスとパスワードまたは電話番号によるログインや、サポートする任意のフェデレーション ID プロバイダを有効にし、ID プロバイダ側で必要な構成(OAuth リダイレクト URL の設定など)を完了します。 | |
ログイン方法の UI フローを実装する | メールアドレスとパスワードによるログインの場合は、ユーザーにメールアドレスとパスワードの入力を求めるフローを実装します。電話番号によるログインの場合は、ユーザーに電話番号と、SMS メッセージで受信したコードの入力を求めるフローを作成します。フェデレーション ログインの場合は、各プロバイダで必要なフローを実装します。 | |
ユーザーの認証情報を SDK に渡す | ユーザーのメールアドレスとパスワード、または連携 ID プロバイダから取得した OAuth トークンを SDK に渡します。 |
オープンソースの UI コンポーネントを使用する | ||
---|---|---|
ログイン方法を設定する | Google Cloud コンソールで、メールアドレスとパスワードまたは電話番号によるログインや、サポートする任意のフェデレーション ID プロバイダを有効にし、ID プロバイダ側で必要な構成(OAuth リダイレクト URL の設定など)を完了します。 | |
ログイン UI をカスタマイズする | FirebaseUI オプションを設定してログイン UI をカスタマイズできます。さらにカスタマイズするには、GitHub でコードをフォークします。 | |
FirebaseUI を使用してログインフローを行う | FirebaseUI ライブラリをインポートし、サポートするログイン方法を指定して、FirebaseUI ログインフローを開始します。 |
次のステップ
Identity Platform プロジェクトのユーザーの詳細と、サポートするログイン プロバイダの統合ガイドを確認する。