我有一个Spring Cloud微服务项目,该项目使用Spring Cloud Config Server管理配置,并使用Eureka Server进行服务发现。
在我想使用keycloak添加新的微服务之前,我的应用程序运行良好。这项新的微服务只是我的Vue前端应用程序的一个剩余API,预计用户管理将由Keycloak处理。
新服务运行正常,并向Eureka注册,直到我将keycloak依赖项添加到项目中为止。应用程序不会崩溃或引发任何错误,无法正常启动并向Eureka注册,但是在Spring Boot Admin服务器面板上,我看到该应用程序已关闭。
这是新服务的我的.properties文件。
eureka.instance.preferIpAddress=true
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
eureka.instance.leaseRenewalIntervalInSeconds=3
eureka.client.eureka-connection-idle-timeout-seconds=3
eureka.client.fetchRegistry=true
spring.boot.admin.client.url=http://localhost:6060
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
server.port=8082
keycloak.auth-server-url=http://localhost:8080/auth
keycloak.realm=microservices
keycloak.resource=microservices-app
keycloak.public-client=true
keycloak.security-constraints[0].authRoles[0]=user
keycloak.security-constraints[0].securityCollections[0].patterns[0]=/*
keycloak.cors=true
这是我对新服务的依赖。
...
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-starter</artifactId>
<version>4.8.3.Final</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.keycloak.bom</groupId>
<artifactId>keycloak-adapter-bom</artifactId>
<version>4.8.3.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
春季云版本是 Hoxton.SR1
春季启动版本是 2.2.2.RELEASE
我曾尝试添加Spring Security并使用进行Java配置,KeycloakAuthenticationProvider
但没有帮助。
在整个项目中,我有许多由Spring Cloud版本或Spring Cloud-Spring Boot Admin交互引起的怪异错误,因此更改版本或向配置文件中添加一个小参数通常可以解决问题,我怀疑这个Keycloak问题是否可以解决道路。
Spring Boot Admin使用执行器端点,请尝试使其不受保护:
keycloak.security-constraints[0].authRoles[0]=user
keycloak.security-constraints[0].securityCollections[0].patterns[0]=/*
keycloak.security-constraints[0].securityCollections[1].patterns[0]=/actuator
keycloak.security-constraints[0].securityCollections[1].patterns[1]=/actuator/*
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句