Better Auth

Better Auth-konfiguration för TypeScript-appar: e-post/lösenord, OAuth, 2FA, passkeys, DB-adaptrar

av mrgoonie · mrgoonie/claudekit-skills

Fungerar med konfiguration ★ 7.6/10

Better Auth — Better Auth-konfiguration för TypeScript-appar: e-post/lösenord, OAuth, 2FA, passkeys, DB-adaptrar

Vad den gör

Vägleder implementering av Better Auth, det ramverksagnostiska TypeScript-autentiseringsbiblioteket, som täcker e-post/lösenord med verifiering och återställning, sociala OAuth-leverantörer, 2FA/TOTP, passkeys, magiska länkar, sessioner och databasadaptrar för Drizzle, Prisma, Kysely och MongoDB. Utlöses när autentisering eller auktorisering läggs till i en TypeScript- eller JavaScript-app, vid anslutning av OAuth-inloggning, konfiguration av multifaktorautentisering eller inställning av autentiseringsdatabasens schema och skyddade rutter. Levereras med fyra referensdokument plus ett Python-initieringsskript som stöder autentiseringskonfiguration och .env-värden.

Testrapport

INSTALL: frontmatter parsas (name + description + license + version 2.0.0); alla 5 kroppsrefererade filer hämtades 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). Greppade det 521 rader långa Python-skriptet: ingen curl|sh, ingen base64, inga nätverksanrop, ingen injektionstext; endast relativ Path(__file__)-upplösning och `secrets` för nyckelgenerering. TRIGGER 5/5 — SKA utlösas: "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); SKA INTE: "Our nginx reverse proxy needs HTTP basic auth on /admin" (nej — infra, inte appautentisering), "Configure OAuth2 client credentials to call the Stripe API from our Python backend" (nej — utgående maskinautentisering, fel språk). OUTPUT: uppgiften var "add Better Auth to Next.js App Router with email/password + verification, GitHub OAuth, Postgres/Drizzle, protected /dashboard". Jag skrev baslinjen från minnet utan att öppna något referensdokument (förbehåll: jag hade redan läst SKILL.md:s brödtext, så kontamineringen är begränsad till snabbstarten på toppnivå, inte referenserna, som bär skicklighetens verkliga nyttolast). Skicklighetskörningen slog baslinjen på fyra konkreta punkter: korrekt sendVerificationEmail({user,url,token})-signatur plus sendOnSignUp/autoSignInAfterVerification (baslinjen gissade), middleware via auth.api.getSession({headers}) med matcher istället för min handrullade cookie-name sniff, account.accountLinking.trustedProviders som baslinjen missade helt, och --adapter drizzle CLI-flaggan. Men jag verifierade sedan referenserna mot det verkliga paketet (npm pack better-auth@1.6.23 och @better-auth/drizzle-adapter, greppade dist): `emailAndPassword.sendResetPasswordToken` existerar inte (endast `sendResetPassword`), `password.requireUppercase` existerar inte (verkligt alternativ är top-level `minPasswordLength`), och drizzle `schema: { user: "users" }` strängmappningen har fel form — det fältet tar drizzle table objects, plural naming är `usePlural: true`. Dessa tre skulle tyst no-opa, så e-postmeddelanden för återställning av lösenord och lösenordspolicy skulle tyst aldrig utlösas. DOCS: SKILL.md är ärlig om strukturen och överdriver inte; drog av en poäng eftersom referensdokumenten dokumenterar alternativ som saknas i det levererade biblioteket och skickligheten bär en "version 2.0.0"-etikett utan indikation på vilken better-auth-version den spårar.

Testad: 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

Kommandon och exempelprompter

  • /better-authBetter Auth-konfiguration för TypeScript-appar: e-post/lösenord, OAuth, 2FA, passkeys, DB-adaptrar

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

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