Auth
和TenantAwareAuth
API 的通用父介面。
簽名:
export declare abstract class BaseAuth
方法
方法 | 修飾符 | 描述 |
---|---|---|
createCustomToken(uid,developerClaims) | 建立一個新的 Firebase 自訂令牌 (JWT),可將其傳送回客戶端設備,以用於透過客戶端 SDK 的signInWithCustomToken() 方法進行登入。 (租用戶感知實例也會將租用戶 ID 嵌入到令牌中。)請參閱建立自訂令牌以取得程式碼範例和詳細文件。 | |
建立提供者配置(配置) | 建立新的提供者配置時,傳回一個使用新建立的AuthProviderConfig 解析的承諾。 SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。 | |
建立SessionCookie(idToken,sessionCookieOptions) | 使用指定選項建立新的 Firebase 會話 cookie。建立的 JWT 字串可以設定為具有自訂 cookie 策略的伺服器端會話 cookie,並用於會話管理。會話 cookie JWT 將具有與提供的 ID 令牌相同的有效負載聲明。請參閱管理會話 Cookie以取得程式碼範例和詳細文件。 | |
建立使用者(屬性) | 建立一個新使用者。請參閱建立使用者以取得程式碼範例和詳細文件。 | |
刪除ProviderConfig(providerId) | 刪除與傳遞的提供者 ID 對應的提供者配置。如果指定的 ID 不存在,則會拋出auth/configuration-not-found 錯誤。 SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。 | |
刪除用戶(uid) | 刪除現有用戶。請參閱刪除使用者以取得程式碼範例和詳細文件。 | |
刪除用戶(uid) | 刪除給定 uid 指定的使用者。刪除不存在的使用者不會產生錯誤(即此方法是冪等的)。不存在的使用者被視為已成功刪除,因此計入DeleteUsersResult.successCount 值中。最多只能提供 1000 個識別符。如果提供的識別碼超過 1000 個,此方法將引發 FirebaseAuthError。此 API 目前在伺服器上的速率限制為 1 QPS。如果超過此限制,您可能會收到超出配額的錯誤。因此,如果您要刪除超過 1000 個用戶,您可能需要新增延遲以確保不超過此限制。 | |
產生電子郵件驗證連結(電子郵件,actionCodeSettings) | 產生帶外電子郵件操作連結以驗證使用者對指定電子郵件的所有權。作為此方法的參數提供的ActionCodeSettings物件定義連結是否由行動應用程式或瀏覽器處理以及要在深層連結中傳遞的其他狀態資訊等。 | |
產生密碼重設連結(電子郵件,actionCodeSettings) | 產生帶外電子郵件操作連結以重設使用者密碼。此連結是為具有指定電子郵件地址的使用者產生的。可選的ActionCodeSettings物件定義連結是否由行動應用程式或瀏覽器處理以及要在深層連結中傳遞的附加狀態資訊等。 | |
產生SignInWithEmailLink(電子郵件,actionCodeSettings) | 產生帶外電子郵件操作連結以驗證使用者對指定電子郵件的所有權。作為此方法的參數提供的ActionCodeSettings物件定義連結是否由行動應用程式或瀏覽器處理以及要在深層連結中傳遞的其他狀態資訊等。 | |
產生驗證並更改電子郵件連結(電子郵件,新電子郵件,actionCodeSettings) | 產生帶外電子郵件操作連結以驗證使用者對指定電子郵件的所有權。作為此方法的參數提供的ActionCodeSettings物件定義連結是否由行動應用程式或瀏覽器處理以及要在深層連結中傳遞的其他狀態資訊等。 | |
取得提供者配置(提供者 ID) | 透過提供的 ID 尋找身份驗證提供者配置。傳回一個承諾,該承諾使用與指定的提供者 ID 相對應的提供者配置進行解析。如果指定的 ID 不存在,則會拋出auth/configuration-not-found 錯誤。 SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。 | |
取得使用者(uid) | 取得與給定uid 對應的用戶的用戶資料。請參閱檢索使用者資料以取得程式碼範例和詳細文件。 | |
透過電子郵件獲取使用者(電子郵件) | 取得與給定電子郵件對應的使用者的使用者資料。請參閱檢索使用者資料以取得程式碼範例和詳細文件。 | |
getUserByPhoneNumber(電話號碼) | 取得與給定電話號碼對應的用戶的用戶資料。電話號碼必須符合 E.164 規範。請參閱檢索使用者資料以取得程式碼範例和詳細文件。 | |
getUserByProviderUid(providerId, uid) | 取得與給定提供者 ID 對應的使用者的使用者資料。請參閱檢索使用者資料以取得程式碼範例和詳細文件。 | |
取得使用者(標識符) | 取得指定標識符對應的用戶資料。沒有訂購保證;特別是,不保證結果清單中的第 n 個條目對應於輸入參數清單中的第 n 個條目。最多只能提供 100 個識別符。如果提供的識別碼超過 100 個,此方法將引發 FirebaseAuthError。 | |
導入用戶(用戶,選項) | 將提供的使用者清單導入 Firebase Auth。一次最多允許導入 1000 個使用者。導入帶密碼的使用者時,需要指定UserImportOptions 。此操作針對大量匯入進行了最佳化,並且將忽略對uid 、 email 和其他識別碼唯一性的檢查,這可能會導致重複。 | |
清單提供者配置(選項) | 傳回與所提供的篩選器相符的現有提供者配置的清單。一次最多可以列出 100 個提供者配置。 SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。 | |
清單使用者(最大結果,pageToken) | 檢索大小為maxResults 的使用者清單(僅限單一批次),從pageToken 指定的偏移開始。用於批次檢索指定項目的所有使用者。請參閱列出所有使用者以取得程式碼範例和詳細文件。 | |
撤銷刷新令牌(uid) | 撤銷現有使用者的所有刷新令牌。此 API 會將使用者的UserRecord.tokensValidAfterTime更新為目前 UTC。重要的是,呼叫此方法的伺服器的時鐘設定正確並同步。雖然這將撤銷指定使用者的所有會話,並禁止為現有會話建立任何新的 ID 令牌,但現有 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>;
參數
範圍 | 類型 | 描述 |
---|---|---|
配置 | AuthProvider配置 | 要建立的提供者配置。 |
返回:
Promise< AuthProviderConfig >
使用建立的提供者配置解決的承諾。
BaseAuth.createSessionCookie()
使用指定選項建立新的 Firebase 會話 cookie。建立的 JWT 字串可以設定為具有自訂 cookie 策略的伺服器端會話 cookie,並用於會話管理。會話 cookie JWT 將具有與提供的 ID 令牌相同的有效負載聲明。
請參閱管理會話 Cookie以取得程式碼範例和詳細文件。
簽名:
createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;
參數
範圍 | 類型 | 描述 |
---|---|---|
id令牌 | 細繩 | 用於交換會話 cookie 的 Firebase ID 令牌。 |
會話Cookie選項 | 會話Cookie選項 | 會話 cookie 選項,其中包括自訂會話持續時間。 |
返回:
承諾<字串>
使用建立的會話 cookie 解決成功的承諾。
BaseAuth.createUser()
建立一個新使用者。
請參閱建立使用者以取得程式碼範例和詳細文件。
簽名:
createUser(properties: CreateRequest): Promise<UserRecord>;
參數
範圍 | 類型 | 描述 |
---|---|---|
特性 | 建立請求 | 要在要建立的新使用者記錄上設定的屬性。 |
返回:
Promise<使用者記錄>
使用與新創建的用戶相對應的用戶資料來履行承諾。
BaseAuth.deleteProviderConfig()
刪除與傳遞的提供者 ID 對應的提供者配置。如果指定的 ID 不存在,則會拋出auth/configuration-not-found
錯誤。
SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。
簽名:
deleteProviderConfig(providerId: string): Promise<void>;
參數
範圍 | 類型 | 描述 |
---|---|---|
提供者ID | 細繩 | 與要刪除的提供者配置對應的提供者 ID。 |
返回:
承諾<無效>
一個在完成時解決的承諾。
BaseAuth.deleteUser()
刪除現有用戶。
請參閱刪除使用者以取得程式碼範例和詳細文件。
簽名:
deleteUser(uid: string): Promise<void>;
參數
範圍 | 類型 | 描述 |
---|---|---|
uid | 細繩 | 要刪除的使用者對應的uid 。 |
返回:
承諾<無效>
一旦用戶被刪除,空洞的承諾就兌現了。
BaseAuth.deleteUsers()
刪除給定 uid 指定的使用者。
刪除不存在的使用者不會產生錯誤(即此方法是冪等的)。不存在的使用者被視為已成功刪除,因此計入DeleteUsersResult.successCount
值中。
最多只能提供 1000 個識別符。如果提供的識別碼超過 1000 個,此方法將引發 FirebaseAuthError。
此 API 目前在伺服器上的速率限制為 1 QPS。如果超過此限制,您可能會收到超出配額的錯誤。因此,如果您要刪除超過 1000 個用戶,您可能需要新增延遲以確保不超過此限制。
簽名:
deleteUsers(uids: string[]): Promise<DeleteUsersResult>;
參數
範圍 | 類型 | 描述 |
---|---|---|
uid | 細繩[] | 與要刪除的使用者對應的uids 。 |
返回:
Promise< DeleteUsersResult >
一個 Promise,解析為成功/失敗刪除的總數,以及與失敗刪除對應的錯誤數組。
BaseAuth.generateEmailVerificationLink()
產生帶外電子郵件操作連結以驗證使用者對指定電子郵件的所有權。作為此方法的參數提供的ActionCodeSettings物件定義連結是否由行動應用程式或瀏覽器處理以及要在深層連結中傳遞的其他狀態資訊等。
簽名:
generateEmailVerificationLink(email: string, actionCodeSettings?: ActionCodeSettings): Promise<string>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電子郵件 | 細繩 | 要驗證的電子郵件帳戶。 |
動作代碼設定 | 動作代碼設定 | 動作代碼設定。如果指定,狀態/繼續 URL 將設定為電子郵件驗證連結中的「ContinueUrl」參數。預設電子郵件驗證登入頁面將使用此顯示返回應用程式(如果已安裝)的連結。如果未指定 actionCodeSettings,則不會將 URL 附加到操作 URL。提供的狀態 URL 必須屬於開發者在控制台中列入白名單的網域。否則會拋出錯誤。只有當開發者配置並接受 Firebase 動態連結服務條款時,行動應用程式重新導向才適用。只有在相同 Firebase Auth 專案中配置 Android 套件名稱和 iOS 套件 ID 時,才會考慮它們。 |
返回:
承諾<字串>
透過產生的連結解決的承諾。
例子
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>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電子郵件 | 細繩 | 需要重設密碼的使用者的電子郵件地址。 |
動作代碼設定 | 動作代碼設定 | 動作代碼設定。如果指定,狀態/繼續 URL 將設定為密碼重設連結中的「ContinueUrl」參數。預設密碼重設登入頁面將使用它來顯示返回應用程式(如果已安裝)的連結。如果未指定 actionCodeSettings,則不會將 URL 附加到操作 URL。提供的狀態 URL 必須屬於開發者在控制台中列入白名單的網域。否則會拋出錯誤。只有當開發者配置並接受 Firebase 動態連結服務條款時,行動應用程式重新導向才適用。只有在相同 Firebase Auth 專案中配置 Android 套件名稱和 iOS 套件 ID 時,才會考慮它們。 |
返回:
承諾<字串>
透過產生的連結解決的承諾。
例子
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>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電子郵件 | 細繩 | 要驗證的電子郵件帳戶。 |
動作代碼設定 | 動作代碼設定 | 動作代碼設定。如果指定,狀態/繼續 URL 將設定為電子郵件驗證連結中的「ContinueUrl」參數。預設電子郵件驗證登入頁面將使用此顯示返回應用程式(如果已安裝)的連結。如果未指定 actionCodeSettings,則不會將 URL 附加到操作 URL。提供的狀態 URL 必須屬於開發者在控制台中列入白名單的網域。否則會拋出錯誤。只有當開發者配置並接受 Firebase 動態連結服務條款時,行動應用程式重新導向才適用。只有在相同 Firebase Auth 專案中配置 Android 套件名稱和 iOS 套件 ID 時,才會考慮它們。 |
返回:
承諾<字串>
透過產生的連結解決的承諾。
例子
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>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電子郵件 | 細繩 | 目前的電子郵件帳戶。 |
新郵件 | 細繩 | 帳號要更新到的電子郵件地址。 |
動作代碼設定 | 動作代碼設定 | 動作代碼設定。如果指定,狀態/繼續 URL 將設定為電子郵件驗證連結中的「ContinueUrl」參數。預設電子郵件驗證登入頁面將使用此顯示返回應用程式(如果已安裝)的連結。如果未指定 actionCodeSettings,則不會將 URL 附加到操作 URL。提供的狀態 URL 必須屬於控制台中授權的網域,否則將引發錯誤。只有當開發者配置並接受 Firebase 動態連結服務條款時,行動應用程式重新導向才適用。只有在相同 Firebase Auth 專案中配置 Android 套件名稱和 iOS 套件 ID 時,才會考慮它們。 |
返回:
承諾<字串>
透過產生的連結解決的承諾。
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<使用者記錄>
使用與所提供的uid
對應的用戶資料履行的承諾。
BaseAuth.getUserByEmail()
取得與給定電子郵件對應的使用者的使用者資料。
請參閱檢索使用者資料以取得程式碼範例和詳細文件。
簽名:
getUserByEmail(email: string): Promise<UserRecord>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電子郵件 | 細繩 | 與要取得其資料的使用者對應的電子郵件。 |
返回:
Promise<使用者記錄>
使用與所提供的電子郵件相對應的使用者資料來履行承諾。
BaseAuth.getUserByPhoneNumber()
取得與給定電話號碼對應的用戶的用戶資料。電話號碼必須符合 E.164 規範。
請參閱檢索使用者資料以取得程式碼範例和詳細文件。
簽名:
getUserByPhoneNumber(phoneNumber: string): Promise<UserRecord>;
參數
範圍 | 類型 | 描述 |
---|---|---|
電話號碼 | 細繩 | 與要取得其資料的使用者對應的電話號碼。 |
返回:
Promise<使用者記錄>
使用與所提供的電話號碼對應的用戶資料履行承諾。
BaseAuth.getUserByProviderUid()
取得與給定提供者 ID 對應的使用者的使用者資料。
請參閱檢索使用者資料以取得程式碼範例和詳細文件。
簽名:
getUserByProviderUid(providerId: string, uid: string): Promise<UserRecord>;
參數
範圍 | 類型 | 描述 |
---|---|---|
提供者ID | 細繩 | 提供者 ID,例如 Google 提供者的「google.com」。 |
uid | 細繩 | 給定提供者的使用者識別碼。 |
返回:
Promise<使用者記錄>
使用與給定提供者 ID 相對應的使用者資料來履行承諾。
BaseAuth.getUsers()
取得指定標識符對應的用戶資料。
沒有訂購保證;特別是,不保證結果清單中的第 n 個條目對應於輸入參數清單中的第 n 個條目。
最多只能提供 100 個識別符。如果提供的識別碼超過 100 個,此方法將引發 FirebaseAuthError。
簽名:
getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;
參數
範圍 | 類型 | 描述 |
---|---|---|
身份識別 | 使用者標識符[] | 用於指示應傳回哪些使用者記錄的識別碼。條目不得超過 100 個。 |
返回:
Promise< GetUsersResult >
解析為對應用戶記錄的承諾。
例外情況
FirebaseAuthError 如果任何識別碼無效或指定的識別碼超過 100 個。
BaseAuth.importUsers()
將提供的使用者清單導入 Firebase Auth。一次最多允許導入 1000 個使用者。導入帶密碼的使用者時,需要指定UserImportOptions 。此操作針對批次匯入進行了最佳化,並且將忽略對uid
檢查、 email
和其他識別碼的唯一性可能會導致重複。
簽名:
importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;
參數
範圍 | 類型 | 描述 |
---|---|---|
使用者 | 使用者導入記錄[] | 若要匯入 Firebase Auth 的使用者記錄清單。 |
選項 | 使用者導入選項 | 使用者導入選項,當提供的使用者包含密碼憑證時需要。 |
返回:
Promise< UserImportResult >
當操作完成並得到導入結果時解決的承諾。這包括成功導入的數量、失敗導入的數量及其相應的錯誤。
BaseAuth.listProviderConfigs()
傳回與所提供的篩選器相符的現有提供者配置的清單。一次最多可以列出 100 個提供者配置。
SAML 和 OIDC 提供者支援需要 Google Cloud 的 Identity Platform (GCIP)。要了解有關 GCIP 的更多信息,包括定價和功能,請參閱GCIP 文檔。
簽名:
listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;
參數
範圍 | 類型 | 描述 |
---|---|---|
選項 | AuthProvider配置過濾器 | 要套用的提供者配置過濾器。 |
返回:
Promise< ListProviderConfigResults >
透過滿足過濾器要求的提供者配置清單來解決的承諾。
BaseAuth.listUsers()
檢索大小為maxResults
的使用者清單(僅單一批次),從pageToken
指定的偏移量開始。用於批次檢索指定項目的所有使用者。
請參閱列出所有使用者以取得程式碼範例和詳細文件。
簽名:
listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;
參數
範圍 | 類型 | 描述 |
---|---|---|
最大結果 | 數位 | 頁面大小,如果未定義則為 1000。這也是允許的最大限制。 |
頁面令牌 | 細繩 | 下一頁標記。如果未指定,則傳回沒有任何偏移量的起始使用者。 |
返回:
Promise< ListUsersResult >
使用目前批次的下載使用者和下一頁令牌解決的承諾。
BaseAuth.revokeRefreshTokens()
撤銷現有使用者的所有刷新令牌。
此 API 會將使用者的UserRecord.tokensValidAfterTime更新為目前 UTC。重要的是,呼叫此方法的伺服器的時鐘設定正確並同步。
雖然這將撤銷指定使用者的所有會話,並禁止為現有會話建立任何新的 ID 令牌,但現有 ID 令牌可能會保持活動狀態,直到其自然到期(一小時)。若要驗證 ID 令牌是否已撤銷,請使用BaseAuth.verifyIdToken() ,其中checkRevoked
設為 true。
簽名:
revokeRefreshTokens(uid: string): Promise<void>;
參數
範圍 | 類型 | 描述 |
---|---|---|
uid | 細繩 | 需要撤銷刷新令牌的使用者對應的uid 。 |
返回:
承諾<無效>
一旦用戶的刷新令牌被撤銷,就會兌現一個空洞的承諾。
BaseAuth.setCustomUserClaims()
對由提供的uid
的現有使用者設定額外的開發人員聲明,通常用於定義使用者角色和存取等級。這些聲明應傳播到使用者已登入的所有裝置(令牌過期後或強制令牌刷新時)以及使用者下次登入時。如果使用保留的 OIDC 聲明名稱(sub、iat、iss 等) ),請拋出錯誤。它們是在經過身份驗證的使用者的 ID 令牌 JWT 上設定的。
請參閱定義使用者角色和存取等級以取得程式碼範例和詳細文件。
簽名:
setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;
參數
範圍 | 類型 | 描述 |
---|---|---|
uid | 細繩 | 要編輯的使用者的uid 。 |
自訂使用者聲明 | 對象|無效的 | 開發商聲稱要設定。如果傳遞 null,則刪除現有的自訂聲明。傳遞大於 1000 位元組的自訂聲明負載將引發錯誤。自訂聲明會被新增到使用者的 ID 令牌中,該令牌在每個經過身份驗證的請求上傳輸。對於設定檔非存取相關的使用者屬性,請使用資料庫或其他單獨的儲存系統。 |
返回:
承諾<無效>
當操作成功完成時解決的承諾。
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。 |
更新配置 | 更新驗證提供者請求 | 更新後的配置。 |
返回:
Promise< AuthProviderConfig >
透過更新的提供者配置解決的承諾。
BaseAuth.updateUser()
更新現有用戶。
請參閱更新使用者以取得程式碼範例和詳細文件。
簽名:
updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;
參數
範圍 | 類型 | 描述 |
---|---|---|
uid | 細繩 | 要更新的使用者對應的uid 。 |
特性 | 更新請求 | 若要更新所提供使用者的屬性。 |
返回:
Promise<使用者記錄>
更新的用戶資料兌現了承諾。
BaseAuth.verifyIdToken()
驗證 Firebase ID 令牌 (JWT)。如果令牌有效,則透過令牌的解碼聲明來履行承諾;否則,該承諾將被拒絕。
如果checkRevoked
設定為true,首先驗證對應的使用者是否已停用。如果是,則會引發auth/user-disabled
錯誤。如果否,則驗證與 ID 令牌對應的會話是否已撤銷。如果對應使用者的會話無效,則會拋出auth/id-token-revoked
錯誤。如果未指定,則不套用檢查。
請參閱驗證 ID 令牌以取得程式碼範例和詳細文件。
簽名:
verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
參數
範圍 | 類型 | 描述 |
---|---|---|
id令牌 | 細繩 | 要驗證的 ID 令牌。 |
支票已撤銷 | 布林值 | 是否檢查ID令牌是否被撤銷。這需要向 Firebase Auth 後端發出額外請求,以檢查對應使用者的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 的解碼聲明實現承諾;否則,就是被拒絕的承諾。