Firebase Authentication
函数
类
类 | 说明 |
---|---|
ActionCode网址 | 一个实用程序类,用于解析电子邮件操作网址,例如密码重置、电子邮件验证、电子邮件链接登录等。 |
AuthCredential | 表示 AuthProvider 返回的凭据的接口。 |
EmailAuthCredential | 表示 EmailAuthProvider 针对 ProviderId 返回的凭据的接口。 |
EmailAuthProvider | 用于生成 EmailAuthCredential 的提供程序。 |
FacebookAuthProvider | 用于为 ProviderId.FACEBOOK 生成 OAuthCredential 的提供程序。 |
GitHub AuthProvider | 用于为 ProviderId.GITHUB 生成 OAuthCredential 的提供程序。 |
GoogleAuthProvider | 用于为 ProviderId.GOOGLE 生成 OAuthCredential 的提供程序。 |
OAuthCredential | 表示 OAuthProvider 返回的 OAuth 凭据。 |
OAuthProvider | 用于生成通用 OAuthCredential 的提供程序。 |
PhoneAuthCredential | 表示 PhoneAuthProvider 返回的凭据。 |
PhoneAuthProvider | 用于生成 PhoneAuthCredential 的提供程序。 |
PhoneMultiFactorGenerator | 用于生成 PhoneMultiFactorAssertion 的提供程序。 |
RecaptchaVerifier | 一个基于 reCAPTCHA 的应用验证程序。 |
SAMLAuthProvider | SAML 的 AuthProvider。 |
TotpMultiFactorGenerator | 用于生成 TotpMultiFactorAssertion 的提供程序。 |
TotpSecret | 用于生成 TotpMultiFactorAssertion 的提供程序。存储共享密钥和其他参数,以生成基于时间的动态密码。实现检索共享密钥并生成二维码网址的方法。 |
TwitterAuthProvider | 用于为 ProviderId.TWITTER 生成 OAuthCredential 的提供程序。 |
接口
接口 | 说明 |
---|---|
ActionCodeInfo | 来自 checkActionCode() 的响应。 |
ActionCodeSettings | 一个接口,用于定义必需的继续/状态网址,以及可选的 Android 和 iOS 软件包标识符。 |
AdditionalUserInfo | 包含来自联合身份提供方的其他用户信息的结构。 |
ApplicationVerifier | 用于进行域名验证和防范滥用行为的验证程序。 |
身份验证 | 表示 Firebase 身份验证服务的接口。 |
AuthError | Auth 错误的接口。 |
AuthErrorMap | 错误代码到错误消息的映射。 |
AuthProvider | 代表身份验证提供方的接口,用于帮助创建 AuthCredential。 |
AuthSettings | 表示 Auth 实例设置的接口。 |
配置 | 表示 Auth 配置的接口。 |
ConfirmationResult | 电话号码登录、链接或重新进行身份验证的调用的结果。 |
依赖项 | 可用于初始化 Auth 实例的依赖项。 |
EmulatorConfig | Firebase Authentication 模拟器的配置。 |
IdTokenResult | 此接口表示从 User.getIdTokenResult() 获取的 ID 令牌结果。 |
MultiFactorAssertion | 用于声明第二重身份验证所有权的基类。 |
MultiFactorError | 用户需要提供第二重身份验证才能成功登录时抛出的错误。 |
MultiFactorInfo | 包含第二重身份验证实体信息的结构。 |
MultiFactorResolver | 用于在用户需要提供第二重身份验证凭据才能登录时,用于促进从 MultiFactorError 恢复的类。 |
MultiFactorSession | 定义多重身份验证会话对象的接口,该对象用于为用户注册第二重身份验证或帮助已注册的用户登录第二重身份验证。 |
MultiFactorUser | 用于定义与 User 相关的多重身份验证属性和操作的接口。 |
OAuthCredentialOptions | 定义用于初始化 OAuthCredential 的选项。 |
ParsedToken | 表示已解析的 ID 令牌的接口。 |
PasswordPolicy | 指定密码政策要求的结构。 |
PasswordValidationStatus | 一种结构,用于表明已满足或违反了哪些密码政策要求以及具体要求。 |
持久性 | 一个接口,用于涵盖可能的持久性机制类型。 |
PhoneMultiFactorAssertion | 用于声明手机第二重身份验证所有权的类。由 PhoneMultiFactorGenerator.assertion() 提供。 |
PhoneMultiFactorenrollInfoOptions | 用于注册第二重身份验证的选项。 |
PhoneMultiFactorInfo | 用于电话号码第二重身份验证的 MultiFactorInfo 接口的子类。第二重身份验证的 factorId 为 FactorId.PHONE。 |
PhoneMultiFactorSignInInfoOptions | 用于通过第二重身份验证登录的选项。 |
PhoneSingleFactorInfoOptions | 用于单因素登录的选项。 |
PopupRedirectResolver | 用于处理 DOM 特定操作(如 signInWithPopup() 或 signInWithRedirect())的解析器。 |
ReactNativeAsyncStorage | 提供的 AsyncStorage 的接口。 |
RecaptchaParameters | 表示 reCAPTCHA 参数的界面。如需查看可接受的参数列表,请参阅 reCAPTCHA 文档。接受除 sitekey 之外的所有参数:Firebase Auth 会为每个项目预配一个 reCAPTCHA,并且会在呈现时配置网站密钥。对于不可见的 reCAPTCHA,请将 size 密钥设置为 invisible 。 |
TotpMultiFactorAssertion | 用于声明 TOTP 第二重身份验证所有权的类。由 TotpMultiFactorGenerator.assertionForEnrollment() 和 TotpMultiFactorGenerator.assertionForSignIn() 提供。 |
TotpMultiFactorInfo | 用于 TOTP 第二因素的 MultiFactorInfo 接口的子类。该第二重身份验证的 factorId 为 FactorId.TOTP。 |
用户 | 用户账号。 |
UserCredential | 包含 User、OperationType 和提供方 ID 的结构。 |
UserInfo | 用户个人资料信息,仅对 Firebase 项目的应用可见。 |
UserMetadata | 表示用户元数据的界面。 |
变量
变量 | 说明 |
---|---|
ActionCodeOperation | 可能的电子邮件操作类型的枚举。 |
AuthErrorCodes | 潜在 Auth 错误代码的映射,以便更轻松地与 SDK 抛出的错误进行比较。 |
browserLocalPersistence | LOCAL 类型的 Persistence 实现,对底层存储使用 localStorage 。 |
browserPopupRedirectResolver | PopupRedirectResolver 的实现,适用于基于浏览器的应用。 |
browserSessionPersistence | SESSION 的持久性实现,将 sessionStorage 用于底层存储空间。 |
cordovaPopupRedirectResolver | PopupRedirectResolver 的实现,适用于基于 Cordova 的应用。 |
debugErrorMap | 详细的错误映射,包含大多数错误代码的详细说明。请参阅 AuthErrorMap 上的讨论 |
FactorId | 可用于多重身份验证的因素的枚举。 |
indexedDBLocalPersistence | LOCAL 类型的 Persistence 实现,对底层存储使用 indexedDB 。 |
inMemoryPersistence | 类型为“NONE”的 Persistence 实现。 |
OperationType | 支持的操作类型的枚举。 |
prodErrorMap | 去除了所有详细错误消息的最小错误映射。请参阅 AuthErrorMap 上的相关讨论 |
ProviderId | 支持的提供商的枚举。 |
SignInMethod | 枚举支持的登录方法。 |
类型别名
类型别名 | 说明 |
---|---|
CustomParameters | OAuth 自定义参数的映射。 |
NextOrObserver | 事件回调的类型定义。 |
PhoneInfoOptions | 验证电话号码所有权所需的信息。 |
UserProfile | AdditionalUserInfo 中使用的用户个人资料。 |
function(应用, ...)
getAuth(应用)
返回与提供的 FirebaseApp 关联的 Auth 实例。如果不存在实例,则使用平台专用的默认依赖项初始化 Auth 实例。
签名:
export declare function getAuth(app?: FirebaseApp): Auth;
参数
参数 | 类型 | 说明 |
---|---|---|
应用 | FirebaseApp | Firebase 应用。 |
返回:
initializeAuth(app, deps)
与 getAuth() 相比,此函数可以更好地控制 Auth 实例。getAuth
使用平台专用默认值来提供依赖项。通常,getAuth
是初始化 Auth 的最简单方法,适用于大多数用例。如果您需要控制使用哪个持久性层,请使用 initializeAuth
;如果您未使用 signInWithPopup
或 signInWithRedirect
,请使用 initializeAuth
来最大限度地减小 bundle 大小。
例如,如果您的应用仅使用匿名账号,并且您只想为当前会话保存账号,请使用以下代码初始化 Auth
:
const auth = initializeAuth(app, {
persistence: browserSessionPersistence,
popupRedirectResolver: undefined,
});
签名:
export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;
参数
参数 | 类型 | 说明 |
---|---|---|
应用 | FirebaseApp | |
依赖项 | 依赖项 |
返回:
function(storage, ...)
getReactNativePersistence(存储)
返回一个持久性对象,该对象封装了从 react-native
或 @react-native-community/async-storage
导入的 AsyncStorage
,并且可以在 initializeAuth() 的持久性依赖项字段中使用。
签名:
export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;
参数
参数 | 类型 | 说明 |
---|---|---|
存储 | ReactNativeAsyncStorage |
返回:
function(auth, ...)
applyActionCode(auth, oobCode)
应用通过电子邮件或其他带外机制发送给用户的验证码。
签名:
export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
oobCode | 字符串 | 验证码已发送给用户。 |
返回:
承诺<void>
beforeAuthStateChanged(auth, callback, onAbort)
添加在身份验证状态更改设置新用户之前运行的阻塞回调。
签名:
export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
callback | (用户:用户 | null)=>无效 |承诺<void> | 在设置新用户值之前触发的回调函数。如果抛出此异常,则会阻止设置用户。 |
onAbort | () =>无效 | 稍后抛出 beforeAuthStateChanged() 回调时触发的回调,让您能够撤消任何副作用。 |
返回:
checkActionCode(auth, oobCode)
检查通过电子邮件或其他带外机制发送给用户的验证码。
签名:
export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
oobCode | 字符串 | 验证码已发送给用户。 |
返回:
关于代码的元数据
ConfirmPasswordReset(auth, oobCode, newPassword)
完成密码重置过程(提供确认码和新密码)。
签名:
export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
oobCode | 字符串 | 向用户发送确认码。 |
newPassword | 字符串 | 新密码。 |
返回:
承诺<void>
connectAuthEmulator(auth, url, options)
更改 Auth 实例,以便与 Firebase Auth 模拟器(而不是正式版 Firebase Auth 服务)通信。
此方法必须在首次调用 initializeAuth() 后立即同步调用。请勿与生产凭据搭配使用,因为模拟器流量未加密。
签名:
export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
disableWarnings: boolean;
}): void;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
网址 | 字符串 | 运行模拟器的网址(例如“http://localhost:9099”)。 |
选项 | {disableWarnings: 布尔值;} | 可选。options.disableWarnings 默认为 false 。将其设置为 true 可停用附加到 DOM 的警告横幅。 |
返回:
void
示例
connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });
createUserWithEmailAndPassword(auth, email, password)
创建与指定电子邮件地址和密码关联的新用户账号。
成功创建用户账号后,该用户也将登录到您的应用。
如果账号已存在或密码无效,则用户账号创建可能会失败。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件 | 字符串 | 用户的电子邮件地址。 |
密码 | 字符串 | 用户选择的密码。 |
返回:
fetchSignInMethodsForEmail(auth, email)
获取指定电子邮件地址的可能登录方法列表。启用电子邮件枚举保护后,无论给定电子邮件地址可以使用多少种身份验证方法,此方法都会返回空列表。
这有助于区分同一提供方的登录方法,例如EmailAuthProvider,它具有 2 种登录方法:SignInMethod.EMAIL_PASSWORD 和 SignInMethod.EMAIL_LINK。
签名:
export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件 | 字符串 | 用户的电子邮件地址。已弃用。作为安全方面的最佳实践,建议弃用此方法。如需了解详情,请参阅 Identity Platform 文档中有关电子邮件枚举保护的内容。 |
返回:
Promise<string[]>
getMultiFactorResolver(auth, error)
提供适用于完成多重身份验证流程的 MultiFactorResolver。
签名:
export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
error | MultiFactorError | 登录或重新身份验证操作期间引发的 MultiFactorError。 |
返回:
getRedirectResult(auth, resolver)
从基于重定向的登录流程中返回 UserCredential。
如果登录成功,则返回已登录的用户。如果登录失败,将失败并显示错误。如果未调用重定向操作,则返回 null
。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
示例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
// This is the signed-in user
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;
initializeRecaptchaConfig(auth)
将 reCAPTCHA 配置加载到 Auth
实例中。
这会将 reCAPTCHA 配置加载到当前的 Auth 会话中,此配置用于指示是否应针对每个身份验证提供方触发 reCAPTCHA 验证流程。
如果未调用 initializeRecaptchaConfig(),则身份验证流程将始终启动,而不进行 reCAPTCHA 验证。如果提供程序配置为需要 reCAPTCHA 验证,SDK 将透明地加载 reCAPTCHA 配置并重启身份验证流程。
因此,通过调用此可选方法,您可以缩短未来身份验证流程的延迟时间。尽早加载 reCAPTCHA 配置也会增强 reCAPTCHA 收集的信号。
此方法不适用于 Node.js 环境。
签名:
export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
返回:
承诺<void>
示例
initializeRecaptchaConfig(auth);
isSignInWithEmailLink(auth, emailLink)
检查传入链接是否使用适合 signInWithEmailLink() 的电子邮件链接进行登录。
签名:
export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件链接 | 字符串 | 发送到用户的电子邮件地址的链接。 |
返回:
布尔值
onAuthStateChanged(auth, nextOrObserver, error, completed)
为用户登录状态的变化添加观察器。
如需保留旧行为,请参阅 onIdTokenChanged()。
签名:
export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
nextOrObserver 观察 | NextOrObserver<用户> | 回调函数时触发。 |
error | ErrorFn 错误 | 已弃用。此回调绝不会触发。登录/退出错误可能会在登录/退出函数返回的 promise 中捕获。 |
已完成 | CompleteFn | 已弃用。此回调绝不会触发。 |
返回:
onIdTokenChanged(auth, nextOrObserver, 错误, 已完成)
为已登录用户的 ID 令牌的变更添加观察者。
这包括登录、退出和令牌刷新事件。ID 令牌到期后,系统不会自动触发此操作。使用 User.getIdToken() 刷新 ID 令牌。
签名:
export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
nextOrObserver 观察 | NextOrObserver<用户> | 回调函数时触发。 |
error | ErrorFn 错误 | 已弃用。此回调绝不会触发。登录/退出错误可能会在登录/退出函数返回的 promise 中捕获。 |
已完成 | CompleteFn | 已弃用。此回调绝不会触发。 |
返回:
calloutAccessToken(auth, token)
撤消指定的访问令牌。目前仅支持 Apple OAuth 访问令牌。
签名:
export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
token | 字符串 | Apple OAuth 访问令牌。 |
返回:
承诺<void>
sendPasswordResetEmail(auth, email, actionCodeSettings)
向指定的电子邮件地址发送重设密码电子邮件。如果没有具有指定电子邮件地址的用户账号,且已启用电子邮件枚举保护,此方法不会抛出错误。
要完成密码重置,请使用发送给用户的电子邮件中提供的代码以及用户指定的新密码调用 confirmPasswordReset()。
签名:
export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件 | 字符串 | 用户的电子邮件地址。 |
actionCodeSettings | ActionCodeSettings | ActionCodeSettings。 |
返回:
承诺<void>
示例
const 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
};
await sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);
sendSignInLinkToEmail(auth, email, actionCodeSettings)
向指定电子邮件地址的用户发送登录电子邮件链接。
与其他带外电子邮件操作(密码重置和电子邮件验证)不同,登录操作必须始终在应用中完成。这是因为按照预期,在流程结束时用户应该已经登录,并且他们的身份验证状态应在应用内持久保存。
要使用电子邮件链接完成登录,请使用发送给用户的电子邮件中提供的电子邮件地址和电子邮件链接调用 signInWithEmailLink()。
签名:
export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | |
电子邮件 | 字符串 | 用户的电子邮件地址。 |
actionCodeSettings | ActionCodeSettings | ActionCodeSettings。 |
返回:
承诺<void>
示例
const 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
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
await signInWithEmailLink(auth, 'user@example.com', emailLink);
}
setPersistence(auth, 持久性)
更改 Auth 实例中当前保存的 Auth
会话的保留类型,并将此类保留应用于将来的登录请求,包括使用重定向请求的登录。
这使得登录用户可以轻松指定是否应记住其会话。此外,对于由其他用户共享或具有敏感数据的应用,这也让您可以更轻松地永远不要保留 Auth
状态。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
持久性, | 持久性 | 要使用的持久性。 |
返回:
承诺<void>
在持久性更改完成后解析的 Promise
示例
setPersistence(auth, browserSessionPersistence);
匿名登录(auth)
以匿名用户的身份异步登录。
如果已经有一个匿名用户登录,则返回该用户;否则,系统会创建并返回一个新的匿名用户身份。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
返回:
signInWithCredential(auth, credential)
使用给定凭据异步登录。
AuthProvider 可用于生成凭据。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
凭据 | AuthCredential | 身份验证凭据。 |
返回:
signInWithCustomToken(auth, customToken)
使用自定义令牌异步登录。
自定义令牌用于将 Firebase Auth 与现有身份验证系统集成,必须由身份验证后端使用 Admin SDK 中的 createCustomToken 方法生成。
如果令牌无效、已过期或 Firebase Auth 服务不接受,则会失败并报错。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
customToken | 字符串 | 用于登录的自定义令牌。 |
返回:
signInWithEmailAndPassword(auth, email, password)
使用电子邮件地址和密码异步登录。
如果电子邮件地址和密码不匹配,则会失败并显示错误。启用电子邮件枚举保护后,此方法会失败并显示“auth/invalid-credential”。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件 | 字符串 | 用户的电子邮件地址。 |
密码 | 字符串 | 用户密码。 |
返回:
signInWithEmailLink(auth, email, emailLink)
使用电子邮件和登录电子邮件链接异步登录。
如果未传递任何链接,系统会根据当前网址推断出链接。
如果电子邮件地址无效或电子邮件链接中的动态密码已过期,则会失败并报错。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电子邮件 | 字符串 | 用户的电子邮件地址。 |
电子邮件链接 | 字符串 | 发送到用户的电子邮件地址的链接。 |
返回:
示例
const 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
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
await signInWithEmailLink(auth, 'user@example.com', emailLink);
}
signInWithPhoneNumber(auth, phoneNumber, appVerifier)
使用电话号码异步登录。
此方法会通过短信将验证码发送到指定的电话号码,并返回 ConfirmationResult。用户提供发送至其手机的验证码后,调用 ConfirmationResult.confirm(),并提供该代码让用户登录。
为了防止滥用,此方法还需要 ApplicationVerifier。此 SDK 包含基于 reCAPTCHA 的实现,即 RecaptchaVerifier。此函数适用于不支持 RecaptchaVerifier 的其他平台(例如 React Native),但您需要使用第三方 ApplicationVerifier 实现。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
电话号码 | 字符串 | 用户的电话号码,采用 E.164 格式(例如 +16505550101)。 |
appVerifier | ApplicationVerifier | ApplicationVerifier。 |
返回:
Promise<ConfirmationResult>
示例
// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain a verificationCode from the user.
const credential = await confirmationResult.confirm(verificationCode);
signInWithPopup(auth, provider, resolver)
使用基于弹出式窗口的 OAuth 身份验证流程对 Firebase 客户端进行身份验证。
如果成功,则返回已登录的用户以及提供方的凭据。如果登录失败,则返回一个错误对象,其中包含有关该错误的更多信息。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
示例
// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// The signed-in user info.
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
signInWithRedirect(auth, provider, resolver)
使用整页重定向流程对 Firebase 客户端进行身份验证。
要处理此操作的结果和错误,请参阅 getRedirectResult()。使用 signInWithRedirect() 时,请遵循最佳实践。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
承诺<绝不>
示例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
// This is the signed-in user
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;
signOut(auth)
退出当前用户。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function signOut(auth: Auth): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
返回:
承诺<void>
updateCurrentUser(身份验证, 用户)
在 Auth 实例上将提供的用户异步设置为 Auth.currentUser。
将创建所提供的用户的新实例副本,并将其设置为 currentUser。
这会像其他登录方法一样触发 onAuthStateChanged() 和 onIdTokenChanged() 监听器。
如果要更新的用户属于其他 Firebase 项目,则操作将失败并显示错误。
使用 FirebaseServerApp 创建的 Auth 实例不支持此方法。
签名:
export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
用户 | 用户 |null | 新的 User。 |
返回:
承诺<void>
useDeviceLanguage(auth)
将当前语言设置为默认的设备/浏览器偏好设置。
签名:
export declare function useDeviceLanguage(auth: Auth): void;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
返回:
void
VerifyPassword(身份验证, 密码)
根据为项目或租户配置的密码政策验证密码。
如果未在 Auth
实例上设置租户 ID,则此方法将使用为项目配置的密码政策。否则,此方法将使用为租户配置的政策。如果尚未配置密码政策,系统将使用为所有项目配置的默认政策。
如果由于提交的密码不符合密码政策要求,且之前已调用此方法而导致身份验证流程失败,则此方法会在再次调用时使用最新的可用政策。
签名:
export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
密码 | 字符串 | 要验证的密码。 |
返回:
Promise<PasswordValidationStatus>
示例
validatePassword(auth, 'some-password');
verifyPasswordResetCode(auth, code)
检查通过电子邮件或其他带外机制发送给用户的密码重置代码。
签名:
export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;
参数
参数 | 类型 | 说明 |
---|---|---|
auth | 身份验证 | Auth 实例。 |
代码 | 字符串 | 验证码已发送给用户。 |
返回:
承诺<字符串>
用户的电子邮件地址(如果有效)。
function(link, ...)
parseActionCode网址(链接)
解析电子邮件操作链接字符串,如果链接有效,则返回 ActionCode网址,否则返回 null。
签名:
export declare function parseActionCodeURL(link: string): ActionCodeURL | null;
参数
参数 | 类型 | 说明 |
---|---|---|
link | 字符串 |
返回:
function(user, ...)
deleteUser(用户)
删除用户并将其退出账号。
签名:
export declare function deleteUser(user: User): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
返回:
承诺<void>
getIdToken(用户, forceRefresh)
返回用于向 Firebase 服务标识用户的 JSON 网络令牌 (JWT)。
如果当前令牌未过期或者在接下来的五分钟内不会过期,则返回当前令牌。否则,此操作将刷新令牌并返回新令牌。
签名:
export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
强制刷新 | 布尔值 | 无论令牌过期情况如何,都强制刷新。 |
返回:
承诺<字符串>
getIdTokenResult(user, forceRefresh)
返回反序列化 JSON Web 令牌 (JWT),用于向 Firebase 服务标识用户。
如果当前令牌未过期或者在接下来的五分钟内不会过期,则返回当前令牌。否则,此操作将刷新令牌并返回新令牌。
签名:
export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
强制刷新 | 布尔值 | 无论令牌过期情况如何,都强制刷新。 |
返回:
Promise<IdTokenResult>
linkWithCredential(用户, 凭据)
将用户账号与给定的凭据相关联。
AuthProvider 可用于生成凭据。
签名:
export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
凭据 | AuthCredential | 身份验证凭据。 |
返回:
linkWithPhoneNumber(user, phoneNumber, appVerifier)
将用户账号与指定电话号码相关联。
此方法不适用于 Node.js 环境。
签名:
export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
电话号码 | 字符串 | 用户的电话号码,采用 E.164 格式(例如 +16505550101)。 |
appVerifier | ApplicationVerifier | ApplicationVerifier。 |
返回:
Promise<ConfirmationResult>
linkWithPopup(用户、提供程序、解析器)
使用基于弹出的 OAuth 流程将经过身份验证的提供方与用户账号关联。
如果关联成功,返回的结果将包含用户和提供方的凭据。
此方法不适用于 Node.js 环境。
签名:
export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
示例
// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a popup.
const provider = new FacebookAuthProvider();
await linkWithPopup(result.user, provider);
linkWithRedirect(用户、提供者、解析器)
使用整页重定向流程将 OAuthProvider 关联到用户账号。
要处理此操作的结果和错误,请参阅 getRedirectResult()。使用 linkWithRedirect() 时,请遵循最佳实践。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
承诺<绝不>
示例
// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a redirect.
const provider = new FacebookAuthProvider();
await linkWithRedirect(result.user, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
多重因子(用户)
与用户对应的 MultiFactorUser。
此属性用于访问与用户相关的所有多重身份验证属性和操作。
签名:
export declare function multiFactor(user: User): MultiFactorUser;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
返回:
reauthenticateWithCredential(用户, 凭据)
使用新凭据对用户重新进行身份验证。
在 updatePassword() 等需要近期登录尝试中的令牌的操作之前使用。此方法可用于从 CREDENTIAL_TOO_OLD_LOGIN_AGAIN
错误或 TOKEN_EXPIRED
错误中恢复。
通过使用 FirebaseServerApp 创建的 Auth 实例登录的任何 User 都不支持此方法。
签名:
export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
凭据 | AuthCredential | 身份验证凭据。 |
返回:
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier)
使用新的电话凭据对用户重新进行身份验证。
在 updatePassword() 等需要近期登录尝试中的令牌的操作之前使用。
此方法不适用于 Node.js 环境,也不适用于通过 FirebaseServerApp 创建的 Auth 实例登录的任何 User。
签名:
export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
电话号码 | 字符串 | 用户的电话号码,采用 E.164 格式(例如 +16505550101)。 |
appVerifier | ApplicationVerifier | ApplicationVerifier。 |
返回:
Promise<ConfirmationResult>
reauthenticateWithPopup(用户、提供程序、解析器)
通过基于弹出式窗口的 OAuth 流程,通过指定的 OAuthProvider 重新验证当前用户的身份。
如果重新进行身份验证成功,返回的结果将包含用户和提供方的凭据。
此方法不适用于 Node.js 环境,也不适用于通过 FirebaseServerApp 创建的 Auth 实例登录的任何 User。
签名:
export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
示例
// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// Reauthenticate using a popup.
await reauthenticateWithPopup(result.user, provider);
reauthenticateWithRedirect(用户、提供程序、解析器)
使用整页重定向流程通过指定的 OAuthProvider 重新验证当前用户的身份。
要处理此操作的结果和错误,请参阅 getRedirectResult()。在使用 reauthenticateWithRedirect() 时,请遵循最佳实践。
此方法不适用于 Node.js 环境或使用 FirebaseServerApp 创建的 Auth 实例。
签名:
export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
provider | AuthProvider | 要进行身份验证的提供方。提供方必须是 OAuthProvider。EmailAuthProvider 等非 OAuth 提供方会抛出错误。 |
解析器 | PopupRedirectResolver | PopupRedirectResolver 的实例;如果已向 initializeAuth() 提供,或由 getAuth() 提供,则该实例为可选。 |
返回:
承诺<绝不>
示例
// Sign in using a redirect.
const provider = new FacebookAuthProvider();
const result = await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
// Reauthenticate using a redirect.
await reauthenticateWithRedirect(result.user, provider);
// This will again trigger a full page redirect away from your app
// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
重新加载(用户)
重新加载用户账号数据(如果已登录)。
签名:
export declare function reload(user: User): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
返回:
承诺<void>
sendEmailVerification(user, actionCodeSettings)
向用户发送验证邮件。
通过调用 applyActionCode() 完成验证流程。
签名:
export declare function sendEmailVerification(user: User, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
actionCodeSettings | ActionCodeSettings |null | ActionCodeSettings。 |
返回:
承诺<void>
示例
const 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
};
await sendEmailVerification(user, actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);
cancel(用户, providerId)
解除提供商与用户账号的关联。
签名:
export declare function unlink(user: User, providerId: string): Promise<User>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
providerId | 字符串 | 要解除关联的提供商。 |
返回:
updateEmail(用户, newEmail)
更新用户的电子邮件地址。
系统会向原始电子邮件地址(如果已设置)发送一封电子邮件,该地址可让您撤消电子邮件地址更改,以保护其免遭账号盗用。
通过使用 FirebaseServerApp 创建的 Auth 实例登录的任何 User 都不支持此方法。
签名:
export declare function updateEmail(user: User, newEmail: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
新电子邮件 | 字符串 | 新的电子邮件地址。抛出“auth/operation-not-allowed”在启用电子邮件枚举保护时出现的错误。已弃用 - 请改用 verifyBeforeUpdateEmail()。 |
返回:
承诺<void>
updatePassword(user, newPassword)
更新用户的密码。
签名:
export declare function updatePassword(user: User, newPassword: string): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
newPassword | 字符串 | 新密码。 |
返回:
承诺<void>
updatePhoneNumber(用户, 凭据)
更新用户的电话号码。
此方法不适用于 Node.js 环境,也不适用于通过 FirebaseServerApp 创建的 Auth 实例登录的任何 User。
签名:
export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
凭据 | PhoneAuthCredential | 用于对新电话号码进行身份验证的凭据。 |
返回:
承诺<void>
示例
// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
await updatePhoneNumber(user, phoneCredential);
updateProfile(user, { displayName, photo网址: photoUrl })
更新用户的个人资料数据。
签名:
export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
displayName?: string | null;
photoURL?: string | null;
}): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
{ displayName, photo网址: photoUrl } | { displayName?: string |null;photo网址?:字符串 |null;} |
返回:
承诺<void>
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)
向新的电子邮件地址发送验证邮件。
验证后,用户的电子邮件地址会更新为新电子邮件地址。
如果您有自定义的电子邮件操作处理程序,则可以通过调用 applyActionCode() 完成验证流程。
签名:
export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;
参数
参数 | 类型 | 说明 |
---|---|---|
用户 | 用户 | 用户。 |
新电子邮件 | 字符串 | 要在更新前进行验证的新电子邮件地址。 |
actionCodeSettings | ActionCodeSettings |null | ActionCodeSettings。 |
返回:
承诺<void>
示例
const 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
};
await verifyBeforeUpdateEmail(user, 'newemail@example.com', actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);
function(userCredential, ...)
getAdditionalUserInfo(userCredential)
针对指定凭据提取特定于提供方的 AdditionalUserInfo。
签名:
export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;
参数
参数 | 类型 | 说明 |
---|---|---|
userCredential | UserCredential | 用户凭据。 |
返回:
AdditionalUserInfo |null
ActionCodeOperation
可能的电子邮件操作类型的枚举。
签名:
ActionCodeOperation: {
readonly EMAIL_SIGNIN: "EMAIL_SIGNIN";
readonly PASSWORD_RESET: "PASSWORD_RESET";
readonly RECOVER_EMAIL: "RECOVER_EMAIL";
readonly REVERT_SECOND_FACTOR_ADDITION: "REVERT_SECOND_FACTOR_ADDITION";
readonly VERIFY_AND_CHANGE_EMAIL: "VERIFY_AND_CHANGE_EMAIL";
readonly VERIFY_EMAIL: "VERIFY_EMAIL";
}
AuthErrorCode
潜在 Auth
错误代码的映射,以便更轻松地与 SDK 抛出的错误进行比较。
请注意,您无法对映射中的单个键执行摇树优化,因此,通过使用映射,您可能会显著增加 bundle 大小。
签名:
AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
readonly ADMIN_ONLY_OPERATION: "auth/admin-restricted-operation";
readonly ARGUMENT_ERROR: "auth/argument-error";
readonly APP_NOT_AUTHORIZED: "auth/app-not-authorized";
readonly APP_NOT_INSTALLED: "auth/app-not-installed";
readonly CAPTCHA_CHECK_FAILED: "auth/captcha-check-failed";
readonly CODE_EXPIRED: "auth/code-expired";
readonly CORDOVA_NOT_READY: "auth/cordova-not-ready";
readonly CORS_UNSUPPORTED: "auth/cors-unsupported";
readonly CREDENTIAL_ALREADY_IN_USE: "auth/credential-already-in-use";
readonly CREDENTIAL_MISMATCH: "auth/custom-token-mismatch";
readonly CREDENTIAL_TOO_OLD_LOGIN_AGAIN: "auth/requires-recent-login";
readonly DEPENDENT_SDK_INIT_BEFORE_AUTH: "auth/dependent-sdk-initialized-before-auth";
readonly DYNAMIC_LINK_NOT_ACTIVATED: "auth/dynamic-link-not-activated";
readonly EMAIL_CHANGE_NEEDS_VERIFICATION: "auth/email-change-needs-verification";
readonly EMAIL_EXISTS: "auth/email-already-in-use";
readonly EMULATOR_CONFIG_FAILED: "auth/emulator-config-failed";
readonly EXPIRED_OOB_CODE: "auth/expired-action-code";
readonly EXPIRED_POPUP_REQUEST: "auth/cancelled-popup-request";
readonly INTERNAL_ERROR: "auth/internal-error";
readonly INVALID_API_KEY: "auth/invalid-api-key";
readonly INVALID_APP_CREDENTIAL: "auth/invalid-app-credential";
readonly INVALID_APP_ID: "auth/invalid-app-id";
readonly INVALID_AUTH: "auth/invalid-user-token";
readonly INVALID_AUTH_EVENT: "auth/invalid-auth-event";
readonly INVALID_CERT_HASH: "auth/invalid-cert-hash";
readonly INVALID_CODE: "auth/invalid-verification-code";
readonly INVALID_CONTINUE_URI: "auth/invalid-continue-uri";
readonly INVALID_CORDOVA_CONFIGURATION: "auth/invalid-cordova-configuration";
readonly INVALID_CUSTOM_TOKEN: "auth/invalid-custom-token";
readonly INVALID_DYNAMIC_LINK_DOMAIN: "auth/invalid-dynamic-link-domain";
readonly INVALID_EMAIL: "auth/invalid-email";
readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
readonly INVALID_OAUTH_PROVIDER: "auth/invalid-oauth-provider";
readonly INVALID_OOB_CODE: "auth/invalid-action-code";
readonly INVALID_ORIGIN: "auth/unauthorized-domain";
readonly INVALID_PASSWORD: "auth/wrong-password";
readonly INVALID_PERSISTENCE: "auth/invalid-persistence-type";
readonly INVALID_PHONE_NUMBER: "auth/invalid-phone-number";
readonly INVALID_PROVIDER_ID: "auth/invalid-provider-id";
readonly INVALID_RECIPIENT_EMAIL: "auth/invalid-recipient-email";
readonly INVALID_SENDER: "auth/invalid-sender";
readonly INVALID_SESSION_INFO: "auth/invalid-verification-id";
readonly INVALID_TENANT_ID: "auth/invalid-tenant-id";
readonly MFA_INFO_NOT_FOUND: "auth/multi-factor-info-not-found";
readonly MFA_REQUIRED: "auth/multi-factor-auth-required";
readonly MISSING_ANDROID_PACKAGE_NAME: "auth/missing-android-pkg-name";
readonly MISSING_APP_CREDENTIAL: "auth/missing-app-credential";
readonly MISSING_AUTH_DOMAIN: "auth/auth-domain-config-required";
readonly MISSING_CODE: "auth/missing-verification-code";
readonly MISSING_CONTINUE_URI: "auth/missing-continue-uri";
readonly MISSING_IFRAME_START: "auth/missing-iframe-start";
readonly MISSING_IOS_BUNDLE_ID: "auth/missing-ios-bundle-id";
readonly MISSING_OR_INVALID_NONCE: "auth/missing-or-invalid-nonce";
readonly MISSING_MFA_INFO: "auth/missing-multi-factor-info";
readonly MISSING_MFA_SESSION: "auth/missing-multi-factor-session";
readonly MISSING_PHONE_NUMBER: "auth/missing-phone-number";
readonly MISSING_SESSION_INFO: "auth/missing-verification-id";
readonly MODULE_DESTROYED: "auth/app-deleted";
readonly NEED_CONFIRMATION: "auth/account-exists-with-different-credential";
readonly NETWORK_REQUEST_FAILED: "auth/network-request-failed";
readonly NULL_USER: "auth/null-user";
readonly NO_AUTH_EVENT: "auth/no-auth-event";
readonly NO_SUCH_PROVIDER: "auth/no-such-provider";
readonly OPERATION_NOT_ALLOWED: "auth/operation-not-allowed";
readonly OPERATION_NOT_SUPPORTED: "auth/operation-not-supported-in-this-environment";
readonly POPUP_BLOCKED: "auth/popup-blocked";
readonly POPUP_CLOSED_BY_USER: "auth/popup-closed-by-user";
readonly PROVIDER_ALREADY_LINKED: "auth/provider-already-linked";
readonly QUOTA_EXCEEDED: "auth/quota-exceeded";
readonly REDIRECT_CANCELLED_BY_USER: "auth/redirect-cancelled-by-user";
readonly REDIRECT_OPERATION_PENDING: "auth/redirect-operation-pending";
readonly REJECTED_CREDENTIAL: "auth/rejected-credential";
readonly SECOND_FACTOR_ALREADY_ENROLLED: "auth/second-factor-already-in-use";
readonly SECOND_FACTOR_LIMIT_EXCEEDED: "auth/maximum-second-factor-count-exceeded";
readonly TENANT_ID_MISMATCH: "auth/tenant-id-mismatch";
readonly TIMEOUT: "auth/timeout";
readonly TOKEN_EXPIRED: "auth/user-token-expired";
readonly TOO_MANY_ATTEMPTS_TRY_LATER: "auth/too-many-requests";
readonly UNAUTHORIZED_DOMAIN: "auth/unauthorized-continue-uri";
readonly UNSUPPORTED_FIRST_FACTOR: "auth/unsupported-first-factor";
readonly UNSUPPORTED_PERSISTENCE: "auth/unsupported-persistence-type";
readonly UNSUPPORTED_TENANT_OPERATION: "auth/unsupported-tenant-operation";
readonly UNVERIFIED_EMAIL: "auth/unverified-email";
readonly USER_CANCELLED: "auth/user-cancelled";
readonly USER_DELETED: "auth/user-not-found";
readonly USER_DISABLED: "auth/user-disabled";
readonly USER_MISMATCH: "auth/user-mismatch";
readonly USER_SIGNED_OUT: "auth/user-signed-out";
readonly WEAK_PASSWORD: "auth/weak-password";
readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
readonly ALREADY_INITIALIZED: "auth/already-initialized";
readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
}
browserLocalPersistence
LOCAL
类型的 Persistence 实现,对底层存储使用 localStorage
。
签名:
browserLocalPersistence: Persistence
browserPopupRedirectResolver
PopupRedirectResolver 的实现,适用于基于浏览器的应用。
此方法不适用于 Node.js 环境。
签名:
browserPopupRedirectResolver: PopupRedirectResolver
browserSessionPersistence(浏览器会话持久性)
SESSION
的持久性实现,将 sessionStorage
用于底层存储空间。
签名:
browserSessionPersistence: Persistence
cordovaPopupRedirectResolver
PopupRedirectResolver 的实现,适用于基于 Cordova 的应用。
签名:
cordovaPopupRedirectResolver: PopupRedirectResolver
调试错误映射
详细的错误映射,包含大多数错误代码的详细说明。
请访问 AuthErrorMap 查看相关讨论
签名:
debugErrorMap: AuthErrorMap
因子 ID
可用于多重身份验证的因素的枚举。
签名:
FactorId: {
readonly PHONE: "phone";
readonly TOTP: "totp";
}
IndexingDBLocalPersistence
LOCAL
类型的 Persistence 实现,对底层存储使用 indexedDB
。
签名:
indexedDBLocalPersistence: Persistence
inMemoryPersistence(内存持久性)
类型为“NONE”的 Persistence 实现。
签名:
inMemoryPersistence: Persistence
OperationType
支持的操作类型的枚举。
签名:
OperationType: {
readonly LINK: "link";
readonly REAUTHENTICATE: "reauthenticate";
readonly SIGN_IN: "signIn";
}
prodErrorMap
去除了所有详细错误消息的最小错误映射。
请访问 AuthErrorMap 查看相关讨论
签名:
prodErrorMap: AuthErrorMap
提供方 ID
支持的提供商的枚举。
签名:
ProviderId: {
readonly FACEBOOK: "facebook.com";
readonly GITHUB: "github.com";
readonly GOOGLE: "google.com";
readonly PASSWORD: "password";
readonly PHONE: "phone";
readonly TWITTER: "twitter.com";
}
登录方法
枚举支持的登录方法。
签名:
SignInMethod: {
readonly EMAIL_LINK: "emailLink";
readonly EMAIL_PASSWORD: "password";
readonly FACEBOOK: "facebook.com";
readonly GITHUB: "github.com";
readonly GOOGLE: "google.com";
readonly PHONE: "phone";
readonly TWITTER: "twitter.com";
}
自定义参数
OAuth 自定义参数的映射。
签名:
export declare type CustomParameters = Record<string, string>;
下一个或观察者
事件回调的类型定义。
签名:
export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;
电话信息选项
验证电话号码所有权所需的信息。
所需信息取决于您执行的是单因素登录、多重身份验证注册还是多重身份验证登录。
签名:
export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;
UserProfile
AdditionalUserInfo 中使用的用户个人资料。
签名:
export declare type UserProfile = Record<string, unknown>;