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

.NET Core 3.1搭建Identity Server调用connect/token报unsupported grant_type错误

错误截图

错误截图1
错误截图2

错误触发原因

  1. 授权类型配置值不规范:Identity Server 4 内置可识别的标准授权类型对应值为:密码流password、授权码流authorization_code、刷新令牌流refresh_token,你当前配置中的code不属于合法的内置授权类型值,无法被服务识别。
  2. 刷新令牌授权类型缺失:你已开启AllowOfflineAccess支持刷新令牌,但未在AllowedGrantTypes中显式添加refresh_token,若请求时使用grant_type=refresh_token会直接触发该错误。
  3. 请求格式不符合要求:connect/token接口仅支持POST请求,且要求Content-Type为application/x-www-form-urlencoded,若请求传JSON格式参数、grant_type参数拼写错误或值与客户端配置的允许值不匹配,都会返回该错误。

解决方法

1. 修正客户端授权类型配置

根据实际使用的授权模式调整appsettings.json的AllowedGrantTypes节点,示例如下:

// 同时支持密码流、授权码流、刷新令牌流的配置
"AllowedGrantTypes": [ "password", "authorization_code", "refresh_token" ],

无需使用的授权类型可直接从数组中移除即可。

2. 校验接口请求参数

发起令牌请求时确认以下规则:

  • 请求方式为POST
  • 请求头Content-Type值为application/x-www-form-urlencoded
  • 表单参数中grant_type的值与配置的允许值完全匹配:使用密码流传password,授权码流传authorization_code,刷新令牌传refresh_token
  • 授权码流请求需同步传入正确的code和redirect_uri参数,且重定向地址与客户端配置完全一致

3. 验证配置加载有效性

可通过调试或日志输出加载后的客户端AllowedGrantTypes属性值,确认配置文件的内容被正确读取到Identity Server的客户端规则中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:36:03