TenantAwareAuth class

ユーザーの管理、SAML/OIDC プロバイダの構成、特定のテナントのパスワードの再設定やメール確認などのためのメールリンクの生成に使用される、テナント対応の Auth インターフェース。

マルチテナンシーのサポートには、Google Cloud の Identity Platform(GCIP)が必要です。料金や機能など、GCIP の詳細については、GCIP のドキュメントをご覧ください。

各テナントには、独自の ID プロバイダ、設定、一連のユーザーが含まれています。TenantAwareAuth を使用すると、特定のテナントのユーザーと対応する OIDC/SAML 構成のユーザーも管理できます。また、特定のテナントにログインしたユーザーの ID トークンを検証し、テナントに属するユーザーに対してメール アクション リンクを生成することもできます。

特定の tenantIdTenantAwareAuth インスタンスをインスタンス化するには、TenantManager.authForTenant() を呼び出します。

署名:

export declare class TenantAwareAuth extends BaseAuth 

拡張: BaseAuth

プロパティ

プロパティ 修飾キー タイプ 説明
tenantId 文字列 この TenantAwareAuth インスタンスに対応するテナント ID。ユーザー管理 API、OIDC/SAML プロバイダ管理 API、メールリンク生成 API などへのすべての呼び出しは、このテナントのスコープ内でのみ適用されます。

メソッド

メソッド 修飾キー 説明
createSessionCookie(idToken, sessionCookieOptions) 指定されたオプションで新しい Firebase セッション Cookie を作成します。作成された JWT 文字列は、カスタム Cookie ポリシーを使用してサーバーサイドのセッション Cookie として設定し、セッション管理に使用できます。セッション Cookie の JWT には、提供された ID トークンと同じペイロード クレームが含まれます。コードサンプルと詳細なドキュメントについては、セッション Cookie の管理をご覧ください。
verifyIdToken(idToken, checkRevoked) Firebase ID トークン(JWT)を検証します。トークンが有効な場合、トークンのデコードされたクレームで Promise が履行されます。それ以外の場合、Promise は拒否されます。checkRevoked が true に設定されている場合は、まず対応するユーザーが無効になっているかどうかを確認します。「はい」の場合、auth/user-disabled エラーがスローされます。「いいえ」の場合は、その ID トークンに対応するセッションが取り消されたかどうかを確認します。対応するユーザーのセッションが無効になると、auth/id-token-revoked エラーがスローされます。指定しない場合、チェックは適用されません。コードサンプルと詳細なドキュメントについては、ID トークンを検証するをご覧ください。
verifySessionCookie(sessionCookie, checkRevoked) Firebase セッション Cookie を検証します。Cookie クレームを含む Promise を返します。Cookie を検証できなかった場合、Promise を拒否します。checkRevoked が true に設定されている場合、まず対応するユーザーが無効になっているかどうかを確認します。無効になっている場合は、auth/user-disabled エラーがスローされます。「いいえ」の場合は、セッション Cookie に対応するセッションが取り消されたかどうかを確認します。対応するユーザーのセッションが無効になると、auth/session-cookie-revoked エラーがスローされます。指定しない場合、チェックは行われません。コードサンプルと詳細なドキュメントについては、セッション Cookie を検証するをご覧ください。

TenantAwareAuth.tenantId

この TenantAwareAuth インスタンスに対応するテナント ID。ユーザー管理 API、OIDC/SAML プロバイダ管理 API、メールリンク生成 API などへのすべての呼び出しは、このテナントのスコープ内でのみ適用されます。

署名:

readonly tenantId: string;

TenantAwareAuth.createSessionCookie()

指定されたオプションで新しい Firebase セッション Cookie を作成します。作成された JWT 文字列は、カスタム Cookie ポリシーを使用してサーバーサイドのセッション Cookie として設定し、セッション管理に使用できます。セッション Cookie の JWT には、提供された ID トークンと同じペイロード クレームが含まれます。

コードのサンプルと詳細なドキュメントについては、セッション Cookie を管理するをご覧ください。

署名:

createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;

パラメータ

パラメータ 説明
idToken 文字列 セッション Cookie と交換するための Firebase ID トークン。
sessionCookieOptions SessionCookieOptions(セッション Cookie オプション) カスタムのセッション継続時間を含むセッション Cookie オプション。

戻り値:

Promise<文字列>

作成されたセッション Cookie が成功した場合に解決される Promise。

TenantAwareAuth.verifyIdToken()

Firebase ID トークン(JWT)を検証します。トークンが有効な場合、トークンのデコードされたクレームで Promise が履行されます。それ以外の場合、Promise は拒否されます。

checkRevoked が true に設定されている場合は、まず対応するユーザーが無効になっているかどうかを確認します。「はい」の場合、auth/user-disabled エラーがスローされます。「いいえ」の場合は、その ID トークンに対応するセッションが取り消されたかどうかを確認します。対応するユーザーのセッションが無効になると、auth/id-token-revoked エラーがスローされます。指定しない場合、チェックは適用されません。

コードサンプルと詳細なドキュメントについては、ID トークンを検証するをご覧ください。

署名:

verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

パラメータ

パラメータ 説明
idToken 文字列 検証する ID トークン。
checkRevoked(無効化済み) ブール値 ID トークンが取り消されたかどうかを確認するかどうか。そのためには、対応するユーザーの tokensValidAfterTime 時間を確認するための追加のリクエストを Firebase Auth バックエンドに対して行う必要があります。指定しない場合、この追加のチェックは適用されません。

戻り値:

Promise <DecodedIdToken>

ID トークンが有効な場合は、トークンのデコードされたクレームで履行される Promise。そうでない場合は Promise が拒否されます。

TenantAwareAuth.verifySessionCookie()

Firebase セッション Cookie を検証します。Cookie クレームを含む Promise を返します。Cookie を検証できない場合、Promise を拒否します。

checkRevoked が true に設定されている場合、まず対応するユーザーが無効になっているかどうかを確認します。無効になっている場合は、auth/user-disabled エラーがスローされます。「いいえ」の場合は、セッション Cookie に対応するセッションが取り消されたかどうかを確認します。対応するユーザーのセッションが無効になると、auth/session-cookie-revoked エラーがスローされます。指定しない場合、チェックは行われません。

コードのサンプルと詳細なドキュメントについては、セッション Cookie を検証するをご覧ください。

署名:

verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;

パラメータ

パラメータ 説明
セッション Cookie 文字列 確認するセッション Cookie。
checkRevoked(無効化済み) ブール値

戻り値:

Promise <DecodedIdToken>

セッション Cookie が有効な場合に、セッション Cookie のデコードされたクレームで履行される Promiseそうでない場合は Promise が拒否されます。