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

ログイン

Firebaseストレージ

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

お知らせ
ユーザーに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プロトコルベースの認証

お知らせ
  • エクソーラデータベースにユーザーのエントリーがない場合、作成されます。
  • エクソーラログインサーバは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. ユーザーは、ウィジェットのボタンをクリックするか、ログイン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. ユーザーは、ウィジェットのボタンをクリックするか、ログイン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クレームに書き込まれます。

ユーザーブロック

アドミンページからユーザーをブロックすることができます。ブロックされたユーザーは、認証されることはありません。ブロックはエクソーラ側でのみ記録または保存されます。

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

続きを読む

最終更新日: 2024年8月30日

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

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