Hono 集成
在开始之前,请确保你已经配置了 Better Auth 实例。如果你尚未完成此操作,请查看安装指南。
挂载处理程序
我们需要将处理程序挂载到 Hono 端点。
跨域资源共享(CORS)
要配置 CORS,你需要使用 hono/cors
中的 cors
插件。
中间件
你可以添加中间件将 session
和 user
保存在 context
中,并为每个路由添加验证。
这将允许你在所有路由中访问 user
和 session
对象。
跨域 Cookie
默认情况下,所有 Better Auth 的 cookies 都设置为 SameSite=Lax
。如果你需要在不同域之间使用 cookies,你需要设置 SameSite=None
和 Secure=true
。但是,我们建议尽可能使用子域,因为这允许你保持 SameSite=Lax
。要启用跨子域 cookies,只需在你的 auth 配置中打开 crossSubDomainCookies
。
如果你仍然需要设置 SameSite=None
和 Secure=true
,你可以通过 createAuth
配置中的 cookieOptions
全局调整这些属性。
你也可以通过在 auth 配置的 cookies
中设置来单独自定义 cookie 属性。
客户端配置
当使用 Hono 客户端(@hono/client
)向你的 Better Auth 保护的端点发送请求时,你需要配置它以发送凭证(cookies)进行跨域请求。
在以下情况下需要此配置:
- 在开发过程中,你的客户端和服务器位于不同的域/端口上
- 你在生产环境中进行跨域请求
- 你需要随请求发送认证 cookies
credentials: "include"
选项告诉 fetch 客户端即使是跨域请求也要发送 cookies。这与服务器上设置了 credentials: true
的 CORS 配置协同工作。
注意: 确保服务器上的 CORS 配置与你的客户端域名匹配,并且在服务器的 CORS 配置和客户端的 fetch 配置中都设置了
credentials: true
。