You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置better-auth使接口返回自定义的user additionalField字段

解决betterAuth自定义role字段无法在API返回中获取的问题

针对你遇到的问题,结合给出的配置代码,整理几个排查和解决方向:

1. 修复配置代码的语法错误

你的配置末尾多了一个多余的逗号,这可能导致user配置块未被正确解析:

export const auth = betterAuth({
  database: pool,
  emailAndPassword: {
    enabled: true,
  },
  user: {
    additionalFields: {
      role: {
        type: "string",
        required: true,
        defaultValue: "customer",
        input: false,
        returned: true,
      },
    },
  },
  // 删掉此处多余的逗号
});

修正后重启服务,再测试API返回结果。

2. 确认数据库中role字段的有效值

直接查询用户表(通常为users表),检查role字段是否已被正确填充为customer或你设置的其他值。部分场景下默认值可能因初始化问题未生效,空值可能不会被API返回。

3. 升级betterAuth到最新稳定版

部分旧版本的betterAuth在处理additionalFields的returned属性时存在兼容性问题,执行以下命令升级:

npm update better-auth
# 或使用yarn
yarn upgrade better-auth

4. 验证API端点与自定义处理逻辑

确保调用的是betterAuth官方提供的用户信息接口(比如默认的/api/auth/user);如果是自定义接口,检查是否在处理用户数据时手动过滤了role字段。

5. 清除缓存后重新测试

浏览器或客户端可能缓存了旧的用户数据,尝试用隐身模式访问页面,或清除缓存后重新调用API,确认是否能获取到包含role字段的最新数据。

内容的提问来源于stack exchange,提问作者Max Kabechani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:42:39