我想为Spring Boot 2.1.x后端设置Keycloak适配器(v7.0.0)。不知何故,此操作无法正常工作,mvn clean spring:boot-run
显示了错误。
为了得到一个游乐场,我克隆了这个工作repo。使用旧版本的Keycloak和Spring Boot成功构建之后,我更改了依赖项(和版本)。
对于我包含的POM:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-starter</artifactId>
<version>7.0.0</version>
</dependency>
和
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.keycloak.bom</groupId>
<artifactId>keycloak-adapter-bom</artifactId>
<version>7.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
,并通过application.yml
文件提供属性:
keycloak:
auth-server-url: http://127.0.0.1:8081/auth/
resource: persons-app
realm: PersonRealm
public-client: true
principal-attribute: preferred_username
它紧跟Keycloaks docs。
结果是显示以下错误:
Description:
Parameter 1 of method setKeycloakSpringBootProperties in org.keycloak.adapters.springboot.KeycloakBaseSpringBootConfiguration required a bean of type 'org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver' that could not be found.
Action:
Consider defining a bean of type 'org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver' in your configuration.
已经定义。这就是问题所在。我不知道什么版本的Keycloak和Spring Boot一起使用是否有一定的限制。也许有人可以解释我在这里错过的内容或要设置的版本。谢谢!
答案 0 :(得分:1)
这里也有人问过同样的问题:Issues running example keycloak spring-boot app,我将向您介绍另一个问题,以获取有关此问题的详细信息和临时解决方法。
目前还没有最终解决方案,这是Keycloak Spring Boot Adapter 7.0.0的问题。如果您使用旧版本的适配器(6.0.1),即使Keycloak服务器运行的是7.0.0版,它也可以正常工作(您只是没有获得新适配器中引入的新功能)。>