firebase-admin.auth package

Firebase Authentication。

函数

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

说明
身份验证 授权服务绑定到提供的应用。一个身份验证实例可以有多个租户。
AuthClientErrorCode 身份验证客户端错误代码及其默认消息。
BaseAuth AuthTenantAwareAuth API 的通用父接口。
FirebaseAuthError Firebase Authentication 错误代码结构。这会扩展 PrefixedFirebaseError。
MultiFactorInfo 此接口表示用户注册的第二重身份验证的常用属性。
MultiFactorSettings 与多重身份验证相关的用户设置。
PhoneMultiFactorInfo 显示特定于手机的用户注册的第二重身份验证的界面。
ProjectConfig 表示项目配置。
ProjectConfigManager 管理(获取和更新)当前项目配置。
租户 表示租户配置。要支持多租户,需要使用 Google Cloud 的 Identity Platform (GCIP)。如需详细了解 GCIP(包括价格和功能),请参阅 GCIP 文档必须先通过 Cloud Console 界面允许租户访问 Google Cloud Identity Platform 项目,然后才能在该项目中使用多租户。租户配置会提供显示名称、租户标识符和电子邮件身份验证配置等信息。对于 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 实例。
TenantManager 定义用于管理租户相关操作的租户管理员。其中包括:
  • 能够创建、更新、列出、获取和删除底层项目的租户。
  • 获取 TenantAwareAuth 实例,以便在指定租户的上下文中运行与身份验证相关的操作(用户管理、提供方配置管理、令牌验证、电子邮件链接生成等)。
UserInfo 表示来自第三方身份提供方(如 Google 或 Facebook)的用户信息。
UserMetadata 表示用户的元数据。
UserRecord 表示用户。

接口

接口 说明
ActionCodeSettings 此接口定义了必需的继续/状态网址,以及可选的 Android 和 iOS 软件包标识符。
AllowByDefault 定义政策:默认情况下允许所有区域,并将不允许的区域添加到禁止列表中。
AllowByDefaultWrap allowByDefault 接口的互斥短信区域配置
AllowlistOnly 将区域明确添加到许可名单中,以仅允许此类区域使用。
AllowlistOnlyWrap allowlistOnly 接口的互斥短信区域配置
AuthProviderConfigFilter 用于列出提供程序配置的过滤条件界面。这用于通过 BaseAuth.listProviderConfigs() 指定如何列出已配置的身份提供方。
BaseAuthProviderConfig 身份验证提供方的基本配置界面。
BaseCreateMultiFactorInfoRequest 此接口显示了针对 CreateRequest 的用户注册的第二重身份验证的基本属性。
BaseUpdateMultiFactorInfoRequest 此接口显示了针对 UpdateRequest 的用户注册的第二重身份验证的常见属性。
CreatePhoneMultiFactorInfoRequest 此接口代表针对 CreateRequest 的特定于手机的用户注册的第二重身份验证。
CreateRequest 表示要在要创建的新用户记录上设置的属性的接口。
CustomStrengthOptionsConfig 对密码政策强制执行的限制条件
DecodingAuthBlockingToken
DecodingIdToken 表示从 BaseAuth.verifyIdToken() 方法返回的已解码 Firebase ID 令牌的接口。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()
EmailPrivacyConfig 项目或租户的电子邮件隐私权配置。
EmailSignInProviderConfig 电子邮件登录提供方配置。
GetUsersResult 表示 BaseAuth.getUsers() API 的结果。
ListProviderConfigResults 用于列出提供程序配置的响应界面。只有在列出所有身份提供方的标识符时,BaseAuth.listProviderConfigs() 进行配置。
ListTenantsResult 表示从 TenantManager.listTenants() 操作返回的对象的接口。包含当前批次的租户列表和下一页令牌(如果有)。
ListUsersResult 表示从 BaseAuth.listUsers() 操作返回的对象的接口。包含当前批次的用户列表和下一页令牌(如果有)。
MultiFactorConfig 表示多重身份验证配置的接口。此属性可用于定义是启用还是停用多重身份验证,以及支持的第二重验证列表。
MultiFactorCreateSettings 与多重身份验证相关的用户设置。
MultiFactorProviderConfig 表示多重身份验证提供方配置的接口。此接口用于短信以外的第二重身份验证提供商。目前只支持 TOTP。
MultiFactorUpdateSettings 用于更新操作的多重身份验证用户设置。
OAuthResponseType 表示 OAuth 授权流程的 OIDC 提供方响应对象的接口。必须选择以下设置之一:
  • 将代码流的 code 设置为 true
  • 对于 ID 令牌流程,将 idToken 设置为 true
OIDCAuthProviderConfig [OIDC](https://openid.net/specs/openid-connect-core-1_0-final.html) 身份验证提供方配置界面。您可以通过 BaseAuth.createProviderConfig() 创建 OIDC 提供方。
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) 身份验证提供程序配置界面。您可以通过 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 Auth 的用户的接口。
UserImportResult 表示 BaseAuth.importUsers() 方法针对批量导入用户到 Firebase Auth 时所得到的响应的接口。
UserMetadataRequest 导入用户时要包含的用户元数据。
UserProvider 表示可与 Firebase 用户相关联的用户身份提供方。
UserProviderRequest 导入用户时要包含的用户提供方数据。

类型别名

类型别名 说明
AuthFactorType 标识第二重身份验证类型。
AuthProviderConfig Auth 提供方配置类型。BaseAuth.createProviderConfig()
CreateMultiFactorInfoRequest 表示针对 CreateRequest 的用户注册的第二重身份验证的属性。
CreateTenantRequest 表示要在新租户上设置的属性的接口。
HashAlgorithmType
MultiFactorConfigState 标识多重身份验证状态。
PasswordPolicyEnforcementState 密码政策的强制执行状态。
RecaptchaAction 对受 reCAPTCHA 保护的请求执行的操作。-“阻止”:受 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;

参数

参数 类型 说明
应用 应用

返回

身份验证

示例 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);

AuthFactor 类型

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

签名

export type AuthFactorType = 'phone';

AuthProviderConfig

Auth 提供方配置类型。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 保护的请求执行的操作。-“阻止”:受 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;