Нагружать метаданные из HTTPS с Spring Saml
-
21-12-2019 - |
Вопрос
Я хотел бы импортировать некоторые метаданные из Интернета, используя протокол
@Bean
public HTTPMetadataProvider ssoCircleMetadataProvider()
throws MetadataProviderException {
String metadataURL = "https://idp.ssocircle.com/idp-meta.xml";
final Timer backgroundTaskTimer = new Timer(true);
HTTPMetadataProvider provider = new HTTPMetadataProvider(
backgroundTaskTimer, httpClient(), metadataURL);
provider.setParserPool(parserPool());
return provider;
}
.
, прочитав
Решение
класс TLSProtocolSocketFactory
доступен только в багажнике и будет частью 1.0.0.Винала.Единственный выбор в RC2 - добавить ключи к клавише JDK.
<Сильное> Обновление:
Версии Snapshot Sample Saml доступны в этом репозитории:
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>com.springsource.repository.maven.snapshot</id>
<name>SpringSource Enterprise Bundle Maven Repository - SpringSource Snapshot Releases</name>
<url>http://maven.springframework.org/snapshot</url>
</repository>
.
Возможно, вы захотите прочитать главу «Что нового», которые перечислены изменения с RC2, некоторые из них с последствиями для обратной совместимости.
Ваша инициализация неверна, TLSFactory необходимо запустить в качестве бона, вам, вероятно, также нужна зависимость в метадатаманагере.
@Bean
public ProtocolSocketFactory socketFactory() {
return new TLSProtocolSocketFactory();
}
@Bean
public Protocol socketFactoryProtocol() {
return new Protocol("https", socketFactory(), 443);
}
@Bean
public MethodInvokingFactoryBean socketFactoryInitialization() {
MethodInvokingFactoryBean methodInvokingFactoryBean = new MethodInvokingFactoryBean();
methodInvokingFactoryBean.setTargetClass(Protocol.class);
methodInvokingFactoryBean.setTargetMethod("registerProtocol");
Object[] args = {"https", socketFactoryProtocol()};
methodInvokingFactoryBean.setArguments(args);
return methodInvokingFactoryBean;
}
@Bean
@Qualifier("metadata")
@DependsOn("socketFactoryInitialization")
public CachingMetadataManager metadata() throws MetadataProviderException, IOException {
...
}
. Не связан с StackOverflow