我有一个要求,需要将 Keycloak 设置为与 Spring 授权服务器的联合来授权和验证用户。
场景 1:使用 Spring Boot 2.5.4 和 Spring Authorization Server 0.2.0 与 Keycloak (15.0.2)
使用postman,发出Oauth2.0授权请求,提供Keycloak中配置的客户端、授权、token端点。
客户端重定向到 Keycloak 登录屏幕,显示通过 Spring 授权服务器(充当辅助 OIDC 提供商)登录的选项。
Spring Auth Provider 的登录屏幕。输入登录名。服务成功进行身份验证,但无法对 keycloak 进行后回调,并显示“999”错误代码。 Spring Security lib 中似乎有一个缓存请求,该请求指向 /error 并作为参数发送redirectionurl。在安全配置中定义 successurl 并不能解决问题。
场景 2:使用 Spring Boot 3.1.1 和 Spring Authorization Server 1.1.0 与 Keycloak (15.0.2)
期望 keycloak 从 Spring Auth Server 获取访问令牌,合并并将其返回给邮递员。
有人可以建议吗?
您可以完全删除keyclock,因为spring授权服务器还提供联合登录您可以检查以下提交id 我们使用这个版本已经一年多了,与键盘时钟相比,它更好、更方便。此版本的 spring 授权服务器使用 springboot 3 和 jdk 17
https://github.com/spring-projects/spring-authorization-server/issues/1208