Better Auth

Better Auth opsætning til TypeScript-apps: e-mail/adgangskode, OAuth, 2FA, passkeys, DB-adaptere

Af mrgoonie · mrgoonie/claudekit-skills

Virker med opsætning ★ 7.6/10

Better Auth — Better Auth opsætning til TypeScript-apps: e-mail/adgangskode, OAuth, 2FA, passkeys, DB-adaptere

Hvad det gør

Vejleder i implementering af Better Auth, det framework-agnostiske TypeScript-autentificeringsbibliotek, der dækker e-mail/adgangskode med verifikation og nulstilling, sociale OAuth-udbydere, 2FA/TOTP, passkeys, magic links, sessioner og databaseadaptere til Drizzle, Prisma, Kysely og MongoDB. Udløses ved tilføjelse af autentificering eller autorisation til en TypeScript- eller JavaScript-app, tilslutning af OAuth-login, opsætning af multifaktorautentificering eller konfiguration af autentificeringsdatabaseskema og beskyttede ruter. Leveres med fire referencedokumenter plus et Python-initialiseringsscript, der stilladserer autentificeringskonfiguration og .env-værdier.

Testrapport

INSTALL: frontmatter parses (name + description + license + version 2.0.0); alle 5 kropsrefererede filer hentet HTTP 200 (references/email-password-auth.md 8567B, oauth-providers.md 9293B, database-integration.md 10517B, advanced-features.md 10604B, scripts/better_auth_init.py 16394B). Grepped det 521-linjers Python-script: ingen curl|sh, ingen base64, ingen netværkskald, ingen injektionstekst; kun relativ Path(__file__) opløsning og `secrets` til nøglegenerering. TRIGGER 5/5 — SKAL udløses: "Add Better Auth email/password + GitHub OAuth to my Next.js 15 app" (ja), "I want passwordless passkey/WebAuthn sign-in for our SvelteKit TypeScript app" (ja), "Set up TOTP two-factor auth and role-based access control for our Node/TS SaaS" (ja); SKAL IKKE: "Our nginx reverse proxy needs HTTP basic auth on /admin" (nej — infra, ikke app-autentificering), "Configure OAuth2 client credentials to call the Stripe API from our Python backend" (nej — udgående maskinautentificering, forkert sprog). OUTPUT: opgaven var "add Better Auth to Next.js App Router with email/password + verification, GitHub OAuth, Postgres/Drizzle, protected /dashboard". Jeg skrev baseline fra hukommelsen uden at åbne noget referencedokument (forbehold: jeg havde allerede læst SKILL.md's krop, så kontaminering er begrænset til quickstart på øverste niveau, ikke referencerne, som bærer skill'ens reelle payload). Skill-kørslen slog baseline på fire konkrete punkter: korrekt sendVerificationEmail({user,url,token}) signatur plus sendOnSignUp/autoSignInAfterVerification (baseline gættede), middleware via auth.api.getSession({headers}) med matcher i stedet for min håndrullede cookie-navn-sniff, account.accountLinking.trustedProviders som baseline helt missede, og --adapter drizzle CLI-flagget. Men jeg verificerede derefter referencerne mod den rigtige pakke (npm pack better-auth@1.6.23 og @better-auth/drizzle-adapter, grepped dist): `emailAndPassword.sendResetPasswordToken` eksisterer ikke (kun `sendResetPassword`), `password.requireUppercase` eksisterer ikke (reel mulighed er top-level `minPasswordLength`), og drizzle `schema: { user: "users" }` strengkortet har den forkerte form — det felt tager drizzle tabelobjekter, flertalsnavngivning er `usePlural: true`. Disse tre ville lydløst no-op, så e-mails til nulstilling af adgangskode og adgangskodepolitik ville stille aldrig blive udløst. DOCS: SKILL.md er ærlig om struktur og oversælger ikke; trukket et point, fordi referencedokumenterne dokumenterer muligheder, der mangler i det leverede bibliotek, og skill'en bærer en "version 2.0.0" etiket uden angivelse af, hvilken better-auth version den sporer.

Testet: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/mrgoonie/claudekit-skills /tmp/claudekit-skills
mkdir -p ~/.claude/skills
cp -R /tmp/claudekit-skills/.claude/skills/better-auth ~/.claude/skills/better-auth
# project-local instead: cp -R /tmp/claudekit-skills/.claude/skills/better-auth .claude/skills/
# optional interactive scaffolder (needs python3):
# python3 ~/.claude/skills/better-auth/scripts/better_auth_init.py

Kommandoer og eksempelprompter

  • /better-authBetter Auth opsætning til TypeScript-apps: e-mail/adgangskode, OAuth, 2FA, passkeys, DB-adaptere

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Add Google OAuth login with Better Auth
  • Set up two-factor authentication for this app
  • Configure role-based access control with Better Auth