java - 将代理设置为 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 客户端设置代理详细信息的任何想法?
解决方案
是的,您需要为您的 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;
}
推荐阅读
- reactjs - 使用 switch 函数有条件地渲染组件
- bash - 根据文件内的内容对 grep 输出进行排序
- android - 错误崩溃 RoomCaused by:android.database.sqlite.SQLiteConstraintException:唯一约束失败:products.id(代码 1555)
- python - ImportError:DLL 加载失败。找不到“imp.py”
- jquery - 无法解析 Ajax Json
- r - 在 R 中从调整后的生存曲线绘制累积事件
- javascript - 单击时更改页面的功能无缘无故地工作
- java - 我可以有多个文件夹,如 webapps 并指定访问哪个 ROOT.war 文件的域
- debezium - Debezium 不捕获“级联删除”
- java - 为什么我只能看到这个 Kafka 示例中的所有其他消息?