无法解析 OpenID 配置 spring boot(安全)java.net.ConnectException:连接被拒绝:连接

raj*_*wal 5 spring spring-security oauth-2.0 jwt spring-boot

我正在学习 spring security,并试图运行这个项目,但它给了我一个错误。

我不明白该怎么办。这是我正在关注的Github链接、Youtube 视频 [链接] ( https://www.youtube.com/watch?v=1N-xwmoN83w )。

当我尝试运行客户端应用程序时,它运行良好,但是当我尝试运行资源服务器时,它没有运行,它给了我错误:

  1. 无法使用提供的颁发者“ http://localhost:8090/uaa/oauth/token ”解析 OpenID 配置
  2. “ http://localhost:8090/uaa/oauth/token/.well-known/openid-configuration ”的 GET 请求出现 I/O 错误:连接被拒绝:连接;嵌套异常是 java.net.ConnectException:连接被拒绝:连接

堆栈跟踪如下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is java.lang.IllegalArgumentException: Unable to resolve the OpenID Configuration with the provided Issuer of "http://localhost:8090/uaa/oauth/token"
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:624) ~[spring-beans-5.1.0.RC3.jar:5.1.0.RC3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:455) ~[spring-beans-5.1.0.RC3.jar:5.1.0.RC3]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1282) ~[spring-beans-5.1.0.RC3.jar:5.1.0.RC3]

Caused by: java.lang.IllegalArgumentException: Unable to resolve the OpenID Configuration with the provided Issuer of "http://localhost:8090/uaa/oauth/token"
    at org.springframework.security.oauth2.jwt.JwtDecoders.getOpenidConfiguration(JwtDecoders.java:78) ~[spring-security-oauth2-jose-5.1.0.RELEASE.jar:5.1.0.RELEASE]
    at org.springframework.security.oauth2.jwt.JwtDecoders.fromOidcIssuerLocation(JwtDecoders.java:48) ~[spring-security-oauth2-jose-5.1.0.RELEASE.jar:5.1.0.RELEASE]

Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8090/uaa/oauth/token/.well-known/openid-configuration": Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:743) ~[spring-web-5.1.0.RC3.jar:5.1.0.RC3]
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:646) ~[spring-web-5.1.0.RC3.jar:5.1.0.RC3]
    at org.springframework.security.oauth2.jwt.JwtDecoders.getOpenidConfiguration(JwtDecoders.java:76) ~[spring-security-oauth2-jose-5.1.0.RELEASE.jar:5.1.0.RELEASE]
    ... 43 common frames omitted
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[na:1.8.0_181]
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[na:1.8.0_181]
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_181]
    at java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_181]
    at java.net.SocksSocketImpl.connect(Unknown Source) ~[na:1.8.0_181]
    at java.net.Socket.connect(Unknown Source) ~[na:1.8.0_181]
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个错误,我是 Spring Security 的新手。

小智 1

似乎某个应用程序应该在端口 8090 上运行,但实际上却没有(这就是 I/O 错误的来源)。

您能检查一下您计算机上的该端口上是否有任何程序在运行吗?如果此端口上正在运行某些内容,应用程序将响应 404 或类似的内容。也许应用程序在启动时崩溃了,而您没有看到它?