界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

better-auth-authentication

better-auth-authentication

【效率与协作】Better Auth authentication flows for TypeScript apps. Use when enabling email/password auth, configuring social providers, or implementing sign-up, sign-in, and verification flows.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: better-auth-authentication description: Better Auth authentication flows for TypeScript apps. Use when enabling email/password auth, configuring social providers, or implementing sign-up, sign-in, and verification flows. user-invocable: false disable-model-invocation: true progressive_disclosure: entry_point: summary: "Better Auth authentication flows for TypeScript apps. Use when enabling email/password auth, configuring social providers, or implementing sign-up, sign-in, and verification flows." when_to_use: "When implementing authentication, authorization, or security." quick_start: "1. Review the core concepts below. 2. Apply patterns to your use case. 3. Follow best practices for implementation." references: - email-password.md - providers.md

Better Auth Authentication

Goals

  • Enable email/password authentication and social providers.
  • Implement sign-up, sign-in, sign-out, and verification flows.
  • Handle redirects and errors consistently.

Quick start

  1. Enable emailAndPassword and configure socialProviders.
  2. Create a client with createAuthClient.
  3. Use signUp.email, signIn.email, signIn.social, and signOut on the client.
import { betterAuth } from "better-auth";

export const auth = betterAuth({
  emailAndPassword: { enabled: true },
  socialProviders: {
    github: {
      clientId: process.env.GITHUB_CLIENT_ID as string,
      clientSecret: process.env.GITHUB_CLIENT_SECRET as string,
    },
  },
});
import { createAuthClient } from "better-auth/client";

const authClient = createAuthClient();

await authClient.signUp.email({
  email,
  password,
  name,
});

await authClient.signIn.email({
  email,
  password,
  callbackURL: "/dashboard",
});

await authClient.signIn.social({
  provider: "github",
  callbackURL: "/dashboard",
});

await authClient.signOut();

Email verification

  • Provide emailVerification.sendVerificationEmail to send the verification link.
  • Use emailAndPassword.requireEmailVerification to enforce verification before sign-in.

Social providers

  • Configure providers in socialProviders with provider-specific credentials.
  • Use signIn.social to start OAuth flows.
  • Pass callbackURL, errorCallbackURL, and newUserCallbackURL for redirects.

Guardrails

  • Call client methods from the client only.
  • Keep secrets in server-only env variables.
  • Use rememberMe to control persistent sessions on email/password sign-in.

References

  • toolchains/platforms/auth/better-auth/better-auth-authentication/references/email-password.md
  • toolchains/platforms/auth/better-auth/better-auth-authentication/references/providers.md
我的收藏