Auth
和 TenantAwareAuth
API 的共同父項介面。
簽名:
export declare abstract class BaseAuth
方法
方式 | 修飾符 | 說明 |
---|---|---|
createCustomToken(uid、developerClaim) | 建立可傳回用戶端裝置的新 Firebase 自訂權杖 (JWT),以便透過用戶端 SDK 的 signInWithCustomToken() 方法登入。(用戶群感知執行個體也會在權杖中嵌入用戶群 ID。)如需程式碼範例和詳細的說明文件,請參閱「建立自訂權杖」一節。 |
|
createProviderConfig(config) | 在建立新提供者設定時,傳回可解決新建立的 AuthProviderConfig 的承諾。SAML 和 OIDC 供應商支援需要 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP,包括定價和功能,請參閱 GCIP 說明文件。 |
|
createSessionCookie(idToken, sessionCookieOptions) | 以指定選項建立新的 Firebase 工作階段 Cookie。產生的 JWT 字串可以設為設有自訂 Cookie 政策的伺服器端工作階段 Cookie,並用於工作階段管理。工作階段 Cookie JWT 的酬載憑證附加資訊與提供的 ID 權杖相同。如需程式碼範例和詳細的說明文件,請參閱「管理工作階段 Cookie」。 | |
createUser(properties) | 建立新使用者。如需程式碼範例和詳細的說明文件,請參閱「建立使用者」。 | |
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。如果提供超過 1000 個 ID,這個方法就會擲回 FirebaseAuthError。這個 API 目前在伺服器的頻率限制為 1 QPS。如果超出這個上限,可能會收到超出配額的錯誤訊息。因此,如果您要刪除的使用者超過 1000 位,可能需要增加延遲時間,確保不會超過這項限制。 |
|
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 對應的使用者資料。系統不保證排序結果;請特別注意,結果清單中的第 n 個項目不一定會對應輸入參數清單中的第 n 個項目。最多可提供 100 個 ID。如果提供超過 100 個 ID,這個方法會擲回 FirebaseAuthError。 | |
importUsers(使用者、選項) | 將提供的使用者名單匯入 Firebase Auth。一次最多只能匯入 1,000 位使用者。匯入含密碼的使用者時,必須指定 UserImportOptions。這項作業已針對大量匯入進行最佳化,且會忽略 uid 、email 和其他 ID 獨特性的檢查,避免重複的情形發生。 |
|
listProviderConfigs(options) | 傳回與所提供篩選器相符的現有提供者設定清單。您一次最多可列出 100 個供應商設定。SAML 和 OIDC 供應商支援需要 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP,包括定價和功能,請參閱 GCIP 說明文件。 | |
listUsers(maxResults, pageToken) | 依據 pageToken 指定的偏移值,擷取大小為 maxResults 的使用者清單 (僅限單一批次)。用於分批擷取指定專案的所有使用者。如需程式碼範例和詳細的說明文件,請參閱列出所有使用者。 |
|
revokeRefreshTokens(uid) | 撤銷現有使用者的所有更新權杖。這個 API 會將使用者的 UserRecord.tokensValidAfterTime 更新為目前的世界標準時間。呼叫這個伺服器的伺服器必須正確設定時鐘,並進行同步處理。雖然這麼做會撤銷指定使用者的所有工作階段,並禁止現有工作階段的任何新 ID 權杖遭到壓縮,但現有的 ID 權杖仍可能會維持有效狀態,直到自然到期為止 (1 小時)。如要驗證是否已撤銷 ID 權杖,請使用 BaseAuth.verifyIdToken(),其中 checkRevoked 已設為 true。 |
|
setCustomUserClaims(uid, customUserClaims) | 針對內含的 uid 所識別的現有使用者設定其他開發人員憑證附加資訊,此憑證通常用於定義使用者角色和存取層級。這些要求應會套用至使用者已登入的所有裝置 (憑證到期後或強制更新憑證後) 以及使用者下次登入時。如果使用保留的 OIDC 憑證附加資訊名稱 (子、iat、iss 等),系統會擲回錯誤。則是在已驗證使用者的 ID 權杖 JWT 上設定。如需程式碼範例和詳細的說明文件,請參閱定義使用者角色和存取層級。 |
|
updateProviderConfig(providerId, updateConfig) | 傳回承諾,且已對應指定提供者 ID 的已更新 AuthProviderConfig 。如果指定的 ID 不存在,系統會顯示 auth/configuration-not-found 錯誤。SAML 和 OIDC 供應商支援需要 Google Cloud 的 Identity Platform (GCIP)。如要進一步瞭解 GCIP,包括定價和功能,請參閱 GCIP 說明文件。 |
|
updateUser(uid, properties) | 更新現有使用者。如需程式碼範例和詳細的說明文件,請參閱「更新使用者」。 | |
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 。 |
開發人員聲明 | 物件 | 要納入自訂權杖酬載的其他選用附加資訊, |
傳回:
Promise<string>
透過所提供 uid
和酬載的自訂權杖完成承諾。
BaseAuth.createProviderConfig()
傳回承諾,在建立新的提供者設定時,會使用新建立的 AuthProviderConfig
解析。
您必須啟用 Google Cloud Identity Platform (GCIP),才能使用 SAML 和 OIDC 供應商。如要進一步瞭解 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 | 工作階段 CookieOptions | 工作階段 Cookie 選項,包含自訂工作階段持續時間。 |
傳回:
Promise<string>
承諾透過已建立的工作階段 Cookie 順利解決的承諾。
BaseAuth.createUser()
建立新使用者。
如需程式碼範例和詳細的說明文件,請參閱「建立使用者」一文。
簽名:
createUser(properties: CreateRequest): Promise<UserRecord>;
參數
參數 | 類型 | 說明 |
---|---|---|
屬性 | 建立要求 | 要建立新使用者記錄的屬性。 |
傳回:
Promise<UserRecord>
透過與新建使用者相對應的使用者資料完成承諾。
BaseAuth.deleteProviderConfig()
刪除與傳遞的提供者 ID 相對應的供應商設定。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found
錯誤。
您必須啟用 Google Cloud Identity Platform (GCIP),才能使用 SAML 和 OIDC 供應商。如要進一步瞭解 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
值。
最多只能提供 1000 個 ID。如果提供超過 1000 個 ID,這個方法會擲回 FirebaseAuthError。
這個 API 目前在伺服器的頻率限制為 QPS。如果超出這個上限,可能會收到超出配額的錯誤訊息。因此,如果您要刪除的使用者超過 1000 位,可能需要增加延遲時間,確保不會超過這項限制。
簽名:
deleteUsers(uids: string[]): Promise<DeleteUsersResult>;
參數
參數 | 類型 | 說明 |
---|---|---|
uid | string[] | 與要刪除的使用者對應的 uids 。 |
傳回:
Promise<DeleteUsersResult>
Promise 會解析成功/失敗的刪除總數,以及與失敗刪除作業相關的錯誤陣列。
BaseAuth.generateEmailVerificationLink()
產生頻外電子郵件動作連結,驗證使用者是否為指定電子郵件的擁有者。針對這個方法提供的 ActionCodeSettings 物件,會定義連結要由行動應用程式或瀏覽器處理,以及要透過深層連結傳遞的其他狀態資訊等等。
簽名:
generateEmailVerificationLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;
參數
參數 | 類型 | 說明 |
---|---|---|
字串 | 要驗證的電子郵件帳戶。 | |
actionCodeSettings | ActionCodeSettings | 動作程式碼設定。如有指定,電子郵件驗證連結中的州/繼續網址會設為「continueUrl」參數。如果已安裝應用程式,預設電子郵件驗證到達網頁會使用這個按鈕顯示返回應用程式的連結。如果未指定 actionCodeSettings,系統就不會在動作網址後方附加網址。您提供的狀態網址必須屬於開發人員在控制台中加入許可清單的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款時,才能使用行動應用程式重新導向功能。Android 套件名稱和 iOS 軟體包 ID 必須在同一個 Firebase 驗證專案中設定,系統才會保留。 |
傳回:
Promise<string>
透過產生的連結解析的承諾。
範例
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>;
參數
參數 | 類型 | 說明 |
---|---|---|
字串 | 要重設密碼的使用者電子郵件地址。 | |
actionCodeSettings | ActionCodeSettings | 動作程式碼設定。如有指定,系統會將狀態/繼續網址設為密碼重設連結中的「continueUrl」參數。如果已安裝應用程式,預設密碼重設到達網頁會使用這個網址顯示返回應用程式的連結。如果未指定 actionCodeSettings,系統就不會在動作網址後方附加網址。您提供的狀態網址必須屬於開發人員在控制台中加入許可清單的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款時,才能使用行動應用程式重新導向功能。Android 套件名稱和 iOS 軟體包 ID 必須在同一個 Firebase 驗證專案中設定,系統才會保留。 |
傳回:
Promise<string>
透過產生的連結解析的承諾。
範例
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>;
參數
參數 | 類型 | 說明 |
---|---|---|
字串 | 要驗證的電子郵件帳戶。 | |
actionCodeSettings | ActionCodeSettings | 動作程式碼設定。如有指定,電子郵件驗證連結中的州/繼續網址會設為「continueUrl」參數。如果已安裝應用程式,預設電子郵件驗證到達網頁會使用這個按鈕顯示返回應用程式的連結。如果未指定 actionCodeSettings,系統就不會在動作網址後方附加網址。您提供的狀態網址必須屬於開發人員在控制台中加入許可清單的網域。否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款時,才能使用行動應用程式重新導向功能。Android 套件名稱和 iOS 軟體包 ID 必須在同一個 Firebase 驗證專案中設定,系統才會保留。 |
傳回:
Promise<string>
透過產生的連結解析的承諾。
範例
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>;
參數
參數 | 類型 | 說明 |
---|---|---|
字串 | 目前的電子郵件帳戶。 | |
新電子郵件 | 字串 | 帳戶要更新的電子郵件地址。 |
actionCodeSettings | ActionCodeSettings | 動作程式碼設定。如有指定,電子郵件驗證連結中的州/繼續網址會設為「continueUrl」參數。如果已安裝應用程式,預設電子郵件驗證到達網頁會使用這個按鈕顯示返回應用程式的連結。如果未指定 actionCodeSettings,系統就不會在動作網址後方附加網址。提供的狀態網址必須屬於已在控制台中授權的網域,否則系統會擲回錯誤。只有在開發人員設定並接受 Firebase Dynamic Links 服務條款時,才能使用行動應用程式重新導向功能。Android 套件名稱和 iOS 軟體包 ID 必須在同一個 Firebase 驗證專案中設定,系統才會保留。 |
傳回:
Promise<string>
透過產生的連結解析的承諾。
BaseAuth.getProviderConfig()
根據提供的 ID 查詢驗證提供者設定。傳回承諾,可解析與指定提供者 ID 對應的提供者設定。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found
錯誤。
您必須啟用 Google Cloud Identity Platform (GCIP),才能使用 SAML 和 OIDC 供應商。如要進一步瞭解 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。如果提供超過 100 個 ID,這個方法會擲回 FirebaseAuthError。
簽名:
getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;
參數
參數 | 類型 | 說明 |
---|---|---|
identifiers | 使用者 ID[] | 此 ID 可用於指明應傳回哪些使用者記錄。最多只能包含 100 個項目。 |
傳回:
Promise<GetUsersResult>
解析對應使用者記錄的承諾。
例外狀況
FirebaseAuthError 如果有任何 ID 無效或指定超過 100 個 ID,則此為 FirebaseAuthError。
BaseAuth.importUsers()
將提供的使用者名單匯入 Firebase Auth。一次最多只能匯入 1,000 位使用者。匯入含密碼的使用者時,必須指定 UserImportOptions。這項作業已針對大量匯入進行最佳化,且會忽略 uid
、email
和其他 ID 獨特性的檢查,避免重複的情形發生。
簽名:
importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;
參數
參數 | 類型 | 說明 |
---|---|---|
使用者 | 使用者匯入記錄[] | 要匯入 Firebase 驗證的使用者記錄清單。 |
選項 | 使用者匯入選項 | 使用者提供匯入選項;如果使用者提供密碼憑證,就必須提供這類選項。 |
傳回:
Promise<UserImportResult>
作業完成並收到匯入結果時可解決的承諾。包括成功匯入次數、失敗的匯入作業數量和相應的錯誤。
BaseAuth.listProviderConfigs()
傳回與所提供篩選器相符的現有提供者設定清單。一次最多可列出 100 個供應商設定。
您必須啟用 Google Cloud Identity Platform (GCIP),才能使用 SAML 和 OIDC 供應商。如要進一步瞭解 GCIP,包括定價和功能,請參閱 GCIP 說明文件。
簽名:
listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;
參數
參數 | 類型 | 說明 |
---|---|---|
選項 | AuthProviderConfigFilter | 要套用的供應商設定篩選器。 |
傳回:
Promise<ListProviderConfigResults>
一項承諾,與符合篩選需求的供應商設定清單有所解決。
BaseAuth.listUsers()
依據 pageToken
指定的偏移值,擷取大小為 maxResults
的使用者清單 (僅限單一批次)。可用於批次擷取指定專案的所有使用者。
如需程式碼範例和詳細的說明文件,請參閱「列出所有使用者」一文。
簽名:
listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;
參數
參數 | 類型 | 說明 |
---|---|---|
最多結果 | 數字 | 頁面大小,如未定義,則為 1000。這也是您允許的上限。 |
pageToken | 字串 | 下一頁符記。如未指定,系統會傳回不含任何偏移值的使用者。 |
傳回:
Promise<ListUsersResult>
根據目前一批下載的使用者和下一個網頁權杖解決的承諾。
BaseAuth.revokeRefreshTokens()
撤銷現有使用者的所有更新權杖。
這個 API 會將使用者的 UserRecord.tokensValidAfterTime 更新為目前的世界標準時間。呼叫這個伺服器的伺服器必須正確設定時鐘,並進行同步處理。
雖然這麼做會撤銷指定使用者的所有工作階段,並禁止現有工作階段的任何新 ID 權杖遭到壓縮,但現有的 ID 權杖可能會在自然到期前失效 (1 小時)。如要驗證是否已撤銷 ID 權杖,請使用 BaseAuth.verifyIdToken(),其中 checkRevoked
已設為 true。
簽名:
revokeRefreshTokens(uid: string): Promise<void>;
參數
參數 | 類型 | 說明 |
---|---|---|
uid | 字串 | 與要撤銷更新權杖的使用者相對應的 uid 。 |
傳回:
承諾<void>
撤銷使用者的更新權杖後,會執行空白承諾。
BaseAuth.setCustomUserClaims()
為現有的 uid
所識別的現有使用者設定其他開發人員憑證附加資訊,這類憑證通常用於定義使用者角色和存取層級。這些要求應會套用至使用者已登入的所有裝置 (憑證到期後或強制更新憑證後) 以及使用者下次登入時。如果使用保留的 OIDC 憑證附加資訊名稱 (子、iat、iss 等),系統會擲回錯誤。這些憑證設定在已驗證使用者的 ID 權杖 JWT 上。
如需程式碼範例和詳細的說明文件,請參閱定義使用者角色和存取層級。
簽名:
setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;
參數
參數 | 類型 | 說明 |
---|---|---|
uid | 字串 | 要編輯的使用者的 uid 。 |
自訂使用者聲明 | 物件 | 空值 | 開發人員聲稱要設定。如果傳遞空值,系統會刪除現有的自訂聲明。如果傳送超過 1,000 個位元組的自訂憑證附加資訊酬載,就會發生錯誤。自訂憑證附加資訊會新增至使用者的 ID 權杖,在每次已驗證要求時傳送。如果是與設定檔無關的使用者屬性,請使用資料庫或其他獨立的儲存系統。 |
傳回:
承諾<void>
作業成功完成後解決的承諾。
BaseAuth.updateProviderConfig()
傳回承諾,且已對應指定提供者 ID 的已更新 AuthProviderConfig
。如果指定的 ID 不存在,系統會擲回 auth/configuration-not-found
錯誤。
您必須啟用 Google Cloud Identity Platform (GCIP),才能使用 SAML 和 OIDC 供應商。如要進一步瞭解 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 的已解碼憑證執行;否則,就會拒絕承諾。