ログイン / Firebaseストレージ
 ドキュメントに戻る

ログイン

  • 統合ガイド

  • ユーザーデータストレージ

  • カスタマイゼーション

  • 通信サービスプロバイダー

  • 特徴

  • ハウツー

  • 拡張機能

  • リファレンス

  • Firebaseストレージ

    Firebaseストレージを使用する場合、次にアクセスできます:

    Note
    ユーザーにFirebaseエクステンションを使用してニュースレター(例えば、プロモーションやアップデートに関する)を送信することができます。

    統合フロー

    ログインウィジェットまたはアプリケーションをクライアントとして使用できます。クライアントとエクソラログインサーバー間の対話フローは次のとおり:

    1. クライアントはエクソラログインサーバーにリクエストを送信します。リクエストの形式は、JWTOAuth 2.0、およびPasswordエンドポイントで説明されています。
    2. エクソラログインサーバーは、Firebaseにリクエストを送信します。
    3. エクソラログインサーバーはFirebaseからの応答を処理し、結果をクライアントに返します。
    4. クライアントは応答を処理します。

    ユーザー登録フロー

    1. クライアントはRegister new userリクエストをエクソラログインサーバーに送信します。
    2. エクソラログインサーバーは、Firebaseに登録リクエストを送信します。
    3. ユーザーデータはエクソラのデータベースに書き込まれます。
    4. 以下の場合で、ユーザーのメールアドレスの状態を確認します:
      • ユーザーがFirebaseで事前にメールアドレスを確認していない場合、そのシステムから確認メールが届きます。ユーザーがメールアドレスを確認すると同時に、エクソラログインサーバーでも自動的に確認されます。
      • Firebaseでユーザーのメールアドレスが認証されている場合、登録後すぐに認証が行われ、ログインプロジェクト作成時に指定したCallback URLにリダイレクトされます。

    ユーザーのメールアドレスとパスワード経由の認証

    ユーザーのメールアドレスとパスワードによる認証には2つのタイプがあります:JWT標準ベースの認証OAuth 2.0プロトコルベースの認証

    Note
    • エクソラデータベースにユーザーのエントリーがない場合、作成されます。
    • エクソラログインサーバはFirebaseから次のユーザデータをリクエストし、エクソラデータベースで更新します:メール確認状況、またアバターと表示名(該当する場合)。

    JWT規格に基づく認証フロー

    1. クライアントはエクソラログインサーバーにユーザー名とパスワードによる認証のリクエストを送信します。
    2. エクソラログインサーバーは認証リクエストをFirebaseに送信します。
    3. エクソラログインサーバーは、ユーザーJWTを生成する同時に:
      • Firebaseリクエストに対するレスポンスに含まれるlocalIdの値がexternal_account_idクレームに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値をfirebase_id_tokenクレームに書き出します。
      • Firebaseリクエストに対する応答からFirebaseリフレッシュトークンの値をfirebase_refresh_tokenクレームに書き込みます。
    4. ユーザーは、クエリパラメータtokenを使用してlogin_urlにリダイレクトされます。ユーザーJWTはtokenパラメータに書き込まれます。

    OAuth 2.0プロトコルベースの認証フロー

    1. クライアントは、redirect_uriパラメータを指定してユーザー名とパスワードによる認証のリクエストをエクソラログインサーバーに送信します。
    2. エクソラログインサーバーは、Firebaseに認証リクエストを送信します。
    3. エクソラログインサーバーは、クエリパラメータでのlogin_urlcode及び渡されたredirect_uriパラメータを返します。
    4. ユーザーは、クエリパラメータcodeを使用してredirect_uriにリダイレクトされます。
    5. クライアントはエクソラログインサーバーにJWTを生成するリクエストを送信し、受信したcodeをユーザーJWTと交換します。
    6. エクソラサーバーは、ユーザーJWTを生成する同時に:
      • Firebaseリクエストに対する応答に含まれるlocalIdの値がexternal_account_idに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値をfirebase_id_tokenクレームに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値をfirebase_refresh_tokenクレームに書き込まれます。

    ソーシャルネットワーク経由の認証

    GoogleとFacebookによる認証のみ対応しています。2つの認証シナリオを用意しています: JWT標準ベースの認証OAuth 2.0プロトコルベースの認証

    JWT規格に基づく認証フロー

    1. ユーザーは、ウィジェットのボタンをクリックするか、Login APIメソッドによる認証を開始します。
    2. ユーザーは、ソーシャルネットワークのログインページにリダイレクトされ、そこで認証情報を入力します。
    3. ソーシャルネットワークは、ユーザーの情報をアクセストークンとともにエクソラログインサーバーに返します。
    4. エクソラログインサーバーは、このトークンを使って、Sign in with OAuth credentialメソッドでFirebaseに認証リクエストを送信します。
    5. エクソラログインサーバーは、ユーザーJWTを生成する同時に:
      • Firebaseリクエストに対する応答に含まれるlocalIdの値がexternal_account_idクレームに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値をfirebase_id_tokenクレームに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値をfirebase_refresh_tokenクレームに書き込まれます。
    6. ユーザーは、クエリパラメータtokenを使用してlogin_urlにリダイレクトされます。ユーザーJWTはtokenパラメーターに書き込まれます。

    OAuth 2.0プロトコルベースの認証フロー

    1. ユーザーは、ウィジェットのボタンをクリックするか、Login APIメソッドによる認証を開始します。
    2. ユーザーは、ソーシャルネットワークのログインページにリダイレクトされ、そこで認証情報を入力します。
    3. ソーシャルネットワークは、ユーザーの情報をアクセストークンとともにエクソラログインサーバーに返します。
    4. エクソラログインサーバーは、このトークンを使って、Sign in with OAuth credentialメソッドでFirebaseに認証リクエストを送信します。
    5. エクソラログインサーバーは、クエリパラメータでのlogin_urlcode及び渡されたredirect_uriパラメータを返します。
    6. ユーザーは、クエリパラメータcodeを使用してredirect_uriにリダイレクトされます。
    7. クライアントはエクソラログインサーバーにJWTを生成するリクエストを送信し、受信したcodeをユーザーJWTと交換します。
    8. エクソラサーバーは、ユーザーJWTを生成する同時に:
      • Firebaseリクエストに対する応答に含まれるlocalIdの値がexternal_account_idに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値をfirebase_id_tokenクレームに書き込まれます。
      • Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値をfirebase_refresh_tokenクレームに書き込まれます。

    ユーザーブロック

    パブリッシャーアカウントからユーザーをブロックすることができます。ブロックされたユーザーは、認証されることはありません。ブロックはエクソラ側でのみ記録または保存されます。

    この記事は役に立ちましたか?
    ありがとうございます!
    改善できることはありますか? メッセージ
    申し訳ありません
    この記事が参考にならなかった理由を説明してください。 メッセージ
    ご意見ありがとうございました!
    あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
    このページを評価する
    このページを評価する
    改善できることはありますか?

    答えたくない

    ご意見ありがとうございました!

    続きを読む

    最終更新日: 2022年3月22日

    誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

    問題を報告する
    当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
    フォローアップ用のメールをご提供してください
    ご意見ありがとうございました!