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

Microsoft Entra SCIM配置创建用户时POST /Users/请求体为空求助

解决Node Express中SCIM请求req.body为空的问题

问题根源

Microsoft Entra ID发送的SCIM创建用户请求,Content-Type是application/scim+json,但Express默认的express.json()中间件只处理application/json类型的请求体,导致req.body被解析为空对象。

具体解决方案

  • 调整Express JSON解析配置:修改express.json()的type参数,让它同时支持SCIM的内容类型:
    app.use(express.json({
      type: ['application/json', 'application/scim+json']
    }));
    
  • 添加调试验证:在/Users端点里加日志,确认请求头和解析结果:
    app.post('/Users', (req, res) => {
      console.log('请求Content-Type:', req.get('Content-Type'));
      console.log('解析后的req.body:', req.body);
      // 你的SCIM用户创建逻辑
    });
    
  • 排查中间件冲突:如果项目里用了旧版body-parser包,建议改用Express内置的express.json(),避免不同解析中间件互相干扰。
  • 确认Entra配置:在Entra ID的SCIM设置里,保持默认的SCIM 2.0格式配置,不要修改请求内容类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 05:49:54