首页 > 解决方案 > 将代理设置为 Spring SAML HTTPMetadataProvider

问题描述

我们使用 spring-security-saml 进行 SAML 身份验证。该应用程序运行良好,当我们尝试在演示机器上运行该应用程序时,与 SAML 元数据 url 的连接超时。

我们在 application.yml 中给出了元数据 url

security:
   saml2:
      metadata-url: https://dev-715244.oktapreview.com/app/<app_id>/sso/saml/metadata

尝试在运行 jar 时将代理设置为 jvm,但存在同样的问题。但是这个 URL 可以通过 CURL 访问。

关于如何为 Spring SAML 使用的 HTTP 客户端设置代理详细信息的任何想法?

标签: javaspringspring-bootproxysaml

解决方案


是的,您需要为您的 WebSecurityConfig 创建一个 bean,如下所示:

@Bean
public HttpClient httpClient() {
    HttpClient client = new HttpClient(this.multiThreadedHttpConnectionManager);
    HostConfiguration hostConfiguration = new HostConfiguration();
    hostConfiguration.setProxy("PROXYHOST", PROXYPORT);
    client.setHostConfiguration(hostConfiguration);
    return client;
}

推荐阅读