firebase-admin.auth package

Firebase Authentication。

函数

函数 说明
getAuth(app) 获取默认应用或指定应用的 Auth 服务。调用 getAuth() 时不使用任何参数,即可访问默认应用的 Auth 服务,也可以将其作为 getAuth(app) 调用,以访问与特定应用相关联的 Auth 服务。

说明
身份验证 将身份验证服务绑定到提供的应用。一个 Auth 实例可以有多个租户。
BaseAuth AuthTenantAwareAuth API 的通用父接口。
MultiFactorInfo 表示用户注册的第二重身份验证常见属性的接口。
MultiFactorSettings 多重身份验证相关用户设置。
PhoneMultiFactorInfo 表示特定于手机的用户注册的第二重身份验证的界面。
ProjectConfig 表示项目配置。
ProjectConfigManager 管理(获取和更新)当前项目配置。
租户 表示租户配置。多租户支持需要使用 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档在 Google Cloud Identity Platform 项目中使用多租户之前,必须通过 Cloud 控制台界面允许租户访问该项目。租户配置可提供显示名称、租户标识符和电子邮件身份验证配置等信息。对于 OIDC/SAML 提供方配置管理,应使用 TenantAwareAuth 实例(而不是 Tenant)来检索租户上已配置的 IdP 的列表。在配置这些提供方时,请注意,租户将继承其父级项目的已列入白名单的网域和经过身份验证的重定向 URI。租户的所有其他设置也将继承。这些需要通过 Cloud 控制台界面进行管理。
TenantAwareAuth 租户感知的 Auth 界面,用于管理用户、配置 SAML/OIDC 提供方、为特定租户生成用于重置密码、电子邮件验证等操作的电子邮件链接。多租户支持需要 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档每个租户都包含自己的身份提供方、设置和用户组。使用 TenantAwareAuth,还可以管理特定租户和相应 OIDC/SAML 配置的用户,可以验证已登录特定租户的用户的 ID 令牌,还可以为属于该租户的用户生成电子邮件操作链接。可通过调用 TenantManager.authForTenant() 实例化特定 tenantIdTenantAwareAuth 实例。
租户 定义用于帮助管理租户相关操作的租户管理器。其中包括:
  • 能够创建、更新、列出、获取和删除底层项目的租户。
  • 获取 TenantAwareAuth 实例,用于在指定租户的上下文中运行与身份验证相关的操作(用户管理、提供方配置管理、令牌验证、电子邮件链接生成等)。
用户信息 表示来自第三方身份提供方(如 Google 或 Facebook)的用户信息。
UserMetadata 表示用户的元数据。
UserRecord 表示用户。

接口

接口 说明
ActionCodeSettings 该接口通过可选的 Android 和 iOS 软件包标识符定义必需的接续/状态网址。
AllowByDefault 定义一项政策,默认允许所有区域,并将不允许的区域添加到禁止列表中。
AllowByDefaultWrap allowByDefault 接口的互斥短信区域配置
仅列入许可名单 定义一项政策,仅允许将区域明确添加到许可名单中。
AllowlistOnlyWrap allowlistOnly 接口的互斥短信区域配置
AuthProviderConfigFilter 用于列出提供方配置的过滤条件界面。在指定如何通过 BaseAuth.listProviderConfigs() 列出已配置的身份提供方时,会用到此参数。
BaseAuthProviderConfig 身份验证提供方的基本配置界面。
BaseCreateMultiFactorInfoRequest 表示 CreateRequest 的用户注册的第二重身份验证的基本属性的接口。
BaseUpdateMultiFactorInfoRequest 表示用户为 UpdateRequest 注册的第二重身份验证的常见属性的接口。
CreatePhoneMultiFactorInfoRequest 表示用户针对 CreateRequest 注册的手机专属第二重身份验证的界面。
CreateRequest 表示要为要创建的新用户记录设置的属性的界面。
CustomStrengthOptionsConfig 将对密码政策强制执行的限制条件
DecodingAuthBlockingToken
DecodedIdToken 表示已解码的 Firebase ID 令牌的接口,从 BaseAuth.verifyIdToken() 方法返回。Firebase ID 令牌是符合 OpenID Connect 规范的 JSON Web 令牌 (JWT)。有关以下特定属性的详细信息,请参阅 [OpenID Connect 规范的“ID 令牌”部分](http://openid.net/specs/openid-connect-core-1_0.html#IDToken)。
DeleteUsersResult 表示 BaseAuth.deleteUsers(). API 的结果。
EmailIdentifier(电子邮件标识符) 用于通过电子邮件查找账号。请参阅 BaseAuth.getUsers()
电子邮件隐私配置 项目或租户的电子邮件隐私配置。
EmailSignInProviderConfig 电子邮件登录提供方配置。
GetUsersResult 表示 BaseAuth.getUsers() API 的结果。
ListProviderConfigResults 类中的方法 用于列出提供方配置的响应接口。只有在通过 BaseAuth.listProviderConfigs() 列出所有身份提供方的配置时,此字段才可用。
ListTenantsResult 表示从 TenantManager.listTenants() 操作返回对象的接口。包含当前批次的租户列表和下一页令牌(如果有)。
ListUsersResult 表示从 BaseAuth.listUsers() 操作所返回对象的接口。包含当前批次的用户列表和下一页令牌(如果有)。
MultiFactorConfig 表示多重身份验证配置的接口。此属性可用于定义是启用还是停用多重身份验证,以及支持的第二重身份验证列表。
MultiFactorCreateSettings 创建操作的多重身份验证相关用户设置。
MultiFactorProviderConfig 表示多重身份验证提供程序配置的接口。此界面用于除短信以外的第二重身份验证提供程序。目前只支持 TOTP。
MultiFactorUpdateSettings 用于更新操作的多重相关用户设置。
OAuth 响应类型 表示 OAuth 授权流程的 OIDC 提供方响应对象的接口。需要进行以下设置之一:
  • 将代码流程的 code 设置为 true
  • 对于 ID 令牌流程,请将 idToken 设置为 true
OIDCAuthProviderConfig [OIDC](https://openid.net/specs/openid-connect-core-1_0- final.html) 身份验证提供方配置界面。OIDC 提供方可通过 BaseAuth.createProviderConfig() 进行创建。
OIDCUpdateAuthProviderRequest 用于更新 OIDC 身份验证提供方的请求界面。通过 BaseAuth.updateProviderConfig() 更新 OIDC 提供方的配置时,会用到此参数。
PasswordPolicyConfig 项目或租户的密码政策配置
PhoneIdentifier 用于按电话号码查找账号。请参阅 BaseAuth.getUsers()
ProviderIdentifier(提供程序标识符) 用于查找联合提供商的账号。请参阅 BaseAuth.getUsers()
RecaptchaConfig 用于更新 reCAPTCHA 配置的请求接口。启用 reCAPTCHA Enterprise 集成,即表示您同意 reCAPTCHA Enterprise 服务条款
recaptchaKey reCAPTCHA 密钥配置。
RecaptchaManagedRule reCAPTCHA 操作规则的配置。
SAMLAuthProviderConfig [SAML](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html) Auth 提供方配置界面。您可以通过 BaseAuth.createProviderConfig() 创建 SAML 提供方。
SAMLUpdateAuthProviderRequest 用于更新 SAML 身份验证提供方的请求界面。通过 BaseAuth.updateProviderConfig() 更新 SAML 提供方的配置时,会用到此方法。
SessionCookieOptions 表示 BaseAuth.createSessionCookie() 方法所需的会话 Cookie 选项的接口。
TotpMultiFactorProviderConfig 表示 TOTP 第二重身份验证配置设置的接口。
UidIdentifier 用于通过 uid 查找账号。请参阅 BaseAuth.getUsers()
UpdatePhoneMultiFactorInfoRequest 表示用户针对 UpdateRequest 注册的手机专属第二重身份验证的界面。
UpdateProjectConfigRequest 表示要在提供的项目配置中更新的属性的接口。
UpdateRequest 表示要在所提供用户上更新的属性的接口。
UpdateTenantRequest 用于表示要在提供的租户上更新的属性的接口。
UserImportOptions 表示 BaseAuth.importUsers() 方法所需用户导入选项的接口。用于提供密码哈希算法信息。
UserImportRecord 表示要通过 BaseAuth.importUsers() 方法导入 Firebase Authentication 的用户的接口。
UserImportResult 表示 BaseAuth.importUsers() 方法的响应(将用户批量导入 Firebase Auth 中的响应)的接口。
UserMetadataRequest 导入用户时要包含的用户元数据。
UserProvider 表示可与 Firebase 用户相关联的用户身份提供方。
UserProviderRequest 导入用户时要包含的用户提供方数据。

类型别名

类型别名 说明
AuthFactorType 标识第二重身份验证类型。
AuthProviderConfig 身份验证提供方的配置类型。BaseAuth.createProviderConfig()
CreateMultiFactorInfoRequest 该类型表示用户为 CreateRequest 注册的第二重身份验证的属性。
CreateTenantRequest 用于表示要在新租户上设置的属性的接口。
HashAlgorithmType
MultiFactorConfigState 标识多重身份验证配置状态。
PasswordPolicyEnforcementState 密码政策的强制执行状态。
recaptchaAction 对受 reCAPTCHA 保护的请求执行的操作。-“BLOCK”:受 reCAPTCHA 保护的请求将被阻止。
RecaptchaKeyClientType 密钥的平台类型。
RecaptchaProviderEnforcementState reCAPTCHA 保护的强制执行状态。-“OFF”:未强制执行。-“AUDIT”:创建评估,但不强制执行结果。-“ENFORCE”:创建评估并强制执行结果。
SmsRegionConfig 用于更新短信区域配置的请求接口。配置允许用户发送验证短信的区域。此号码基于目标电话号码的呼叫代码。
UpdateAuthProviderRequest
UpdateMultiFactorInfoRequest 该类型表示用户为 UpdateRequest 注册的第二重身份验证的属性。
UserIdentifier 标识要查找的用户。

getAuth(应用)

获取默认应用或指定应用的 Auth 服务。

可以调用 getAuth() 时不使用任何参数,以访问默认应用的 Auth 服务,或者以 getAuth(app) 的形式调用,以访问与特定应用相关联的 Auth 服务。

签名

export declare function getAuth(app?: App): Auth;

参数

参数 类型 说明
app 应用

返回

身份验证

示例 1

// Get the Auth service for the default app
const defaultAuth = getAuth();

示例 2

// Get the Auth service for a given app
const otherAuth = getAuth(otherApp);

身份验证因素类型

标识第二重身份验证类型。

签名

export type AuthFactorType = 'phone';

AuthProviderConfig

身份验证提供方的配置类型。BaseAuth.createProviderConfig()

签名

export type AuthProviderConfig = SAMLAuthProviderConfig | OIDCAuthProviderConfig;

CreateMultiFactorInfoRequest

该类型表示用户为 CreateRequest 注册的第二重身份验证的属性。

签名

export type CreateMultiFactorInfoRequest = CreatePhoneMultiFactorInfoRequest;

CreateTenantRequest

用于表示要在新租户上设置的属性的接口。

签名

export type CreateTenantRequest = UpdateTenantRequest;

哈希算法类型

签名

export type HashAlgorithmType = 'SCRYPT' | 'STANDARD_SCRYPT' | 'HMAC_SHA512' | 'HMAC_SHA256' | 'HMAC_SHA1' | 'HMAC_MD5' | 'MD5' | 'PBKDF_SHA1' | 'BCRYPT' | 'PBKDF2_SHA256' | 'SHA512' | 'SHA256' | 'SHA1';

MultiFactorConfigState

标识多重身份验证配置状态。

签名

export type MultiFactorConfigState = 'ENABLED' | 'DISABLED';

PasswordPolicyEnforcementState

密码政策的强制执行状态。

签名

export type PasswordPolicyEnforcementState = 'ENFORCE' | 'OFF';

RecaptchaAction

对受 reCAPTCHA 保护的请求执行的操作。-“BLOCK”:受 reCAPTCHA 保护的请求将被阻止。

签名

export type RecaptchaAction = 'BLOCK';

reCAPTCHAKeyClientType

密钥的平台类型。

签名

export type RecaptchaKeyClientType = 'WEB' | 'IOS' | 'ANDROID';

RecaptchaProviderEnforcementState

reCAPTCHA 保护的强制执行状态。-“OFF”:未强制执行。-“AUDIT”:创建评估,但不强制执行结果。-“ENFORCE”:创建评估并强制执行结果。

签名

export type RecaptchaProviderEnforcementState = 'OFF' | 'AUDIT' | 'ENFORCE';

SmsRegionConfig

用于更新短信区域配置的请求接口。配置允许用户发送验证短信的区域。此号码基于目标电话号码的呼叫代码。

签名

export type SmsRegionConfig = AllowByDefaultWrap | AllowlistOnlyWrap;

UpdateAuthProviderRequest

签名

export type UpdateAuthProviderRequest = SAMLUpdateAuthProviderRequest | OIDCUpdateAuthProviderRequest;

UpdateMultiFactorInfoRequest

该类型表示用户为 UpdateRequest 注册的第二重身份验证的属性。

签名

export type UpdateMultiFactorInfoRequest = UpdatePhoneMultiFactorInfoRequest;

用户标识符

标识要查找的用户。

签名

export type UserIdentifier = UidIdentifier | EmailIdentifier | PhoneIdentifier | ProviderIdentifier;