Spring Security OAuth2 - 客户端认证问题

工程 | Joe Grandja | 2016年8月31日 | ...

最近报告了一个问题 #808,该问题允许用户通过 client_credentials 或 password 授权流程以客户端身份进行认证并获取访问令牌。

当客户端和用户具有相同的标识符(clientId 和 username)时,会出现这种独特的场景。在 client_credentials 或 password 授权流程中,用户凭据用于客户端认证,并成功获取了具有客户端权限的访问令牌。

修复方法

此 bug 已在 1ed986a 中修复,并发布了 2.0.11.RELEASE 版本。

如果您使用的是基于 Java 的配置,请更新到 2.0.11.RELEASE。

但是,如果您使用的是基于 XML 的配置,请执行以下操作:

  • 更新到 2.0.11.RELEASE

  • 请参阅这个 JUnit 测试 及其相关的 XML 配置,以确保在您的配置中,**客户端身份验证**的 AuthenticationManager 和 **用户身份验证**的 AuthenticationManager 设置是相同的。

  • 作为预防措施,请确保您的 XML 配置**不要**像这个 JUnit 测试 及其相关的 XML 配置 一样设置,因为它演示了原始问题。

鸣谢

感谢 Michael Pridemore 和 Ben Kiefer 报告此问题。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有