Spring Security OAuth2 - 客户端身份验证问题

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

最近报告的问题 #808 允许用户作为客户端进行身份验证,并通过client_credentials或密码授权流程获取访问令牌。

当客户端和用户具有相同的标识符(clientId和用户名)时,会出现这种情况。在client_credentials或密码授权流程中,使用用户的凭据进行客户端身份验证,并成功获取具有客户端权限的访问令牌。

修复方案

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

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

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

  • 更新到 2.0.11.RELEASE

  • 查看此 JUnit 测试 及其关联的 XML 配置,以确保您配置中的**客户端身份验证**和**用户身份验证**的`AuthenticationManager`设置相同。

  • 作为预防措施,请确保您的 XML 配置与此 JUnit 测试 及其关联的 XML 配置 中的配置**不相同**,因为它演示了原始问题。

致谢

感谢您报告此问题 Michael PridemoreBen Kiefer

获取Spring简报

通过Spring简报保持联系

订阅

领先一步

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

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部