mcpField
B
better-auth-authentication

better-auth-authentication

github.com/bobmatnyc安全78393 次安装15 周前更新
代码仓库

关于 better-auth-authentication

介绍 Better Auth 身份验证配置与客户端调用的开发指南,面向需要加入邮箱密码和社交登录流程的应用。还涵盖邮箱验证、重定向、错误处理和密钥管理注意事项。

主要功能

  1. 01邮箱密码注册与登录
  2. 02社交提供商 OAuth 登录
  3. 03邮箱验证流程
  4. 04回调与错误重定向
  5. 05会话持久化控制

适用场景

  1. 01为应用添加邮箱密码身份验证
  2. 02配置 GitHub 等社交登录
  3. 03要求邮箱验证后才允许登录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill better-auth-authentication

安装后在 Claude Code 中输入/better-auth-authentication确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
references/
email-password.md
providers.md

详细介绍

Better Auth 身份验证

目标

  • 启用电子邮件/密码身份验证和社交提供商。
  • 实现注册、登录、退出和验证流程。
  • 以一致的方式处理重定向和错误。

快速入门

  1. 启用 emailAndPassword 并配置 socialProviders。
  2. 使用 createAuthClient 创建客户端。
  3. 在客户端上使用 signUp.email、signIn.email、signIn.social 和 signOut。
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();

电子邮件验证

  • 提供 emailVerification.sendVerificationEmail 以发送验证链接。
  • 使用 emailAndPassword.requireEmailVerification 强制用户在登录前完成验证。

社交提供商

  • 在 socialProviders 中配置提供商及其专属凭据。
  • 使用 signIn.social 启动 OAuth 流程。
  • 传入 callbackURL、errorCallbackURL 和 newUserCallbackURL 以设置重定向。

防护措施

  • 仅从客户端调用客户端方法。
  • 将密钥保存在仅供服务端使用的环境变量中。
  • 使用 rememberMe 控制电子邮件/密码登录时的持久会话。

参考资料

  • toolchains/platforms/auth/better-auth/better-auth-authentication/references/email-password.md
  • toolchains/platforms/auth/better-auth/better-auth-authentication/references/providers.md

评论

支持 Markdown