Auth
和 TenantAwareAuth
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。這項作業已針對大量匯入作業進行最佳化,且會忽略 uid 、email 和其他不重複 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>
解析為成功/失敗的刪除項目總數,以及與失敗刪除相關的錯誤陣列。
BaseAuth.generateEmailVerificationLink()
產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 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
});
BaseAuth.generatePasswordResetLink()
產生錶帶外的電子郵件操作連結,用於重設使用者密碼。系統會為擁有指定電子郵件地址的使用者產生連結。選用的 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
});
BaseAuth.generateSignInWithEmailLink()
產生錶帶外電子郵件操作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 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
});
BaseAuth.generateVerifyAndChangeEmailLink()
產生頻外電子郵件動作連結,驗證使用者對指定電子郵件的擁有權。以引數形式提供給此方法的 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。這項作業已針對大量匯入作業進行最佳化,且會忽略 uid
、email
和其他不重複 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 的解碼聲明;否則就會遭到拒絕。