Express 集成
本文将向你展示如何将Better Auth 与express.js集成。
在开始之前,请确保你已经配置了 Better Auth 实例。如果你尚未完成此操作,请查看安装指南。
请注意,不支持 CommonJS (cjs)。请通过在 package.json
中设置 "type": "module"
或配置 tsconfig.json
使用 ES 模块来使用 ECMAScript 模块 (ESM)。
挂载处理程序
为了使 Better Auth 能够处理请求,我们需要将处理程序挂载到 API 路由。创建一个捕获所有请求的路由来管理 ExpressJS v4 中的 /api/auth/*
或 ExpressJS v5 中的 /api/auth/*splat
(或在 Better Auth 选项中指定的任何其他路径)的所有请求。
不要在 Better Auth 处理程序之前使用 express.json()
。仅将其用于其他路由,否则客户端 API 将停留在"待处理"状态。
完成设置后,启动你的服务器。Better Auth 将准备就绪。你可以向 /ok
端点(/api/auth/ok
)发送 GET
请求,以验证服务器是否正在运行。
CORS 配置
在集成 Better Auth 时,要为 Express 服务器添加 CORS(跨源资源共享)支持,你可以使用 cors
中间件。以下是一个更新的示例,展示了如何为你的服务器配置 CORS:
获取用户会话
要检索用户的会话,你可以使用 auth
对象提供的 getSession
方法。此方法要求以特定格式传递请求头。为了简化此过程,Better Auth 提供了 fromNodeHeaders
辅助函数,它将 Node.js 请求头转换为 Better Auth 预期的格式(一个 Headers
对象)。
以下是在 Express 路由中使用 getSession
的示例: