【发布时间】:2026-02-23 03:15:01
【问题描述】:
根据规范,只要client_id 包含在请求中和 client_id 相同,就不需要对使用授权码授予的令牌请求进行身份验证一个用于生成代码。但是,使用 Spring Security OAuth 2.0 实现,即使从未为客户端分配秘密,/oauth/token 端点上似乎也始终需要基本身份验证。
由于ClientDetails 接口中的isSecretRequired() 方法,似乎支持允许没有秘密的客户端。我需要做什么才能使没有秘密的客户端能够在/oauth/token URL 上进行身份验证?
4.1.3。访问令牌请求
客户端通过发送
以下参数使用“application/x-www-form-urlencoded”
HTTP 中字符编码为 UTF-8 的附录 B 格式
请求实体主体:grant_type 必需的。值必须设置为“authorization_code”。
代码 必需的。收到的授权码 授权服务器。
redirect_uri 必需,如果“redirect_uri”参数包含在 第 4.1.1 节中描述的授权请求,及其 值必须相同。
client_id 必需的,如果客户端没有与 授权服务器,如第 3.2.1 节所述。
如果客户类型是保密的或客户是发给客户的 凭据(或分配的其他身份验证要求),
客户端必须按照所述向授权服务器进行身份验证
在第 3.2.1 节中。
【问题讨论】:
标签: spring security oauth-2.0 spring-security-oauth2