Java React+的Spring Security代理;OIDC

Java React+的Spring Security代理;OIDC,java,spring-security,okta,Java,Spring Security,Okta,我按照这里的示例()使用我的公司okta发行人创建了一个Spring+react应用程序。在我未连接到公司网络时工作正常。 当我连接到公司网络时,我得到以下错误: 原因:org.springframework.beans.factory.BeanCreationException: 创建名为“clientRegistrationRepository”的bean时出错 类内路径资源 [org/springframework/boot/autoconfigure/security/oauth2/cl

我按照这里的示例()使用我的公司okta发行人创建了一个Spring+react应用程序。在我未连接到公司网络时工作正常。 当我连接到公司网络时,我得到以下错误:

原因:org.springframework.beans.factory.BeanCreationException: 创建名为“clientRegistrationRepository”的bean时出错 类内路径资源 [org/springframework/boot/autoconfigure/security/oauth2/client/servlet/OAuth2ClientRegistrationRepositoryConfiguration.class]: 通过工厂方法实例化Bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:未能 实例化 [org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository]: 工厂方法“clientRegistrationRepository”引发异常;嵌套 异常为java.lang.IllegalArgumentException:无法解析 与提供的颁发者的配置 ”“原因是: org.springframework.web.client.ResourceAccessException:上的I/O错误 获取请求 “https://corporate.issuer.okta.com/.well-known/openid-configuration“:操作 超时(连接超时);嵌套异常是 java.net.ConnectException:操作超时(连接超时)

由于此连接问题,应用程序甚至无法启动。我已尝试在VM参数中传递公司代理

-Dhttp.proxyHost=proxy.corp.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.corp.com -Dhttps.proxyPort=8080
但它似乎并不接受代理。当我没有连接到我的公司网络时,我可以启动应用程序,我可以看到UI重定向到okta登录,等等


如何让spring security通过代理与Okta发卡机构进行对话?

您的公司代理服务器可能还需要用户名和密码:

-Dhttps.proxyHost=host
-Dhttps.proxyPort=port
-Dhttps.proxyUser="user"
-Dhttps.proxyPassword="password"
您可能希望检查并匹配浏览器中的代理设置/配置

另外,请检查您的公司代理是否为socks类型(在这种情况下,您必须使用-Dsocks.proxyHost=host等)