在我的Spring Boot应用程序中,我集成了Keycloak来外部化安全性。我在我的项目中使用的Spring Boot版本是2.2.4.RELEASE,但是我检查了最新的Keycloak8 pom.xml,在它的依赖项中,在文件org/keycloak/keycloak-spring-boot-starter/8.0.2/keycloak-spring-boot-starter-8.0.2.pom中有一个Spring Boot2.0.3.RELEASE的硬编码版本
<properties>
<spring-boot.version>2.0.3.RELEASE</spring-boot.version>
</properties>如何在不进行Spring Boot版本降级的情况下解决这个问题?我不能更改keycloak版本,我们的解决方案系统中的其他人正在使用它。我也不希望Spring Boot驱动所有其他版本,而不是Keycloak,它只是许多其他组件中的一个。
发布于 2020-03-28 10:31:38
Keycloak生成符合OpenID的JWT。配置spring-security以将此JWT解析为KeycloackAuthenticationToken以外的其他内容并不困难。
因此,您不必使用他们的库。您可以使用JwtAuthenticationToken或您选择的任何其他Authentication,甚至可以创建您自己的any。
您可以在a repo of mine中找到适用于servlet和reactive应用程序的最小工作示例。
注在上面的示例中,OidcIdAuthenticationToken是我创建的一个Authentication实现,用于OpenID授权服务器(不仅仅是Keycloak)。源文件在同一个repo中。
https://stackoverflow.com/questions/60278275
复制相似问题