TenantAwareAuth class

可針對特定用戶群管理使用者、設定 SAML/OIDC 供應商、產生用於重設密碼的電子郵件連結、進行電子郵件驗證等操作的用戶群感知 Auth 介面。

必須採用 Google Cloud 的 Identity Platform (GCIP),才能支援多用戶群架構。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

每個用戶群都有自己的識別資訊提供者、設定和一組使用者。透過 TenantAwareAuth,您也可以管理特定用戶群和相應的 OIDC/SAML 設定的使用者,也可以驗證已登入特定用戶群的使用者 ID 權杖,並且為屬於該用戶群的使用者產生電子郵件動作連結。

特定 tenantIdTenantAwareAuth 例項可透過呼叫 TenantManager.authForTenant() 進行例項化。

簽名:

export declare class TenantAwareAuth extends BaseAuth 

擴充: BaseAuth

屬性

屬性 修飾符 類型 說明
用戶群 ID 字串 與這個 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)。如果符記有效,則會以符記解碼的聲明來履行承諾。如果沒有,承諾會遭到拒絕。如果將 checkRevoked 設為 True,請先驗證對應的使用者是否已停用。如果有,系統會擲回 auth/user-disabled 錯誤。如果沒有,請確認與 ID 權杖對應的工作階段是否已撤銷。如果對應使用者的工作階段無效,系統會擲回 auth/id-token-revoked 錯誤。如果未指定,則系統不會套用檢查。如需程式碼範例和詳細說明文件,請參閱驗證 ID 權杖
verifySessionCookie(sessionCookie、checkRevoked) 驗證 Firebase 工作階段 Cookie。傳回含有 Cookie 聲明的 Promise。如果無法驗證 Cookie,就會拒絕承諾。如果將 checkRevoked 設為 True,請先確認對應的使用者已停用:如果設為「是」,系統會擲回 auth/user-disabled 錯誤。如果沒有,請確認與工作階段 Cookie 相對應的工作階段是否已撤銷。如果對應使用者的工作階段無效,系統會擲回 auth/session-cookie-revoked 錯誤。如果未指定,則不會執行檢查。如需程式碼範例和詳細說明文件,請參閱「驗證工作階段 Cookie

TenantAwareAuth.用戶群 Id

與這個 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 工作階段 Cookie 選項 工作階段 Cookie 選項,包括自訂工作階段持續時間。

傳回:

承諾<字串>

承諾,使用建立的工作階段 Cookie 順利解決。

TenantAwareAuth.verifyIdToken()

驗證 Firebase ID 權杖 (JWT)。如果符記有效,則會以符記解碼的聲明來履行承諾。否則承諾會遭到拒絕。

如果 checkRevoked 設為 True,請先驗證對應的使用者是否已停用。如果有,系統會擲回 auth/user-disabled 錯誤。如果沒有,請確認與 ID 權杖對應的工作階段是否已撤銷。如果對應使用者的工作階段無效,系統會擲回 auth/id-token-revoked 錯誤。如果未指定,則系統不會套用檢查。

如需程式碼範例和詳細說明文件,請參閱「驗證 ID 權杖」一文。

簽名:

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

參數

參數 類型 說明
idToken 字串 要驗證的 ID 權杖。
已撤銷檢查 布林值 確認 ID 權杖是否已撤銷。這需要向 Firebase 驗證後端額外提出要求,才能檢查對應使用者的 tokensValidAfterTime 時間。如未指定,則不會套用這項額外檢查。

傳回:

Promise<DecodedIdToken>

如果 ID 權杖有效,保證可履行權杖的解碼憑證附加資訊;否則就會遭到拒絕。

TenantAwareAuth.verifySessionCookie()

驗證 Firebase 工作階段 Cookie。傳回含有 Cookie 聲明的 Promise。如果無法驗證 Cookie,就會拒絕承諾。

如果 checkRevoked 設為 True,請先驗證對應的使用者是否已停用:如果設為「是」,系統會擲回 auth/user-disabled 錯誤。如果沒有,請確認與工作階段 Cookie 相對應的工作階段是否已撤銷。如果對應使用者的工作階段無效,系統會擲回 auth/session-cookie-revoked 錯誤。如果未指定,則系統不會執行檢查。

如需程式碼範例和詳細說明文件,請參閱「驗證工作階段 Cookie」一文

簽名:

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

參數

參數 類型 說明
工作階段 Cookie 字串 要驗證的工作階段 Cookie。
已撤銷檢查 布林值

傳回:

Promise<DecodedIdToken>

如果工作階段 Cookie 有效,保證可實現工作階段 Cookie 的解碼聲明;否則就會遭到拒絕。