BaseAuth class

AuthTenantAwareAuth 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。此操作针对批量导入进行了优化,并会忽略对 uidemail 和其他标识符唯一性的检查,这可能会导致重复。
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<UserRecord>

由与新创建的用户对应的用户数据执行的 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。

生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 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
    });

生成带外电子邮件操作链接以重置用户密码。系统会为具有指定电子邮件地址的用户生成链接。可选的 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
    });

生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 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
    });

生成带外电子邮件操作链接,以验证用户对指定电子邮件的所有权。作为此方法的参数提供的 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

返回

Promise<UserRecord>

由与提供的 uid 对应的用户数据执行的 promise。

BaseAuth.getUserByEmail()

获取与指定电子邮件对应的用户的用户数据。

有关代码示例和详细文档,请参阅检索用户数据

签名

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

参数

参数 类型 说明
电子邮件 字符串 要提取其数据的用户对应的电子邮件。

返回

Promise<UserRecord>

由与所提供电子邮件对应的用户数据执行的 promise。

BaseAuth.getUserByPhoneNumber()

获取与指定电话号码对应的用户的用户数据。电话号码必须符合 E.164 规范。

有关代码示例和详细文档,请参阅检索用户数据

签名

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

参数

参数 类型 说明
电话号码 字符串 要提取其数据的用户所对应的电话号码。

返回

Promise<UserRecord>

由与提供的电话号码对应的用户数据执行的 promise。

BaseAuth.getUserByProviderUid()

获取与指定提供方 ID 对应的用户的用户数据。

有关代码示例和详细文档,请参阅检索用户数据

签名

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

参数

参数 类型 说明
providerId 字符串 提供方 ID,例如“google.com”。
uid 字符串 指定提供商的用户标识符。

返回

Promise<UserRecord>

由与指定提供程序 ID 对应的用户数据执行的 promise。

BaseAuth.getUsers()

获取与指定标识符对应的用户数据。

无法保证顺序;特别是,结果列表中的第 n 个条目不一定对应于输入参数列表中的第 n 个条目。

最多只能提供 100 个标识符。如果提供的标识符超过 100 个,此方法会引发 FirebaseAuthError。

签名

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

参数

参数 类型 说明
identifiers UserIdentifier[] 用于表示应返回哪些用户记录的标识符。不得超过 100 个条目。

返回

Promise<GetUsersResult>

解析为相应用户记录的 promise。

异常

FirebaseAuthError 如果有任何标识符无效或指定的标识符超过 100 个。

BaseAuth.importUsers()

将提供的用户列表导入 Firebase Auth。一次最多可以导入 1000 位用户。导入具有密码的用户时,必须指定 UserImportOptions。此操作针对批量导入进行了优化,并会忽略对 uidemail 和其他标识符唯一性的检查,这可能会导致重复。

签名

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

参数

参数 类型 说明
用户 UserImportRecord[] 要导入 Firebase Auth 的用户记录列表。
选项 UserImportOptions 用户导入选项,如果提供的用户提供密码凭据,则必须提供此选项。

返回

Promise<UserImportResult>

使用导入结果完成操作时解析的 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<UserRecord>

由更新后的用户数据执行的 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 时间。如果未指定,则不会应用此附加检查。

返回

Promise<DecodedIdToken>

如果 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。
已撤消检查 布尔值

返回

Promise<DecodedIdToken>

在会话 Cookie 有效的情况下,通过会话 Cookie 的已解码声明实现的 promise;否则,返回被拒绝的 promise。