BaseAuth class

AuthTenantAwareAuth 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 。此操作针对批量导入进行了优化,并且将忽略对uidemail和其他标识符唯一性的检查,这可能会导致重复。
列表提供者配置(选项)返回与所提供的过滤器匹配的现有提供程序配置的列表。一次最多可以列出 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,解析为成功/失败删除的总数,以及与失败删除对应的错误数组。

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

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

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

生成带外电子邮件操作链接以验证用户对指定电子邮件的所有权。作为此方法的参数提供的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 的解码声明实现承诺;否则,就是被拒绝的承诺。