可針對特定用戶群管理使用者、設定 SAML/OIDC 供應商、產生用於重設密碼的電子郵件連結、進行電子郵件驗證等操作的用戶群感知 Auth
介面。
必須採用 Google Cloud 的 Identity Platform (GCIP),才能支援多用戶群架構。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件。
每個用戶群都有自己的識別資訊提供者、設定和一組使用者。透過 TenantAwareAuth
,您也可以管理特定用戶群和相應的 OIDC/SAML 設定的使用者,也可以驗證已登入特定用戶群的使用者 ID 權杖,並且為屬於該用戶群的使用者產生電子郵件動作連結。
特定 tenantId
的 TenantAwareAuth
例項可透過呼叫 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 的解碼聲明;否則就會遭到拒絕。