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

如何配置Insomnia以公共客户端模式获取OAuth 2.0令牌(无密钥)

公共客户端在Insomnia中获取OAuth2令牌的解决方案

可以在Insomnia中以无密钥的公共客户端身份从Okta等OAuth2授权服务器获取访问令牌和ID令牌,你的问题出在令牌请求的认证方式错误,调整后即可解决。

问题核心原因

你当前的令牌请求用了Authorization: Basic <base64(client_id:)>的HTTP头,这种认证方式是给有机密密钥的客户端设计的。而公共客户端(无密钥)按照RFC 6749要求,必须把client_id作为表单参数传递,不能用Basic Auth头——Okta会因为识别到不匹配的客户端认证方式,返回invalid_client错误。

具体修复步骤

  • 删掉请求里的Authorization头字段,不要用Basic Auth方式传递client_id
  • 在令牌请求的x-www-form-urlencoded参数列表里,新增client_id=<你的公共客户端ID>,和现有的grant_type、code、redirect_uri等参数放在一起
  • 确保redirect_uri和你发起授权请求时用的地址完全一致,code_verifier也和授权阶段生成的code_challenge对应

调整后的请求示例

POST /oauth2/default/v1/token HTTP/2
Host: dev-[redacted].okta.com
user-agent: insomnia/2022.6.0
content-type: application/x-www-form-urlencoded
accept: application/x-www-form-urlencoded, application/json
content-length: [自动计算长度]

grant_type=authorization_code&code=[redacted]&redirect_uri=[redacted]&state=any+random+string&code_verifier=[redacted]&client_id=<你的公共客户端ID>

补充说明

你选择Insomnia 2022.6.0版本是正确的,新版本的code_challenge_method不符合RFC 7636规范,会和授权服务器产生兼容性问题,旧版本可以规避这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:02:48