关于 better-auth-authentication
介绍 Better Auth 身份验证配置与客户端调用的开发指南,面向需要加入邮箱密码和社交登录流程的应用。还涵盖邮箱验证、重定向、错误处理和密钥管理注意事项。
主要功能
- 01邮箱密码注册与登录
- 02社交提供商 OAuth 登录
- 03邮箱验证流程
- 04回调与错误重定向
- 05会话持久化控制
适用场景
- 01为应用添加邮箱密码身份验证
- 02配置 GitHub 等社交登录
- 03要求邮箱验证后才允许登录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bobmatnyc/ claude-mpm-skills --skill better-auth-authentication安装后在 Claude Code 中输入/better-auth-authentication确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
metadata.jsonreferences/email-password.mdproviders.md详细介绍
Better Auth 身份验证
目标
- 启用电子邮件/密码身份验证和社交提供商。
- 实现注册、登录、退出和验证流程。
- 以一致的方式处理重定向和错误。
快速入门
- 启用
emailAndPassword并配置socialProviders。 - 使用
createAuthClient创建客户端。 - 在客户端上使用
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.mdtoolchains/platforms/auth/better-auth/better-auth-authentication/references/providers.md
评论
支持 Markdown