# Better Auth > Enhance your app's security with two-factor authentication. ## Pages - [Two-Factor Authentication (2FA)](2fa.md): Enhance your app's security with two-factor authentication. - [account_already_linked_to_different_user](account-already-linked-to-different-user.md): The account is already linked to a different user. - [Admin](admin.md): Admin plugin for Better Auth - [Anonymous](anonymous.md): Anonymous plugin for Better Auth. - [API Key](api-key.md): API Key plugin for Better Auth. - [API](api.md): Better Auth API. - [Apple](apple.md): Apple provider setup and usage. - [Astro Example](astro.md): Better Auth Astro example. - [Atlassian](atlassian.md): Atlassian provider setup and usage. - [Migrating from Auth0 to Better Auth](auth0-migration-guide.md): A step-by-step guide to transitioning from Auth0 to Better Auth. - [Autumn Billing](autumn.md): Better Auth Plugin for Autumn Billing - [Basic Usage](basic-usage.md): Getting started with Better Auth - [Bearer Token Authentication](bearer.md): Authenticate API requests using Bearer tokens instead of browser cookies - [Browser Extension Guide](browser-extension-guide.md): A step-by-step guide to creating a browser extension with Better Auth. - [Captcha](captcha.md): Captcha plugin - [Migrating from Clerk to Better Auth](clerk-migration-guide.md): A step-by-step guide to transitioning from Clerk to Better Auth. - [CLI](cli.md): Built-in CLI for managing your project. - [Client](client.md): Better Auth client library for authentication. - [Cognito](cognito.md): Amazon Cognito provider setup and usage. - [Commet](commet.md): Better Auth Plugin for Billing and Subscriptions using Commet - [Community Adapters](community-adapters.md): Integrate Better Auth with community made database adapters. - [Community Plugins](community-plugins.md): A list of recommended community plugins. - [Comparison](comparison.md): Comparison of Better Auth versus over other auth libraries and services. - [Contributing to BetterAuth](contributing.md): A concise guide to contributing to BetterAuth - [Convex Integration](convex.md): Integrate Better Auth with Convex. - [Cookies](cookies.md): Learn how cookies are used in Better Auth. - [Create a Database Adapter](create-a-db-adapter.md): Learn how to create a custom database adapter for Better-Auth - [Creem](creem.md): Better Auth Plugin for Payment and Subscriptions using Creem - [Database](database.md): Learn how to use a database with Better Auth. - [Device Authorization](device-authorization.md): OAuth 2.0 Device Authorization Grant for limited-input devices - [Discord](discord.md): Discord provider setup and usage. - [Dodo Payments](dodopayments.md): Better Auth Plugin for Dodo Payments - [Drizzle ORM Adapter](drizzle.md): Integrate Better Auth with Drizzle ORM. - [Dropbox](dropbox.md): Dropbox provider setup and usage. - [Dub](dub.md): Better Auth Plugin for Lead Tracking using Dub links and OAuth Linking - [Elysia Integration](elysia.md): Integrate Better Auth with Elysia. - [Email OTP](email-otp.md): Email OTP plugin for Better Auth. - [Email & Password](email-password.md): Implementing email and password authentication with Better Auth. - [Email](email.md): Learn how to use email with Better Auth. - [email_doesn't_match](email-doesnt-match.md): The email doesn't match the email of the account. - [email_not_found](email-not-found.md): The provider did not return an email address. - [Errors](errors.md): Errors that can occur in Better Auth. - [Expo Integration](expo.md): Integrate Better Auth with Expo. - [Express Integration](express.md): Integrate Better Auth with Express. - [Facebook](facebook.md): Facebook provider setup and usage. - [FAQ](faq.md): Frequently asked questions about Better Auth. - [Better Auth Fastify Integration Guide](fastify.md): Learn how to seamlessly integrate Better Auth with your Fastify application. - [Figma](figma.md): Figma provider setup and usage. - [Generic OAuth](generic-oauth.md): Authenticate users with any OAuth provider - [GitHub](github.md): GitHub provider setup and usage. - [GitLab](gitlab.md): GitLab provider setup and usage. - [Google](google.md): Google provider setup and usage. - [Have I Been Pwned](have-i-been-pwned.md): A plugin to check if a password has been compromised - [Hono Integration](hono.md): Integrate Better Auth with Hono. - [Hooks](hooks.md): Better Auth Hooks let you customize BetterAuth's behavior - [Hugging Face](huggingface.md): Hugging Face provider setup and usage. - [Installation](installation.md): Learn how to configure Better Auth in your project. - [Introduction](introduction.md): Introduction to Better Auth. - [invalid_callback_request](invalid-callback-request.md): The callback request is invalid. - [JWT](jwt.md): Authenticate users with JWT tokens in services that can't use the session - [Kakao](kakao.md): Kakao provider setup and usage. - [Kick](kick.md): Kick provider setup and usage. - [Last Login Method](last-login-method.md): Track and display the last authentication method used by users - [LINE](line.md): LINE provider setup and usage. - [Linear](linear.md): Linear provider setup and usage. - [LinkedIn](linkedin.md): LinkedIn Provider - [Lynx Integration](lynx.md): Integrate Better Auth with Lynx cross-platform framework. - [Magic link](magic-link.md): Magic link plugin - [MCP](mcp.md): MCP provider plugin for Better Auth - [Microsoft](microsoft.md): Microsoft provider setup and usage. - [MongoDB Adapter](mongo.md): Integrate Better Auth with MongoDB. - [MS SQL](mssql.md): Integrate Better Auth with MS SQL. - [Multi Session](multi-session.md): Learn how to use multi-session plugin in Better Auth. - [MySQL](mysql.md): Integrate Better Auth with MySQL. - [Naver](naver.md): Naver provider setup and usage. - [NestJS Integration](nestjs.md): Integrate Better Auth with NestJS. - [Migrating from Auth.js to Better Auth](next-auth-migration-guide.md): A step-by-step guide to transitioning from Auth.js to Better Auth. - [Next.js Example](next-js.md): Better Auth Next.js example. - [Next.js integration](next.md): Integrate Better Auth with Next.js. - [Nitro Integration](nitro.md): Integrate Better Auth with Nitro. - [no_callback_url](no-callback-url.md): The callback URL was not found in the request. - [no_code](no-code.md): The code was not found in the request. - [Notion](notion.md): Notion provider setup and usage. - [Nuxt Example](nuxt.md): Better Auth Nuxt example. - [OAuth 2.1 Provider](oauth-provider.md): A Better Auth plugin that enables your auth server to serve as an OAuth 2.1 provider. - [OAuth Proxy](oauth-proxy.md): OAuth Proxy plugin for Better Auth - [OAuth](oauth.md): How Better Auth handles OAuth - [oauth_provider_not_found](oauth-provider-not-found.md): The OAuth provider was not found. - [OIDC Provider](oidc-provider.md): Open ID Connect plugin for Better Auth that allows you to have your own OIDC provider. - [One Tap](one-tap.md): One Tap plugin for Better Auth - [One-Time Token Plugin](one-time-token.md): Generate and verify single-use token - [Open API](open-api.md): Open API reference for Better Auth. - [Optimizing for Performance](optimizing-for-performance.md): A guide to optimizing your Better Auth application for performance. - [Options](options.md): Better Auth configuration options reference. - [Organization](organization.md): The organization plugin allows you to manage your organization's members and teams. - [Other Relational Databases](other-relational-databases.md): Integrate Better Auth with other relational databases. - [Other Social Providers](other-social-providers.md): Other social providers setup and usage. - [Passkey](passkey.md): Passkey - [Paybin](paybin.md): Paybin provider setup and usage. - [PayPal](paypal.md): Paypal provider setup and usage. - [Phone Number](phone-number.md): Phone number plugin - [Plugins](plugins.md): Learn how to use plugins with Better Auth. - [Polar](polar.md): Polar provider setup and usage. - [PostgreSQL](postgresql.md): Integrate Better Auth with PostgreSQL. - [Prisma](prisma.md): Integrate Better Auth with Prisma. - [Rate Limit](rate-limit.md): How to limit the number of requests a user can make to the server in a given time period. - [Reddit](reddit.md): Reddit provider setup and usage. - [Remix Example](remix.md): Better Auth Remix example. - [Resources](resources.md): A curated collection of resources to help you learn and master Better Auth. - [Roblox](roblox.md): Roblox provider setup and usage. - [Salesforce](salesforce.md): Salesforce provider setup and usage. - [SAML SSO with Okta](saml-sso-with-okta.md): A guide to integrating SAML Single Sign-On (SSO) with Better Auth, featuring Okta - [System for Cross-domain Identity Management (SCIM)](scim.md): Integrate SCIM with your application. - [Security](security.md): Better Auth security features. - [Session Management](session-management.md): Better Auth session management. - [signup_disabled](signup-disabled.md): Signup disabled error - [Sign In With Ethereum (SIWE)](siwe.md): Sign in with Ethereum plugin for Better Auth - [Slack](slack.md): Slack provider setup and usage. - [SolidStart Integration](solid-start.md): Integrate Better Auth with SolidStart. - [Spotify](spotify.md): Spotify provider setup and usage. - [SQLite](sqlite.md): Integrate Better Auth with SQLite. - [Single Sign-On (SSO)](sso.md): Integrate Single Sign-On (SSO) with your application. - [state_mismatch](state-mismatch.md): The state parameter in the request doesn't match the state parameter in the cookie. - [state_not_found](state-not-found.md): The state parameter was not found in the request. - [Stripe](stripe.md): Stripe plugin for Better Auth to manage subscriptions and payments. - [Migrating from Supabase Auth to Better Auth](supabase-migration-guide.md): A step-by-step guide to transitioning from Supabase Auth to Better Auth. - [SvelteKit Example](svelte-kit.md): Better Auth SvelteKit example. - [TanStack Start Integration](tanstack.md): Integrate Better Auth with TanStack Start. - [Telemetry](telemetry.md): Better Auth now collects anonymous telemetry data about general usage. - [TikTok](tiktok.md): TikTok provider setup and usage. - [Twitch](twitch.md): Twitch provider setup and usage. - [Twitter (X)](twitter.md): Twitter provider setup and usage. - [TypeScript](typescript.md): Better Auth TypeScript integration. - [unable_to_get_user_info](unable-to-get-user-info.md): The user info was not found in the request. - [unable_to_link_account](unable-to-link-account.md): The account could not be linked. - [Unknown error](unknown.md): An unknown error occurred. - [Username](username.md): Username plugin - [User & Accounts](users-accounts.md): User and account management. - [Vercel](vercel.md): Vercel provider setup and usage. - [VK](vk.md): VK ID Provider - [Waku Integration](waku.md): Integrate Better Auth with Waku. - [Migrating from WorkOS to Better Auth](workos-migration-guide.md): A step-by-step guide to transitioning from WorkOS to Better Auth. - [Create your first plugin](your-first-plugin.md): A step-by-step guide to creating your first Better Auth plugin. - [Zoom](zoom.md): Zoom provider setup and usage.