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

Postman调用Auth0用户端点正常,.NET Core Web API调用报400错误求助

排查思路

  • 先校验序列化后的JSON内容
    你当前用[FromBody] Object content接收请求后直接序列化,可先在代码中打印json变量的实际值,和Postman的请求体逐字段对比,确认是否存在属性名大小写不符、字段缺失、多了嵌套层级等问题。System.Text.Json默认序列化规则和你上游传入的对象结构不匹配时,极易生成不符合Auth0接口要求的请求体。
  • 移除RestSharp冗余配置避免冲突
    你同时设置了request.AddParameter("application/json", json, ParameterType.RequestBody)和request.RequestFormat = DataFormat.Json,二者会产生冲突:RestSharp的RequestFormat = DataFormat.Json会触发自动序列化逻辑,覆盖你手动添加的请求体,或导致请求体格式错误,直接删除request.RequestFormat = DataFormat.Json这行即可。
  • 核对Auth0端点地址拼写
    检查配置项Auth0:Domain的取值是否正确,完整的请求URL是否和Postman调用的Auth0接口地址完全一致,有没有多写/少写斜杠、域名拼写错误等问题,路径不匹配是400错误的常见诱因。
  • 验证Bearer令牌有效性
    确认代码中使用的令牌和Postman所用令牌完全一致,检查令牌是否过期、是否授予了create:users权限、令牌的Audience是否设置为Auth0 Management API的地址(格式为https://{你的Auth0域名}/api/v2/),权限或Audience配置错误也会返回400错误。
  • 抓包对比请求差异
    用Fiddler、Charles等抓包工具,分别抓取代码发起的请求和Postman发起的请求,对比URL、请求头、请求体的所有内容,找到二者的差异点即可定位问题。
  • 替换请求体设置方式
    可以删掉手动序列化JSON、手动添加请求体的代码,直接使用RestSharp自带的AddJsonBody方法:
    // 删掉这两行
    // string json = System.Text.Json.JsonSerializer.Serialize(content);
    // request.AddParameter("application/json", json, ParameterType.RequestBody);
    // 新增这行
    request.AddJsonBody(content);
    
    RestSharp会自动完成序列化、添加正确的Content-Type头,避免手动处理产生的格式错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:54:04