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

Strapi注册成功但返回空data对象 无法获取jwt令牌问题排查

问题修复方案

先修正前端代码的低级错误

你当前代码有四处直接导致异常的问题:

  1. 混用await与.then()链式调用,且.then()回调没有返回响应对象,await最终接收到的结果是console.log的返回值也就是undefined,根本拿不到接口实际返回内容
  2. 请求路径和你实际配置的接口不匹配:你提到可用的注册接口是/api/auth/local/register,但代码里写的路径少了/api前缀,请求会打到错误的兜底路由上
  3. 多余传参:你手动传了confirmed: "true",这个字段是Strapi用户表的内部受保护字段,公共接口不允许前端直接传值覆盖,而且你传的是字符串格式的"true"而非布尔值,会触发Strapi的参数过滤逻辑,甚至导致返回结构异常
  4. 接口最后直接用res.status(200).end()返回空响应,就算拿到jwt前端也拿不到有效返回

修正后的代码:

// /pages/api/register.js
import axios from 'axios'
// 引入你项目使用的setCookie方法
// import setCookie from '你的工具方法路径'

export default async(req, res) => {
    const {username, password, email} = req.body

    try {
        // 去掉冗余的.then调用,补全接口路径,删除无效的confirmed参数
        const strapiResp = await axios.post(`${process.env.STRAPI_URL}/api/auth/local/register`, {
            username,
            email,
            password
        })
        
        console.log('Strapi注册接口原始返回:', strapiResp.data)
        // 正常情况下strapiResp.data会包含jwt和user两个字段

        // 解开注释即可正常写入cookie
        // setCookie({res}, 'jwt', strapiResp.data.jwt, {
        //     httpOnly: true,
        //     maxAge: 30 * 24 * 60 * 60,
        //     path: '/'
        // })

        // 向前端返回有效响应,不要直接结束请求
        res.status(200).json({
            code: 0,
            data: {
                user: strapiResp.data.user
            }
        })
    } catch (e) {
        // 打印Strapi返回的真实错误信息方便排查
        console.error('注册请求失败:', e.response?.data || e.message)
        res.status(400).json({
            code: -1,
            msg: e.response?.data?.message || '注册失败'
        })
    }
}

再校验Strapi侧配置

如果改完代码还是返回空data,去Strapi后台检查以下配置:

  • 进入设置-用户与权限插件-角色-Public角色,在权限配置区的Auth分类下,确认register接口的权限已经勾选
  • 同一页面找到User模型的权限配置,确认需要返回的用户字段(username、email等)已勾选返回权限,未勾选的字段会被Strapi自动过滤
  • 进入设置-用户与权限插件-高级设置,确认邮箱验证开关为关闭状态,新用户默认角色设置为Authenticated

注意:不要在公共接口请求中传递confirmed、role这类用户表的敏感内部字段,Strapi默认会对这类参数做安全过滤,严重时会直接拦截请求返回空数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:48:25