Auth
和 TenantAwareAuth
API 的通用父接口。
签名:
export declare abstract class BaseAuth
方法
方法 | 修饰符 | 说明 |
---|---|---|
createCustomToken(uid, developerClaims) | 创建新的 Firebase 自定义令牌 (JWT),可发送回客户端设备,用于登录客户端 SDK 的signInWithCustomToken() 方法。(租户感知的实例还会在令牌中嵌入租户 ID。)如需查看代码示例和详细文档,请参阅创建自定义令牌。 |
|
createProviderConfig(config) | 在创建新的提供方配置后,返回一个使用新创建的 AuthProviderConfig 进行解析的 promise。要支持 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(uid) | 删除由给定 uid 指定的用户。删除不存在的用户不会产生错误(即此方法具有幂等性)。非现有用户会被视为已成功删除,因此会计入 DeleteUsersResult.successCount 值。最多只能提供 1000 个标识符。如果提供的标识符超过 1000 个,此方法会抛出 FirebaseAuthError。目前,此 API 在服务器上的速率限制为 1 QPS。如果超出此限制,您可能会收到超出配额的错误。因此,如果您要删除超过 1000 位用户,则可能需要增加延迟时间,确保不会超出此限制。 |
|
generateEmailVerificationLink(email, actionCodeSettings) | 生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 ActionCodeSettings 对象会定义链接是否由移动应用或浏览器处理,以及要在深层链接中传递的其他状态信息,等等。 | |
generatePasswordResetLink(email, actionCodeSettings) | 生成带外电子邮件操作链接以重置用户密码。系统会为具有指定电子邮件地址的用户生成链接。可选的 ActionCodeSettings 对象定义了链接是由移动应用还是浏览器处理的,以及在深层链接中传递的其他状态信息等。 | |
generateSignInWithEmailLink(email, actionCodeSettings) | 生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 ActionCodeSettings 对象会定义链接是否由移动应用或浏览器处理,以及要在深层链接中传递的其他状态信息,等等。 | |
generateVerifyAndChangeEmailLink(email, newEmail, actionCodeSettings) | 生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 ActionCodeSettings 对象会定义链接是否由移动应用或浏览器处理,以及要在深层链接中传递的其他状态信息,等等。 | |
getProviderConfig(providerId) | 根据提供的 ID 查找 Auth 提供方配置。返回一个使用与指定的提供方 ID 对应的提供方配置进行解析的 promise。如果指定的 ID 不存在,系统会抛出 auth/configuration-not-found 错误。要支持 SAML 和 OIDC 提供方,必须使用 Google Cloud Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。 |
|
getUser(uid) | 获取与指定 uid 对应的用户的用户数据。如需代码示例和详细文档,请参阅检索用户数据。 |
|
getUserByEmail(email) | 获取与指定电子邮件对应的用户的用户数据。如需代码示例和详细文档,请参阅检索用户数据。 | |
getUserByPhoneNumber(phoneNumber) | 获取与指定电话号码对应的用户的用户数据。电话号码必须符合 E.164 规范。有关代码示例和详细文档,请参阅检索用户数据。 | |
getUserByProviderUid(providerId, uid) | 获取与指定提供方 ID 对应的用户的用户数据。如需代码示例和详细文档,请参阅检索用户数据。 | |
getUsers(identifiers) | 获取与指定标识符对应的用户数据。无法保证排序;特别是,我们无法保证结果列表中的第 n 个条目与输入参数列表中的第 n 个条目对应。最多只能提供 100 个标识符。如果提供的标识符超过 100 个,此方法会引发 FirebaseAuthError。 | |
importUsers(用户, 选项) | 将提供的用户列表导入 Firebase Auth。一次最多可以导入 1000 位用户。导入具有密码的用户时,必须指定 UserImportOptions。此操作针对批量导入进行了优化,并会忽略对 uid 、email 和其他标识符唯一性的检查,这可能会导致重复。 |
|
listProviderConfigs(选项) | 返回与提供的过滤条件匹配的现有提供方配置的列表。一次最多可以列出 100 项提供方配置。若要支持 SAML 和 OIDC 提供方,则必须使用 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。 | |
listUsers(maxResults, pageToken) | 检索大小为 maxResults 的用户列表(仅限单个批次),从 pageToken 指定的偏移量开始。此方法用于批量检索指定项目的所有用户。如需代码示例和详细文档,请参阅列出所有用户。 |
|
revokeRefreshTokens(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 进行解析的 promise。如果指定的 ID 不存在,系统会抛出 auth/configuration-not-found 错误。要支持 SAML 和 OIDC 提供方,必须使用 Google Cloud Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。 |
|
updateUser(uid, properties) | 更新现有用户。如需代码示例和详细文档,请参阅更新用户。 | |
verifyIdToken(idToken, checkRevoked) | 验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的已解码声明执行 promise;否则,promise 会被拒绝。如果 checkRevoked 设为 true,首先验证相应用户是否已停用。如果是,则会抛出 auth/user-disabled 错误。如果否,验证与 ID 令牌对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/id-token-revoked 错误。如果未指定,则系统不会应用检查。如需查看代码示例和详细文档,请参阅验证 ID 令牌。 |
|
verifySessionCookie(sessionCookie, checkRevoked) | 验证 Firebase 会话 Cookie。返回包含 Cookie 声明的 Promise。如果无法验证 Cookie,则拒绝 promise。如果 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
和载荷的自定义令牌执行的 promise。
BaseAuth.createProviderConfig()
在创建新的提供程序配置时,返回一个使用新创建的 AuthProviderConfig
进行解析的 promise。
若要支持 SAML 和 OIDC 提供方,则需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
签名:
createProviderConfig(config: AuthProviderConfig): Promise<AuthProviderConfig>;
参数
参数 | 类型 | 说明 |
---|---|---|
config | AuthProviderConfig | 要创建的提供方配置。 |
返回:
Promise<AuthProviderConfig>
使用创建的提供程序配置进行解析的 promise。
BaseAuth.createSessionCookie()
使用指定选项创建新的 Firebase 会话 Cookie。创建的 JWT 字符串可设置为具有自定义 Cookie 政策的服务器端会话 Cookie,并可用于会话管理。会话 Cookie JWT 将与提供的 ID 令牌具有相同的负载声明。
有关代码示例和详细文档,请参阅管理会话 Cookie。
签名:
createSessionCookie(idToken: string, sessionCookieOptions: SessionCookieOptions): Promise<string>;
参数
参数 | 类型 | 说明 |
---|---|---|
idToken | 字符串 | 用于交换会话 Cookie 的 Firebase ID 令牌。 |
sessionCookieOptions | SessionCookieOptions | 包含自定义会话时长的会话 Cookie 选项。 |
返回:
承诺<字符串>
使用创建的会话 Cookie 成功执行解析的 promise。
BaseAuth.createUser()
创建新用户。
请参阅创建用户,查看代码示例和详细文档。
签名:
createUser(properties: CreateRequest): Promise<UserRecord>;
参数
参数 | 类型 | 说明 |
---|---|---|
properties | CreateRequest | 要在要创建的新用户记录上设置的属性。 |
返回:
由与新创建的用户对应的用户数据执行的 promise。
BaseAuth.deleteProviderConfig()
删除与传递的提供方 ID 对应的提供方配置。如果指定的 ID 不存在,则会抛出 auth/configuration-not-found
错误。
若要支持 SAML 和 OIDC 提供方,则需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
签名:
deleteProviderConfig(providerId: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
providerId | 字符串 | 与要删除的提供方配置对应的提供方 ID。 |
返回:
承诺<void>
一个在完成时解析的 promise。
BaseAuth.deleteUser()
删除现有用户。
有关代码示例和详细文档,请参阅删除用户。
签名:
deleteUser(uid: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
uid | 字符串 | 与要删除的用户对应的 uid 。 |
返回:
承诺<void>
删除用户后执行一个空的 promise。
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>;
参数
参数 | 类型 | 说明 |
---|---|---|
电子邮件 | 字符串 | 要验证的电子邮件账号。 |
actionCodeSettings | ActionCodeSettings | 操作代码设置。如果已指定,状态/接续网址将设置为“continueUrl”参数。如果用户已安装应用,则默认的电子邮件验证着陆页将使用此着陆页显示返回应用的链接。如果未指定 actionCodeSettings,则操作网址不会附加任何网址。提供的状态网址必须属于开发者在控制台中列入白名单的网域。否则会抛出错误。只有在开发者配置并接受 Firebase Dynamic Links 服务条款的情况下,移动应用重定向才适用。只有在同一 Firebase Auth 项目中配置时,才遵循 Android 软件包名称和 iOS 软件包 ID。 |
返回:
承诺<字符串>
使用生成的链接进行解析的 promise。
示例
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 服务条款的情况下,移动应用重定向才适用。仅当在同一 Firebase 身份验证项目中配置 Android 软件包名称和 iOS 软件包 ID 时,才会遵循这些内容。 |
返回:
承诺<字符串>
使用生成的链接进行解析的 promise。
示例
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 服务条款的情况下,移动应用重定向才适用。仅当在同一 Firebase 身份验证项目中配置 Android 软件包名称和 iOS 软件包 ID 时,才会遵循这些内容。 |
返回:
承诺<字符串>
使用生成的链接进行解析的 promise。
示例
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 服务条款的情况下,移动应用重定向才适用。仅当在同一 Firebase 身份验证项目中配置 Android 软件包名称和 iOS 软件包 ID 时,才会遵循这些内容。 |
返回:
承诺<字符串>
使用生成的链接进行解析的 promise。
BaseAuth.getProviderConfig()
根据提供的 ID 查找 Auth 提供方配置。返回一个使用与指定的提供方 ID 对应的提供方配置进行解析的 promise。如果指定的 ID 不存在,则会抛出 auth/configuration-not-found
错误。
若要支持 SAML 和 OIDC 提供方,则需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
签名:
getProviderConfig(providerId: string): Promise<AuthProviderConfig>;
参数
参数 | 类型 | 说明 |
---|---|---|
providerId | 字符串 | 与要返回的提供方配置对应的提供方 ID。 |
返回:
Promise<AuthProviderConfig>
使用与所提供 ID 对应的配置进行解析的 promise。
BaseAuth.getUser()
获取与指定 uid
对应的用户的用户数据。
有关代码示例和详细文档,请参阅检索用户数据。
签名:
getUser(uid: string): Promise<UserRecord>;
参数
参数 | 类型 | 说明 |
---|---|---|
uid | 字符串 | 要提取其数据的用户对应的 uid 。 |
返回:
由与提供的 uid
对应的用户数据执行的 promise。
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>;
参数
参数 | 类型 | 说明 |
---|---|---|
providerId | 字符串 | 提供方 ID,例如“google.com”。 |
uid | 字符串 | 指定提供商的用户标识符。 |
返回:
由与指定提供程序 ID 对应的用户数据执行的 promise。
BaseAuth.getUsers()
获取与指定标识符对应的用户数据。
无法保证顺序;特别是,结果列表中的第 n 个条目不一定对应于输入参数列表中的第 n 个条目。
最多只能提供 100 个标识符。如果提供的标识符超过 100 个,此方法会引发 FirebaseAuthError。
签名:
getUsers(identifiers: UserIdentifier[]): Promise<GetUsersResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
identifiers | UserIdentifier[] | 用于表示应返回哪些用户记录的标识符。不得超过 100 个条目。 |
返回:
解析为相应用户记录的 promise。
异常
FirebaseAuthError 如果有任何标识符无效或指定的标识符超过 100 个。
BaseAuth.importUsers()
将提供的用户列表导入 Firebase Auth。一次最多可以导入 1000 位用户。导入具有密码的用户时,必须指定 UserImportOptions。此操作针对批量导入进行了优化,并会忽略对 uid
、email
和其他标识符唯一性的检查,这可能会导致重复。
签名:
importUsers(users: UserImportRecord[], options?: UserImportOptions): Promise<UserImportResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | UserImportRecord[] | 要导入 Firebase Auth 的用户记录列表。 |
选项 | UserImportOptions | 用户导入选项,如果提供的用户提供密码凭据,则必须提供此选项。 |
返回:
使用导入结果完成操作时解析的 promise。其中包括成功导入的数量、失败的导入数量及其对应的错误。
BaseAuth.listProviderConfigs()
返回与提供的过滤条件匹配的现有提供方配置的列表。一次最多可以列出 100 项提供方配置。
若要支持 SAML 和 OIDC 提供方,则需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
签名:
listProviderConfigs(options: AuthProviderConfigFilter): Promise<ListProviderConfigResults>;
参数
参数 | 类型 | 说明 |
---|---|---|
选项 | AuthProviderConfigFilter | 要应用的提供方配置过滤条件。 |
返回:
Promise<ListProviderConfigResults>
使用满足过滤器要求的提供程序配置列表进行解析的 promise。
BaseAuth.listUsers()
检索大小为 maxResults
的用户列表(仅限单个批次),从 pageToken
指定的偏移量开始。这用于批量检索指定项目的所有用户。
有关代码示例和详细文档,请参阅列出所有用户。
签名:
listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
maxResults | 数字 | 页面大小,如果未定义,则为 1000。这也是允许的上限。 |
pageToken | 字符串 | 下一页令牌。如果未指定,则返回从无任何偏移量开始的用户。 |
返回:
Promise<ListUsersResult>
通过当前下载批次的用户和下一个页面令牌解析的 promise。
BaseAuth.revokeRefreshTokens()
撤消现有用户的所有刷新令牌。
此 API 会将用户的 UserRecord.tokensValidAfterTime 更新为当前世界协调时间 (UTC)。请务必确保调用此时间戳的服务器正确设置并同步时钟。
虽然这会撤消指定用户的所有会话,并禁止现有会话的所有新 ID 令牌生成,但现有 ID 令牌在自然到期(一小时)之前可能仍然有效。要验证 ID 令牌是否已撤消,请使用 BaseAuth.verifyIdToken(),其中 checkRevoked
设置为 true。
签名:
revokeRefreshTokens(uid: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
uid | 字符串 | 与要撤消其刷新令牌的用户对应的 uid 。 |
返回:
承诺<void>
用户的刷新令牌被撤消后,系统会执行一个空 promise。
BaseAuth.setCustomUserClaims()
针对由提供的 uid
标识的现有用户设置其他开发者声明,通常用于定义用户角色和访问权限级别。这些声明应该传播到用户已登录的所有设备(令牌过期或强制刷新令牌后),以及用户下次登录时。如果使用了预留的 OIDC 声明名称(sub、iat、iss 等),系统会抛出错误。它们是在经过身份验证的用户的 ID 令牌 JWT 上设置的。
有关代码示例和详细文档,请参阅定义用户角色和访问权限级别。
签名:
setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
uid | 字符串 | 要修改的用户的 uid 。 |
customUserClaims | 对象 |null | 开发者声明设置。如果传递 null,则会删除现有的自定义声明。传递大于 1,000 字节的自定义声明载荷时,系统会抛出错误。自定义声明将添加至用户的 ID 令牌,该令牌将在每个经过身份验证的请求上传输。对于与个人资料无关的用户属性,请使用数据库或其他单独的存储系统。 |
返回:
承诺<void>
操作成功完成时解析的 promise。
BaseAuth.updateProviderConfig()
返回一个使用与指定的提供方 ID 相对应的更新后的 AuthProviderConfig
进行解析的 promise。如果指定的 ID 不存在,则会抛出 auth/configuration-not-found
错误。
若要支持 SAML 和 OIDC 提供方,则需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档。
签名:
updateProviderConfig(providerId: string, updatedConfig: UpdateAuthProviderRequest): Promise<AuthProviderConfig>;
参数
参数 | 类型 | 说明 |
---|---|---|
providerId | 字符串 | 与要更新的提供方配置对应的提供方 ID。 |
updatedConfig | UpdateAuthProviderRequest | 已更新的配置。 |
返回:
Promise<AuthProviderConfig>
使用更新后的提供程序配置进行解析的 promise。
BaseAuth.updateUser()
更新现有用户。
请参阅更新用户,查看代码示例和详细文档。
签名:
updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;
参数
参数 | 类型 | 说明 |
---|---|---|
uid | 字符串 | 与要更新的用户对应的 uid 。 |
properties | UpdateRequest | 要针对指定用户更新的属性。 |
返回:
由更新后的用户数据执行的 promise。
BaseAuth.verifyIdToken()
验证 Firebase ID 令牌 (JWT)。如果令牌有效,则通过令牌的已解码声明执行 promise;否则,promise 将被拒绝。
如果 checkRevoked
设为 true,请先验证相应用户是否已停用。如果是,则会抛出 auth/user-disabled
错误。如果否,验证与 ID 令牌对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/id-token-revoked
错误。如果未指定,则不会应用检查。
请参阅验证 ID 令牌,查看代码示例和详细文档。
签名:
verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
参数
参数 | 类型 | 说明 |
---|---|---|
idToken | 字符串 | 要验证的 ID 令牌。 |
已撤消检查 | 布尔值 | 是否检查 ID 令牌是否已被撤消。这需要向 Firebase Auth 后端发送额外的请求,以检查相应用户的 tokensValidAfterTime 时间。如果未指定,则不会应用此附加检查。 |
返回:
如果 ID 令牌有效,则表示通过令牌的已解码声明实现的 promise;否则,返回被拒绝的 promise。
BaseAuth.verifySessionCookie()
验证 Firebase 会话 Cookie。返回包含 Cookie 声明的 Promise。如果无法验证 Cookie,则拒绝 promise。
如果 checkRevoked
设为 true,首先验证相应用户是否已停用:如果是,系统会抛出 auth/user-disabled
错误。如果否,验证与会话 Cookie 对应的会话是否已被撤消。如果相应用户的会话已失效,系统会抛出 auth/session-cookie-revoked
错误。如果未指定,则不会执行检查。
如需查看代码示例和详细文档,请参阅验证会话 Cookie
签名:
verifySessionCookie(sessionCookie: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
参数
参数 | 类型 | 说明 |
---|---|---|
会话 Cookie | 字符串 | 要验证的会话 Cookie。 |
已撤消检查 | 布尔值 |
返回:
在会话 Cookie 有效的情况下,通过会话 Cookie 的已解码声明实现的 promise;否则,返回被拒绝的 promise。