BaseAuth class

AuthTenantAwareAuth API 的通用父項介面。

簽名:

export declare abstract class BaseAuth 

方法

方法 修飾符 說明
createCustomToken(uid, developerClaims) 建立新的 Firebase 自訂權杖 (JWT),此憑證可傳回用戶端裝置,用於透過用戶端 SDK 登入。signInWithCustomToken() 方法。(用戶群感知執行個體也會在權杖中嵌入用戶群 ID)。如需程式碼範例和詳細說明文件,請參閱建立自訂權杖
createProviderConfig(設定) 建立新的提供者設定時,傳回可解析為新建 AuthProviderConfig 的承諾。SAML 和 OIDC 供應商支援需要 Google Cloud Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件
createSessionCookie(idToken, sessionCookieOptions) 使用指定選項建立新的 Firebase 工作階段 Cookie。您建立的 JWT 字串可透過自訂 Cookie 政策設為伺服器端工作階段 Cookie,並用於工作階段管理。工作階段 Cookie JWT 與提供的 ID 權杖具有相同的酬載憑證附加資訊。如需程式碼範例和詳細說明文件,請參閱管理工作階段 Cookie
createUser(屬性) 建立新使用者。如需程式碼範例和詳細說明文件,請參閱建立使用者
deleteProviderConfig(providerId) 刪除與所傳遞提供者 ID 相對應的供應商設定。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。SAML 和 OIDC 供應商支援需要 Google Cloud Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件
deleteUser(uid) 刪除現有使用者。如需程式碼範例和詳細說明文件,請參閱刪除使用者
deleteUsers(uids) 刪除指定 uids 指定的使用者。刪除非現有使用者時,系統不會產生錯誤 (也就是採用冪等方法)。系統會將非現有使用者視為成功刪除,因此會計入 DeleteUsersResult.successCount 值。最多只能提供 1000 個 ID。如果提供的 ID 超過 1000,這個方法會擲回 FirebaseAuthError。這個 API 目前對伺服器的頻率限制為 1 QPS。如果超過此上限,可能會收到超過配額的錯誤訊息。因此,如果刪除的使用者超過 1,000 位,您可能需要新增延遲時間,確保不會超過這個上限。
generateEmailVerificationLink(電子郵件, actionCodeSettings) 產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。
generatePasswordResetLink(電子郵件, actionCodeSettings) 產生錶帶外的電子郵件操作連結,用於重設使用者密碼。系統會為擁有指定電子郵件地址的使用者產生連結。選用的 ActionCodeSettings 物件會定義連結是否由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。
generateSignInWithEmailLink(電子郵件, actionCodeSettings) 產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。
generateVerifyAndChangeEmailLink(電子郵件, newEmail, actionCodeSettings) 產生頻外電子郵件動作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。
getProviderConfig(providerId) 根據指定 ID 查詢驗證供應商設定。傳回可解析指定提供者 ID 的提供者設定之承諾。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。SAML 和 OIDC 供應商支援需要 Google Cloud Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件
getUser(uid) 取得與指定 uid 相對應的使用者資料。如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」一節。
getUserByEmail(電子郵件) 取得與指定電子郵件相應的使用者使用者資料。如需程式碼範例和詳細說明文件,請參閱擷取使用者資料
getUserByPhoneNumber(phoneNumber) 取得對應特定電話號碼的使用者使用者資料。電話號碼必須符合 E.164 規格。如需程式碼範例和詳細說明文件,請參閱擷取使用者資料
getUserByProviderUid(providerId, uid) 取得與指定提供者 ID 相對應的使用者資料。如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」。
getUsers(ID) 取得與指定 ID 相對應的使用者資料。Google 不提供訂購保證;特別是結果清單中的第 N 個項目,並不保證會對應至輸入參數清單中的第 n 個項目。您最多只能提供 100 個 ID。如果提供的 ID 超過 100 個,這個方法會擲回 FirebaseAuthError。
importUsers(使用者、選項) 將提供的使用者名單匯入 Firebase 驗證。一次最多只能匯入 1,000 位使用者。匯入具有密碼的使用者時,您必須指定 UserImportOptions。這項作業已針對大量匯入作業進行最佳化,且會忽略 uidemail 和其他不重複 ID 的檢查,這可能導致資料重複。
listProviderConfigs(選項) 傳回與所提供篩選條件相符的現有提供者設定清單。您最多可一次列出 100 項提供者設定。SAML 和 OIDC 供應商支援需要 Google Cloud Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件
listUsers(maxResults, pageToken) 擷取大小為 maxResults 的使用者清單 (僅限單一批次),從 pageToken 指定的偏移值開始擷取。這會用來批次擷取指定專案的所有使用者。如需程式碼範例和詳細說明文件,請參閱列出所有使用者
revokeRefreshTokens(uid) 撤銷現有使用者的所有更新權杖。這個 API 會將使用者的 UserRecord.tokensValidAfterTime 更新為目前的世界標準時間。進行呼叫的伺服器必須正確設定並保持同步。雖然這麼做會撤銷指定使用者的所有工作階段,並停用現有工作階段的所有新 ID 權杖,以免在工作階段自然到期 (一小時) 前保持運作。如要驗證 ID 權杖是否已撤銷,請使用 BaseAuth.verifyIdToken(),其中 checkRevoked 設為 true。
setCustomUserClaims(uid, customUserClaims) 針對現有使用者 (由提供的 uid 識別) 設定其他開發人員聲明,通常用於定義使用者角色和存取層級。這些憑證附加資訊應會套用到使用者已登入的所有裝置 (憑證過期或強制更新權杖後),以及使用者下次登入。如果使用保留的 OIDC 憑證附加名稱 (sub、iat、iss 等),系統會擲回錯誤。這些是針對已驗證使用者 ID 權杖 JWT 所設定。如需程式碼範例和詳細說明文件,請參閱定義使用者角色和存取層級
updateProviderConfig(providerId, updatedConfig) 傳回可解析為對應提供者 ID 的新版 AuthProviderConfig 的承諾。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。SAML 和 OIDC 供應商支援需要 Google Cloud Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件
updateUser(uid, 屬性) 更新現有使用者。如需程式碼範例和詳細說明文件,請參閱「更新使用者」。
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

BaseAuth.createCustomToken()

建立新的 Firebase 自訂權杖 (JWT),此憑證可傳回用戶端裝置,用於透過用戶端 SDK 登入。signInWithCustomToken() 方法。(用戶群感知執行個體也會在權杖中嵌入用戶群 ID)。

如需程式碼範例和詳細說明文件,請參閱「建立自訂權杖」一文。

簽名:

createCustomToken(uid: string, developerClaims?: object): Promise<string>;

參數

參數 類型 說明
UID 字串 要做為自訂符記主體的 uid
開發人員主張 物件 可選擇納入自訂權杖酬載的其他憑證附加資訊。

傳回:

承諾<字串>

針對提供的 uid 和酬載中的自訂權杖履行承諾。

BaseAuth.createProviderConfig()

建立新提供者設定時,傳回可解析為新建 AuthProviderConfig 的承諾。

如要使用 SAML 和 OIDC 供應商支援,您必須採用 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

簽名:

createProviderConfig(config: AuthProviderConfig): Promise<AuthProviderConfig>;

參數

參數 類型 說明
config AuthProviderConfig 要建立的提供者設定。

傳回:

Promise<AuthProviderConfig>

承諾使用建立的提供者設定可解析的承諾。

BaseAuth.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 順利解決。

BaseAuth.createUser()

建立新使用者。

如需程式碼範例和詳細說明文件,請參閱「建立使用者」一節。

簽名:

createUser(properties: CreateRequest): Promise<UserRecord>;

參數

參數 類型 說明
屬性 建立要求 要為新建使用者記錄設定的屬性。

傳回:

Promise<UserRecord>

針對與新建使用者相應的使用者資料履行承諾。

BaseAuth.deleteProviderConfig()

刪除與所傳遞提供者 ID 相對應的供應商設定。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。

如要使用 SAML 和 OIDC 供應商支援,您必須採用 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

簽名:

deleteProviderConfig(providerId: string): Promise<void>;

參數

參數 類型 說明
供應商 ID 字串 與要刪除的供應商設定相對應的提供者 ID。

傳回:

承諾<void>

會在完成時結案的承諾。

BaseAuth.deleteUser()

刪除現有使用者。

如需程式碼範例和詳細說明文件,請參閱「刪除使用者」一節。

簽名:

deleteUser(uid: string): Promise<void>;

參數

參數 類型 說明
UID 字串 與要刪除的使用者對應的 uid

傳回:

承諾<void>

刪除使用者後,保證不會有任何內容。

BaseAuth.deleteUsers()

刪除指定 uid 指定的使用者。

刪除非現有使用者並不會產生錯誤 (也就是採用冪等的方法)。系統會將不存在的使用者視為成功刪除,因此會計入 DeleteUsersResult.successCount 值中。

最多只能提供 1,000 個 ID。如果提供的 ID 超過 1000,這個方法會擲回 FirebaseAuthError。

這個 API 目前的頻率限制為伺服器 1 QPS。如果超過此上限,可能會收到超過配額的錯誤訊息。因此,如果刪除的使用者超過 1,000 位,您可能需要新增延遲時間,確保不會超過這個上限。

簽名:

deleteUsers(uids: string[]): Promise<DeleteUsersResult>;

參數

參數 類型 說明
UID string[] 與要刪除的使用者對應的 uids

傳回:

Promise<DeleteUsersResult>

解析為成功/失敗的刪除項目總數,以及與失敗刪除相關的錯誤陣列。

產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。

簽名:

generateEmailVerificationLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

參數

參數 類型 說明
電子郵件 字串 要驗證的電子郵件帳戶。
actionCode 設定 ActionCodeSettings 動作代碼設定。如有指定,州/繼續網址會設為「continueUrl」參數。預設電子郵件驗證到達網頁會使用此頁面,顯示可返回應用程式 (已安裝) 的連結。如未指定 actionCodeSettings,動作網址就不會附加任何網址。您提供的狀態網址必須屬於開發人員控制台許可清單中的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款,才能適用行動應用程式重新導向。Android 套件名稱和 iOS 軟體包 ID 必須於同一個 Firebase 驗證專案中設定,系統才會採用。

傳回:

承諾<字串>

承諾使用產生的連結解析。

範例

var actionCodeSettings = {
  url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generateEmailVerificationLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

產生錶帶外的電子郵件操作連結,用於重設使用者密碼。系統會為擁有指定電子郵件地址的使用者產生連結。選用的 ActionCodeSettings 物件會定義連結是否由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。

簽名:

generatePasswordResetLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

參數

參數 類型 說明
電子郵件 字串 要重設密碼的使用者電子郵件地址。
actionCode 設定 ActionCodeSettings 動作代碼設定。如有指定,州/繼續網址會設為「continueUrl」參數。預設密碼重設到達網頁會使用此連結,顯示可返回應用程式 (已安裝) 的連結。如未指定 actionCodeSettings,動作網址就不會附加任何網址。您提供的狀態網址必須屬於開發人員控制台許可清單中的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款,才能適用行動應用程式重新導向。Android 套件名稱和 iOS 軟體包 ID 必須於同一個 Firebase 驗證專案中設定,系統才會採用。

傳回:

承諾<字串>

承諾使用產生的連結解析。

範例

var actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generatePasswordResetLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。

簽名:

generateSignInWithEmailLink(email: string, actionCodeSettings: ActionCodeSettings): Promise<string>;

參數

參數 類型 說明
電子郵件 字串 要驗證的電子郵件帳戶。
actionCode 設定 ActionCodeSettings 動作代碼設定。如有指定,州/繼續網址會設為「continueUrl」參數。預設電子郵件驗證到達網頁會使用此頁面,顯示可返回應用程式 (已安裝) 的連結。如未指定 actionCodeSettings,動作網址就不會附加任何網址。您提供的狀態網址必須屬於開發人員控制台許可清單中的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款,才能適用行動應用程式重新導向。Android 套件名稱和 iOS 軟體包 ID 必須於同一個 Firebase 驗證專案中設定,系統才會採用。

傳回:

承諾<字串>

承諾使用產生的連結解析。

範例

var actionCodeSettings = {
  url: 'https://www.example.com/cart?email=user@example.com&cartId=123',
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  dynamicLinkDomain: 'custom.page.link'
};
admin.auth()
    .generateEmailVerificationLink('user@example.com', actionCodeSettings)
    .then(function(link) {
      // The link was successfully generated.
    })
    .catch(function(error) {
      // Some error occurred, you can inspect the code: error.code
    });

產生頻外電子郵件動作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 ActionCodeSettings 物件,會定義連結是要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等。

簽名:

generateVerifyAndChangeEmailLink(email: string, newEmail: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;

參數

參數 類型 說明
電子郵件 字串 目前的電子郵件帳戶。
新電子郵件 字串 要更新帳戶的電子郵件地址。
actionCode 設定 ActionCodeSettings 動作代碼設定。如有指定,州/繼續網址會設為「continueUrl」參數。預設電子郵件驗證到達網頁會使用此頁面,顯示可返回應用程式 (已安裝) 的連結。如未指定 actionCodeSettings,動作網址就不會附加任何網址。您提供的狀態網址必須屬於已在控制台中授權的網域,否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款,才能適用行動應用程式重新導向。Android 套件名稱和 iOS 軟體包 ID 必須於同一個 Firebase 驗證專案中設定,系統才會採用。

傳回:

承諾<字串>

承諾使用產生的連結解析。

BaseAuth.getProviderConfig()

根據指定 ID 查詢驗證供應商設定。傳回可解析指定提供者 ID 的提供者設定之承諾。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。

如要使用 SAML 和 OIDC 供應商支援,您必須採用 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

簽名:

getProviderConfig(providerId: string): Promise<AuthProviderConfig>;

參數

參數 類型 說明
供應商 ID 字串 與要傳回的供應商設定相對應的供應商 ID。

傳回:

Promise<AuthProviderConfig>

承諾使用與指定 ID 相對應的設定來解析。

BaseAuth.getUser()

取得與指定 uid 相對應的使用者使用者資料。

如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」。

簽名:

getUser(uid: string): Promise<UserRecord>;

參數

參數 類型 說明
UID 字串 與要擷取資料的使用者對應的 uid

傳回:

Promise<UserRecord>

承諾提供與所提供 uid 相對應的使用者資料。

BaseAuth.getUserByEmail()

取得與指定電子郵件相對應的使用者資料。

如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」。

簽名:

getUserByEmail(email: string): Promise<UserRecord>;

參數

參數 類型 說明
電子郵件 字串 與要擷取資料的使用者相對應的電子郵件。

傳回:

Promise<UserRecord>

保證提供與所提供電子郵件相對應的使用者資料。

BaseAuth.getUserByPhoneNumber()

取得對應特定電話號碼的使用者使用者資料。電話號碼必須符合 E.164 規格。

如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」。

簽名:

getUserByPhoneNumber(phoneNumber: string): Promise<UserRecord>;

參數

參數 類型 說明
phoneNumber 字串 待擷取資料的使用者對應的電話號碼。

傳回:

Promise<UserRecord>

具備與使用者所提供電話號碼相對應的使用者資料保證。

BaseAuth.getUserByProviderUid()

取得與指定提供者 ID 相對應的使用者資料。

如需程式碼範例和詳細說明文件,請參閱「擷取使用者資料」。

簽名:

getUserByProviderUid(providerId: string, uid: string): Promise<UserRecord>;

參數

參數 類型 說明
供應商 ID 字串 供應商 ID,例如「google.com」為 Google 供應商提供服務
UID 字串 指定提供者的使用者 ID。

傳回:

Promise<UserRecord>

承諾提供與指定提供者 ID 相對應的使用者資料。

BaseAuth.getUsers()

取得與指定 ID 對應的使用者資料。

不提供訂購保證;特別要注意的是,結果清單中的第 N 個項目,不保證會對應至輸入參數清單中的第 n 個項目。

最多只能提供 100 個 ID。如果提供的 ID 超過 100 個,這個方法會擲回 FirebaseAuthError。

簽名:

getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;

參數

參數 類型 說明
identifiers 使用者 ID[] 用來指出應傳回哪些使用者記錄的 ID。最多只能包含 100 個項目。

傳回:

Promise<GetUsersResult>

解析為對應使用者記錄的承諾。

例外狀況

FirebaseAuthError 如有任一 ID 無效,或是指定的 ID 超過 100 個,就會發生這個錯誤。

BaseAuth.importUsers()

將提供的使用者名單匯入 Firebase 驗證。一次最多只能匯入 1,000 位使用者。匯入具有密碼的使用者時,您必須指定 UserImportOptions。這項作業已針對大量匯入作業進行最佳化,且會忽略 uidemail 和其他不重複 ID 的檢查,這可能導致資料重複。

簽名:

importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;

參數

參數 類型 說明
使用者 UserImportRecord[] 要匯入 Firebase 驗證的使用者記錄清單。
選項 使用者匯入選項 使用者匯入選項 (如果使用者提供密碼憑證是必要選項)。

傳回:

Promise<UserImportResult>

在作業完成且匯入結果時解析的承諾。包括匯入成功的次數、匯入失敗的次數,以及對應的錯誤數量。

BaseAuth.listProviderConfigs()

傳回與所提供篩選條件相符的現有提供者設定清單。一次最多可列出 100 項提供者設定。

如要使用 SAML 和 OIDC 供應商支援,您必須採用 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

簽名:

listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;

參數

參數 類型 說明
選項 AuthProviderConfig 篩選器 要套用的提供者設定篩選器。

傳回:

Promise<ListProviderConfigResults>

針對符合篩選要求的供應商設定清單解決的承諾。

BaseAuth.listUsers()

pageToken 指定的偏移量,擷取大小為 maxResults 的使用者清單 (僅限單一批次)。可用來分批擷取指定專案的所有使用者。

如需程式碼範例和詳細說明文件,請參閱「列出所有使用者」一文。

簽名:

listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;

參數

參數 類型 說明
maxResults 數字 頁面大小,如未定義,則為 1000。同時也是允許的上限。
pageToken 字串 下一頁符記。如未指定,則會傳回從沒有偏移量開始的使用者。

傳回:

Promise<ListUsersResult>

針對目前下載的使用者一批和下一頁符記解決的承諾。

BaseAuth.revokeRefreshTokens()

撤銷現有使用者的所有更新權杖。

這個 API 會將使用者的 UserRecord.tokensValidAfterTime 更新為目前的世界標準時間。因此,呼叫此方法的伺服器必須正確設定時鐘並保持同步。

雖然這麼做會撤銷特定使用者的所有工作階段,並停用現有工作階段的所有新 ID 權杖,但現有 ID 權杖在自然到期 (一個小時) 前都會維持有效狀態。如要驗證 ID 權杖是否已撤銷,請使用 BaseAuth.verifyIdToken(),其中 checkRevoked 設為 true。

簽名:

revokeRefreshTokens(uid: string): Promise<void>;

參數

參數 類型 說明
UID 字串 與要撤銷更新權杖的使用者相對應的 uid

傳回:

承諾<void>

使用者的更新權杖撤銷後,未履行承諾。

BaseAuth.setCustomUserClaims()

針對所提供 uid 所識別的現有使用者設定其他開發人員聲明,這類權限通常用於定義使用者角色和存取層級。這些憑證附加資訊應會套用到使用者已登入的所有裝置 (憑證過期或強制更新權杖後),以及使用者下次登入。如果使用保留的 OIDC 憑證附加名稱 (sub、iat、iss 等),系統會擲回錯誤。這些憑證設定在已驗證使用者的 ID 權杖 JWT 上。

如需程式碼範例和詳細說明文件,請參閱「定義使用者角色和存取層級」。

簽名:

setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;

參數

參數 類型 說明
UID 字串 要編輯的使用者的 uid
自訂使用者聲明 物件 |空值 開發人員聲稱要設定。如果傳遞的是空值,則會刪除現有的自訂憑證附加資訊。傳送超過 1000 個位元組的自訂憑證附加資訊酬載將擲回錯誤。自訂憑證附加資訊會新增至使用者的 ID 權杖,每個經驗證的要求都會傳輸。針對設定檔無法存取相關使用者屬性,請使用資料庫或其他獨立的儲存系統。

傳回:

承諾<void>

作業順利完成後就會解析的承諾。

BaseAuth.updateProviderConfig()

傳回可解析為對應提供者 ID 的新版 AuthProviderConfig 的承諾。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found 錯誤。

如要使用 SAML 和 OIDC 供應商支援,您必須採用 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP (包括定價和功能),請參閱 GCIP 說明文件

簽名:

updateProviderConfig(providerId: string, updatedConfig: UpdateAuthProviderRequest): Promise<AuthProviderConfig>;

參數

參數 類型 說明
供應商 ID 字串 與要更新的供應商設定相對應的供應商 ID。
已更新設定 UpdateAuthProviderRequest 更新後的設定。

傳回:

Promise<AuthProviderConfig>

以更新後的供應商設定解決的承諾。

BaseAuth.updateUser()

更新現有使用者。

如需程式碼範例和詳細說明文件,請參閱「更新使用者」一文。

簽名:

updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;

參數

參數 類型 說明
UID 字串 與要更新的使用者相對應的 uid
屬性 UpdateRequest 要更新提供使用者的屬性。

傳回:

Promise<UserRecord>

合乎新版使用者資料的承諾。

BaseAuth.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 權杖有效,保證可履行權杖的解碼憑證附加資訊;否則就會遭到拒絕。

BaseAuth.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 的解碼聲明;否則就會遭到拒絕。