当前位置: 首页 > 知识库问答 >
问题:

spring授权服务器何时支持spring Boot 2.6。x和spring-boot-starter-oauth2-client

锺高翰
2023-03-14

我不想重复前面的其他线程。虽然这是一个已知的问题,但我没有看到任何地方对此进行跟踪。如果它被跟踪,请给我指出正确的方向。

目前spring-授权-server与Spring Boot 2.5. x一起使用。众所周知,与spring-boot-starter-oauth2-client实现以及Jwt令牌和spring-授权-server的令牌不一致。

这意味着您可以使用spring Boot 2.6成功运行spring授权服务器。但是不能添加依赖项spring-boot-starter-oauth2-client。

这就是我被困的地方。我想使用此处代码库中的联邦示例实现一个联邦安全示例:https://github.com/spring-projects/spring-authorization-server/tree/main/samples/federated-identity-authorizationserver

2022-04-25 14:14:34.067 ERROR 54601 --- [  XNIO-1 task-2] io.undertow.request                      : UT005023: Exception handling request to /oauth2/token

java.lang.IllegalAccessError: failed to access class org.springframework.security.oauth2.jwt.JoseHeader from class org.springframework.security.oauth2.server.authorization.token.JwtGenerator (org.springframework.security.oauth2.jwt.JoseHeader and org.springframework.security.oauth2.server.authorization.token.JwtGenerator are in unnamed module of loader 'app')
    at org.springframework.security.oauth2.server.authorization.token.JwtGenerator.generate(JwtGenerator.java:130) ~[spring-security-oauth2-authorization-server-0.2.3.jar:0.2.3]
    at org.springframework.security.oauth2.server.authorization.token.JwtGenerator.generate(JwtGenerator.java:59) ~[spring-security-oauth2-authorization-server-0.2.3.jar:0.2.3]
    at org.springframework.security.oauth2.server.authorization.token.DelegatingOAuth2TokenGenerator.generate(DelegatingOAuth2TokenGenerator.java:60) ~[spring-security-oauth2-authorization-server-0.2.3.jar:0.2.3]
    at org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeAuthenticationProvider.authenticate(OAuth2AuthorizationCodeAuthenticationProvider.java:212) ~[spring-security-oauth2-authorization-server-0.2.3.jar:0.2.3]

这种不一致的情况是什么?

共有1个答案

段干高歌
2023-03-14

作为一种解决方法,您可以在pom中的任何其他spring-boot依赖项声明之前移动security-oAuth2-授权-服务器依赖项,这将强制类加载器从security-oAuth2-授权-服务器加载org.springframework.security.oauth2.jwt.JoseHeader。请阅读https://github.com/spring-projects/spring-authorization-server/issues/518#issuecomment-1017332290

 类似资料:
  • 我在下面设置Spring配置: 和Maven设置如下:

  • 我有一个Spring启动应用程序,我想结合我自己的和远程的OAuth2授权服务器(谷歌,脸书等)加上基本身份验证。 我想要: 常规登录/密码流程(通过电子邮件确认)访问除 /api以外的任何url OAuth2访问 /api网址 SSO(谷歌、Facebook…) 我有单点登录的问题。我希望它的工作原理是这样的:当用户成功授权时,我将获得电子邮件地址,然后如果它还没有存在于我的应用程序中,我将注册

  • 我有一个简单spring应用程序 我的其他依赖项是: 当我启动应用程序时,我有一个奇怪的错误: 看来我和spring-webmvc和WebFlux有冲突。我想要反应和webmvc没有发挥好与spring reactive根据我读到的,所以我排除了spring-web-starter,但然后我有... 需要什么使spring oauth2与spring-webflux一起工作? 提前致谢

  • 尝试使用 Spring 授权服务器实现 OAuth2 协议。使用以下配置创建了一个简单的应用程序。 调用以下endpoint时: 我得到这些: 我正在尝试通过身份验证并尝试遵循此文档。我尝试了多个电话,其中之一是: 我大部分时间都是带着不同的信息返回401。我真的想不出在哪里可以找到一些带有示例的文档,因为我能够找到的示例对我的用例没有什么帮助。我不完全理解如果客户端是前端应用程序,我将如何验证和

  • 我尝试使用Spring Boot 2.0.0和Spring-security-oauth2 2.3.0创建一个具有自己登录页和资源的身份验证服务器。不幸的是,资源服务器的配置似乎不起作用。具有 重定向302总是localhost:8080/login有或没有令牌。 我的安全配置是 如何正确配置资源服务器? 下载示例项目 更新: 我用Spring Boot 1.5.10、Spring-securit

  • 我有两个Spring启动应用程序。后端部分-可以访问数据库,它用作Rest API和管理面板。前端部分-使用Rest API为客户端显示信息。 因此,我对客户端(前端)的配置安全性有问题,对管理面板也有问题,授权是通过会话实现的。以前,客户端部分的授权是通过JWT令牌实现的,但我不太明白如何为每个客户端存储令牌,并在向Rest API发送请求时使用它。 这是我的安全配置: 那么,可以使用JWT令牌