Getting Started
复制一个包含安装步骤和本插件的完整Markdown指南的设置命令。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-firebase-authentication`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/firebase-authentication/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-authentication` plugin in my project.如果您更喜欢手动设置,请按照以下命令安装插件并遵循以下平台特定的说明:
bun add @capgo/capacitor-firebase-authenticationbunx cap sync导入
导入部分import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';API概述
导入部分API概述applyActionCode
Section titled “applyActionCode”Applies a verification code sent to the user by email.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.applyActionCode({} as ApplyActionCodeOptions);confirmPasswordReset
Section titled “confirmPasswordReset”完成密码重置
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmPasswordReset({} as ConfirmPasswordResetOptions);confirmVerificationCode
Section titled “confirmVerificationCode”完成手机验证码验证
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmVerificationCode({} as ConfirmVerificationCodeOptions);createUserWithEmailAndPassword
Section titled “createUserWithEmailAndPassword”使用邮箱和密码创建新用户账号 如果新账号创建成功,用户会自动登录
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.createUserWithEmailAndPassword({} as CreateUserWithEmailAndPasswordOptions);deleteUser
Section titled “deleteUser”删除用户
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.deleteUser();fetchSignInMethodsForEmail
Section titled “fetchSignInMethodsForEmail”获取指定邮箱地址的登录方式
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.fetchSignInMethodsForEmail({} as FetchSignInMethodsForEmailOptions);getCurrentUser
Section titled “getCurrentUser”获取当前登录用户
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getCurrentUser();getPendingAuthResult
Section titled “getPendingAuthResult”返回 SignInResult 如果您的应用程序启动了一个Web登录流程,且在后台时操作系统清理了应用程序。
仅适用于 Android。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getPendingAuthResult();getIdToken
标题:getIdToken获取 Firebase Auth ID Token,用于当前已登录用户。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getIdToken();getIdTokenResult
标题:getIdTokenResult返回一个用于识别用户的 Firebase 服务的 JSON Web Token (JWT)。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getIdTokenResult();getRedirectResult
标题:getRedirectResult返回 SignInResult 从重定向式登录流程中。
如果登录失败,则以错误形式失败。如果没有调用重定向操作,则返回 SignInResult __CAPGO_KEEP_0__
__CAPGO_KEEP_1__
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getRedirectResult();getTenantId
__CAPGO_KEEP_3__获取租户ID
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getTenantId();isSignInWithEmailLink
__CAPGO_KEEP_4____CAPGO_KEEP_5__ signInWithEmailLink.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.isSignInWithEmailLink({} as IsSignInWithEmailLinkOptions);linkWithApple
__CAPGO_KEEP_2____CAPGO_KEEP_6__
__CAPGO_KEEP_7__ skipNativeAuth 此配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithApple();linkWithEmailAndPassword
标题:“linkWithEmailAndPassword”将用户帐户与电子邮件身份验证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 此配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithEmailAndPassword({} as LinkWithEmailAndPasswordOptions);linkWithEmailLink
标题:“linkWithEmailLink”将用户帐户与电子邮件身份验证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 此配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithEmailLink({} as LinkWithEmailLinkOptions);linkWithFacebook
《linkWithFacebook》将用户账户与Facebook认证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 该配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithFacebook();linkWithGameCenter
《linkWithGameCenter》将用户账户与Game Center认证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 该配置选项在此处无效。
仅适用于iOS。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGameCenter();linkWithGithub
《linkWithGithub》将用户帐户与GitHub身份验证提供者关联。
在原生层上,用户必须已登录。
配置选项在此处无效。 skipNativeAuth 复制到剪贴板
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGithub();linkWithGoogle
将用户帐户与Google身份验证提供者关联。在原生层上,用户必须已登录。 配置选项在此处无效。
复制到剪贴板 skipNativeAuth 标题:linkWithMicrosoft
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGoogle();linkWithMicrosoft
在原生层上,用户必须已登录。
配置选项在此处无效。复制到剪贴板
标题:linkWithApple skipNativeAuth configuration option 在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithMicrosoft();linkWithOpenIdConnect
标题:linkWithOpenIdConnect使用 OpenID Connect 提供者链接用户账户。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithOpenIdConnect({} as LinkWithOpenIdConnectOptions);linkWithPhoneNumber
标题:linkWithPhoneNumber使用手机号码验证提供者链接用户账户。
用户必须在原生层上登录。
skipNativeAuth configuration option 在此处无效。
使用 phoneVerificationCompleted listener 来接收验证完成的通知。
使用 phoneVerificationFailed listener 来接收验证失败的通知。
使用 phoneCodeSent __CAPGO_KEEP_0__
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithPhoneNumber({} as LinkWithPhoneNumberOptions);linkWithPlayGames
《linkWithPlayGames》将用户账户与Play Games认证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 此配置选项在此处无效。
仅适用于Android。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithPlayGames();linkWithTwitter
《linkWithTwitter》将用户账户与Twitter认证提供者关联。
用户必须在原生层上登录。
skipNativeAuth 此配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithTwitter();linkWithYahoo
标题:连接到Yahoo连接用户帐户到Yahoo认证提供者。
用户必须在原生层上登录。
skipNativeAuth 此配置选项在此处无效。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithYahoo();reload
标题:重新加载重新加载用户帐户数据,如果已登录。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.reload();revokeAccessToken
标题:撤销访问令牌撤销给定的访问令牌。目前仅支持Apple OAuth访问令牌。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.revokeAccessToken({} as RevokeAccessTokenOptions);sendEmailVerification
Section titled “sendEmailVerification”向当前已登录用户发送验证邮件。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendEmailVerification();sendPasswordResetEmail
Section titled “sendPasswordResetEmail”向用户发送密码重置邮件。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendPasswordResetEmail({} as SendPasswordResetEmailOptions);sendSignInLinkToEmail
Section titled “sendSignInLinkToEmail”向指定邮箱的用户发送登录邮件链接。
要完成使用邮箱链接登录,请调用 signInWithEmailLink 使用邮箱地址和邮箱链接(在向用户发送的邮件中提供)
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendSignInLinkToEmail({} as SendSignInLinkToEmailOptions);setLanguageCode
Section titled “setLanguageCode”设置用户面向的语言code用于认证操作。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setLanguageCode({} as SetLanguageCodeOptions);setPersistence
标题:设置持久性设置当前保存的认证会话的持久性类型。
仅适用于Web。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setPersistence({} as SetPersistenceOptions);setTenantId
标题:设置租户ID设置租户ID。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setTenantId({} as SetTenantIdOptions);signInAnonymously
标题:匿名登录作为匿名用户登录。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInAnonymously();signInWithApple
使用 Apple 登录开始 Apple 登录流程
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithApple();signInWithCustomToken
使用自定义令牌登录开始自定义令牌登录流程
在 Android 和 iOS 上不能与 skipNativeAuth 直接使用 Firebase JS __CAPGO_KEEP_0__ 接口 signInWithCustomToken interface of the Firebase JS SDK directly.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithCustomToken({} as SignInWithCustomTokenOptions);signInWithEmailAndPassword
开始使用电子邮件和密码登录流程复制到剪贴板
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithEmailAndPassword({} as SignInWithEmailAndPasswordOptions);signInWithEmailLink
signInWithEmailLink使用电子邮件和登录电子邮件链接进行登录。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithEmailLink({} as SignInWithEmailLinkOptions);signInWithFacebook
signInWithFacebook开始Facebook登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithFacebook();signInWithGameCenter
signInWithGameCenter开始Game Center登录流程。
仅适用于iOS。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGameCenter();signInWithGithub
signInWithGithub开始GitHub登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGithub();signInWithGoogle
标题:使用 Google 登录启动 Google 登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGoogle();signInWithMicrosoft
标题:使用 Microsoft 登录启动 Microsoft 登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithMicrosoft();signInWithOpenIdConnect
标题:使用 OpenID Connect 登录启动 OpenID Connect 登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithOpenIdConnect({} as SignInWithOpenIdConnectOptions);signInWithPhoneNumber
标题:使用手机号码登录启动使用手机号码的登录流程。
使用 phoneVerificationCompleted listener 来接收验证完成的通知。
使用 phoneVerificationFailed listener 来接收验证失败的通知。
使用 phoneCodeSent listener 来获取验证 ID。
仅适用于 Android 和 iOS。
复制到剪贴板
signInWithPlayGames
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithPhoneNumber({} as SignInWithPhoneNumberOptions);signInWithPlayGames
signInWithTwitter开始 Twitter 登录流程.
__CAPGO_KEEP_0__
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithPlayGames();signInWithTwitter
__CAPGO_KEEP_0____CAPGO_KEEP_0__
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithTwitter();signInWithYahoo
标题:使用 Yahoo 登录启动 Yahoo 登录流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithYahoo();signOut
标题:注销启动注销流程。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signOut();unlink
标题:解除绑定解除用户账户与提供者的绑定。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.unlink({} as UnlinkOptions);updateEmail
标题:更新电子邮件更新当前登录用户的电子邮件地址。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateEmail({} as UpdateEmailOptions);updatePassword
标题:更新密码更新当前已登录用户的密码。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updatePassword({} as UpdatePasswordOptions);updateProfile
标题:更新资料更新用户资料。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateProfile({} as UpdateProfileOptions);useAppLanguage
标题:设置应用语言设置用户面向的语言code为应用的默认语言。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.useAppLanguage();useEmulator
标题:使用模拟器为应用配置模拟器。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.useEmulator({} as UseEmulatorOptions);verifyBeforeUpdateEmail
标题:验证更新电子邮件验证新电子邮件地址之前更新当前登录用户的电子邮件地址。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.verifyBeforeUpdateEmail({} as VerifyBeforeUpdateEmailOptions);checkAppTrackingTransparencyPermission
标题:检查应用程序跟踪透明度权限检查应用程序跟踪透明度的当前状态。
仅在 iOS 上可用。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.checkAppTrackingTransparencyPermission();requestAppTrackingTransparencyPermission
标题:请求应用程序跟踪透明度权限打开系统对话框以授权应用程序跟踪透明度。
注意: 用户可能在设备设置中禁用了跟踪请求,请参见 Apple的文档.
仅在iOS上可用。
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.requestAppTrackingTransparencyPermission();类型参考
类型参考部分ApplyActionCodeOptions
执行代码操作选项export interface ApplyActionCodeOptions { /** * A verification code sent to the user. * * @since 0.2.2 */ oobCode: string;}ConfirmPasswordResetOptions
确认密码重置选项export interface ConfirmPasswordResetOptions { /** * A verification code sent to the user. * * @since 0.2.2 */ oobCode: string; /** * The new password. * * @since 0.2.2 */ newPassword: string;}ConfirmVerificationCodeOptions
确认验证码选项export interface ConfirmVerificationCodeOptions { /** * The verification ID received from the `phoneCodeSent` listener. * * The `verificationCode` option must also be provided. * * @since 5.0.0 */ verificationId: string; /** * The verification code either received from the `phoneCodeSent` listener or entered by the user. * * The `verificationId` option must also be provided. * * @since 5.0.0 */ verificationCode: string;}SignInResult
登录结果export interface SignInResult { /** * The currently signed-in user, or null if there isn't any. * * @since 0.1.0 */ user: User | null; /** * Credentials returned by an auth provider. * * @since 0.1.0 */ credential: AuthCredential | null; /** * Additional user information from a federated identity provider. * * @since 0.5.1 */ additionalUserInfo: AdditionalUserInfo | null;}CreateUserWithEmailAndPasswordOptions
标题:创建用户帐户密码选项export interface CreateUserWithEmailAndPasswordOptions { /** * @since 0.2.2 */ email: string; /** * @since 0.2.2 */ password: string;}FetchSignInMethodsForEmailOptions
标题:获取电子邮件帐户登录方法export interface FetchSignInMethodsForEmailOptions { /** * The user's email address. * * @since 6.0.0 */ email: string;}FetchSignInMethodsForEmailResult
标题:获取电子邮件帐户登录方法结果export interface FetchSignInMethodsForEmailResult { /** * The sign-in methods for the specified email address. * * This list is empty when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) * is enabled, irrespective of the number of authentication methods available for the given email. * * @since 6.0.0 */ signInMethods: string[];}GetCurrentUserResult
标题:获取当前用户结果export interface GetCurrentUserResult { /** * The currently signed-in user, or null if there isn't any. * * @since 0.1.0 */ user: User | null;}GetIdTokenOptions
标题:获取 ID 令牌选项export interface GetIdTokenOptions { /** * Force refresh regardless of token expiration. * * @since 0.1.0 */ forceRefresh: boolean;}GetIdTokenResult
标题:获取 ID 令牌结果export interface GetIdTokenResult { /** * The Firebase Auth ID token JWT string. * * @since 0.1.0 */ token: string;}GetIdTokenResultOptions
标题:获取 ID 令牌结果选项export interface GetIdTokenResultOptions { /** * Force refresh regardless of token expiration. * * @since 7.4.0 */ forceRefresh: boolean;}GetIdTokenResultResult
标题:获取 ID 令牌结果export interface GetIdTokenResultResult { /** * The authentication time in milliseconds since the epoch. * * This is the time the user authenticated (signed in) and not the time the token was refreshed. * * @since 7.4.0 */ authTime: number; /** * The ID token expiration time in milliseconds since the epoch. * * @since 7.4.0 */ expirationTime: number; /** * The ID token issuance time in milliseconds since the epoch. * * @since 7.4.0 */ issuedAtTime: number; /** * The sign-in provider through which the ID token was obtained. * * @since 7.4.0 */ signInProvider: string | null; /** * The type of second factor associated with this session, provided the user was multi-factor * authenticated (eg. phone, etc). * * @since 7.4.0 */ signInSecondFactor: string | null; /** * The entire payload claims of the ID token including the standard reserved claims as well as * the custom claims. * * @since 7.4.0 */ claims: Record<string, unknown>;}真实来源
标题:真实来源本页面由插件生成 src/definitions.ts. 当公共 API 上游更改时,请重新运行同步。
继续从 Getting Started
标题:继续从 Getting Started如果您正在使用 开始使用 为计划身份验证和帐户流程,连接它与 @capgo/capacitor-social-login 在 @capgo/capacitor-social-login 中的实现细节为 @capgo/capacitor-passkey 在 @capgo/capacitor-passkey 中的实现细节为 @capgo/capacitor-native-biometric 在 @capgo/capacitor-native-biometric 中的实现细节为 双因素身份验证 双因素身份验证的实现细节为 SSO (企业) SSO (企业) 的实现细节为