Files
better-auth/demo/nextjs
Gustavo Valverde 3fbab44068 chore: sync main to next
Resolves conflicts in PR #9115 which the release bot cannot auto-merge.

Conflict resolutions:
- .github/workflows/release.yml: take main's hardened grep fallback (92256a2d0)
- docs/content/docs/plugins/sso.mdx: take main's named-exports refactor verbatim (#9144)
- packages/oauth-provider/src/token.ts: keep next's at_hash sequencing (#9079),
  add main's customTokenResponseFields spread and credential helper rename (#9118)
- packages/oauth-provider/src/token.test.ts: keep both new describe blocks
  (at_hash in id tokens from next, customTokenResponseFields from main)

Semantic fixes on auto-merged files where git silently dropped main's changes
around next's discriminated-response refactor:
- two-factor/index.ts: restore skipVerificationOnEnable handling in the totp
  enablement path
- two-factor/types.ts: restore the skipVerificationOnEnable type field
- two-factor/two-factor.test.ts: narrow the discriminated enable response via
  method === "totp" guard
2026-04-14 11:30:13 +01:00
..
2026-01-27 23:12:31 +00:00
2026-04-14 11:30:13 +01:00
2026-04-14 11:30:13 +01:00

Better Auth Demo App

Welcome to the Better Auth demo app! This project is built with Next.js using create-next-app.

Getting Started

Heres how you can get the app running locally:

Prerequisites

  1. Clone the repo:

    git clone https://github.com/better-auth/better-auth
    cd better-auth/demo/nextjs
    
  2. Install the dependencies:

    npm install
    # or
    yarn install
    # or
    pnpm install
    
  3. Set up your environment variables:

    • Rename the .env.example file to .env:

      mv .env.example .env
      
    • Open .env and fill in the required details. These will include things like API URLs, client IDs, and secrets needed to connect to the Better Auth service.

Make sure TURSO_DATABASE_URL=your_turso_url and TURSO_AUTH_TOKEN=your_turso_token is set or USE_MYSQL=true and MYSQL_DATABASE_URL=your_mysql_url is set.

Start the Development Server

Once everything is set up, start the development server with:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

The app will be live at http://localhost:3000. Open it in your browser, and youre good to go!

Feel free to jump in and edit the app by modifying app/page.tsx. Any changes you make will update automatically in the browser.

Features

Heres what this app supports out of the box:

Learn More

Here are some helpful links if you want to dive deeper:


If you run into issues or have suggestions, feel free to open an issue or submit a pull request on the GitHub repo.

Happy coding!