Firebaseストレージ
Firebaseストレージを使用する場合、次にアクセスできます:
お知らせ
ユーザーにFirebaseエクステンションを使用してニュースレター(例えば、プロモーションやアップデートに関する)を送信することができます。
統合フロー
ログインウィジェットまたはアプリケーションをクライアントとして使用できます。クライアントとエクソーラログインサーバー間の対話フローは次のとおり:
- クライアントはエクソーラログインサーバーにリクエストを送信します。リクエストの形式は、JWT、OAuth 2.0、およびPasswordエンドポイントで説明されています。
- エクソーラログインサーバーは、Firebaseにリクエストを送信します。
- エクソーラログインサーバーはFirebaseからの応答を処理し、結果をクライアントに返します。
- クライアントは応答を処理します。
お知らせ
パスワードを除くすべてのユーザー情報は、エクソーラ側に保存されます。
ユーザー登録フロー
- クライアントは
Register new user リクエストをエクソーラログインサーバーに送信します。 - エクソーラログインサーバーは、Firebaseに登録リクエストを送信します。
- ユーザーデータはエクソーラのデータベースに書き込まれます。
- 以下の場合で、ユーザーのメールアドレスの状態を確認します:
- ユーザーがFirebaseで事前にメールアドレスを確認していない場合、そのシステムから確認メールが届きます。ユーザーがメールアドレスを確認すると同時に、エクソーラログインサーバーでも自動的に確認されます。
- Firebaseでユーザーのメールアドレスが認証されている場合、登録後すぐに認証が行われ、ログインプロジェクト作成時に指定したCallback URLにリダイレクトされます。
ユーザーのメールアドレスとパスワード経由の認証
ユーザーのメールアドレスとパスワードによる認証には2つのタイプがあります:JWT標準ベースの認証とOAuth 2.0プロトコルベースの認証。
お知らせ
- エクソーラデータベースにユーザーのエントリーがない場合、作成されます。
- エクソーラログインサーバはFirebaseから次のユーザデータをリクエストし、エクソーラデータベースで更新します:メール確認状況、またアバターと表示名(該当する場合)。
JWT規格に基づく認証フロー
- クライアントはエクソーラログインサーバーにユーザー名とパスワードによる認証のリクエストを送信します。
- エクソーラログインサーバーは認証リクエストをFirebaseに送信します。
- エクソーラログインサーバーは、ユーザーJWTを生成する同時に:
- Firebaseリクエストに対するレスポンスに含まれるlocalIdの値が
external_account_id
クレームに書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値を
firebase_id_token
クレームに書き出します。 - Firebaseリクエストに対する応答からFirebaseリフレッシュトークンの値を
firebase_refresh_token
クレームに書き込みます。
- Firebaseリクエストに対するレスポンスに含まれるlocalIdの値が
- ユーザーは、クエリパラメータ
token
を使用してlogin_url
にリダイレクトされます。ユーザーJWTはtoken
パラメータに書き込まれます。
OAuth 2.0プロトコルベースの認証フロー
- クライアントは、
redirect_uri
パラメータを指定してユーザー名とパスワードによる認証のリクエストをエクソーラログインサーバーに送信します。 - エクソーラログインサーバーは、Firebaseに認証リクエストを送信します。
- エクソーラログインサーバーは、クエリパラメータでの
login_url
とcode
及び渡されたredirect_uri
パラメータを返します。 - ユーザーは、クエリパラメータ
code
を使用してredirect_uri
にリダイレクトされます。 - クライアントはエクソーラログインサーバーにJWTを生成するリクエストを送信し、受信した
code
をユーザーJWTと交換します。 - エクソーラサーバーは、ユーザーJWTを生成する同時に:
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
external_account_id
に書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値を
firebase_id_token
クレームに書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値を
firebase_refresh_token
クレームに書き込まれます。
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
ソーシャルネットワーク経由の認証
GoogleとFacebookによる認証のみ対応しています。2つの認証シナリオを用意しています: JWT標準ベースの認証とOAuth 2.0プロトコルベースの認証。
JWT規格に基づく認証フロー
- ユーザーは、ウィジェットのボタンをクリックするか、ログインAPIメソッドによる認証を開始します。
- ユーザーは、ソーシャルネットワークのログインページにリダイレクトされ、そこで認証情報を入力します。
- ソーシャルネットワークは、ユーザーの情報をアクセストークンとともにエクソーラログインサーバーに返します。
- エクソーラログインサーバーは、このトークンを使って、Sign in with OAuth credentialメソッドでFirebaseに認証リクエストを送信します。
- エクソーラログインサーバーは、ユーザーJWTを生成する同時に:
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
external_account_id
クレームに書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値を
firebase_id_token
クレームに書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値を
firebase_refresh_token
クレームに書き込まれます。
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
- ユーザーは、クエリパラメータ
token
を使用してlogin_url
にリダイレクトされます。ユーザーJWTはtoken
パラメーターに書き込まれます。
OAuth 2.0プロトコルベースの認証フロー
- ユーザーは、ウィジェットのボタンをクリックするか、ログインAPIメソッドによる認証を開始します。
- ユーザーは、ソーシャルネットワークのログインページにリダイレクトされ、そこで認証情報を入力します。
- ソーシャルネットワークは、ユーザーの情報をアクセストークンとともにエクソーラログインサーバーに返します。
- エクソーラログインサーバーは、このトークンを使って、Sign in with OAuth credentialメソッドでFirebaseに認証リクエストを送信します。
- エクソーラログインサーバーは、クエリパラメータでの
login_url
とcode
及び渡されたredirect_uri
パラメータを返します。 - ユーザーは、クエリパラメータ
code
を使用してredirect_uri
にリダイレクトされます。 - クライアントはエクソーラログインサーバーにJWTを生成するリクエストを送信し、受信した
code
をユーザーJWTと交換します。 - エクソーラサーバーは、ユーザーJWTを生成する同時に:
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
external_account_id
に書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebase IDトークンの値を
firebase_id_token
クレームに書き込まれます。 - Firebaseリクエストに対する応答に含まれるFirebaseリフレッシュトークンの値を
firebase_refresh_token
クレームに書き込まれます。
- Firebaseリクエストに対する応答に含まれるlocalIdの値が
ユーザーブロック
アドミンページからユーザーをブロックすることができます。ブロックされたユーザーは、認証されることはありません。ブロックはエクソーラ側でのみ記録または保存されます。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。続きを読む
お役立ちリンク
Firebaseストレージを接続する方法誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。