Firebase Authentication。
Functions
函数 | 说明 |
---|---|
getAuth(app) | 获取默认应用或指定应用的 Auth 服务。调用 getAuth() 时不使用任何参数,即可访问默认应用的 Auth 服务,也可以将其作为 getAuth(app) 调用,以访问与特定应用相关联的 Auth 服务。 |
类
类 | 说明 |
---|---|
身份验证 | 将身份验证服务绑定到提供的应用。一个 Auth 实例可以有多个租户。 |
AuthClientErrorCode | Auth 客户端错误代码及其默认消息。 |
BaseAuth | Auth 和 TenantAwareAuth API 的通用父接口。 |
FirebaseAuthError | Firebase Authentication 错误代码结构。这会扩展 PrefixedFirebaseError。 |
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() 实例化特定 tenantId 的 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 提供方响应对象的接口。需要进行以下设置之一:
|
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;