#spring #spring-security #saml-2.0 #spring-saml #opensaml
Вопрос:
У меня есть эта реализация Spring Saml. Я планирую обнаружить все метаданные IDP в 1 местоположении и обнаружить их автоматически без определения нового ExtendedMetadataDelegate
компонента в security-context.xml. Достижимо ли это?
<b:bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
<b:constructor-arg >
<b:list>
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<b:constructor-arg >
<b:bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<b:constructor-arg>
<b:value type="java.io.File">${idp.one.metadata.file.path}</b:value>
</b:constructor-arg>
<b:property name="parserPool" ref="parserPool"/>
</b:bean>
</b:constructor-arg >
<b:constructor-arg >
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
</b:bean>
</b:constructor-arg >
</b:bean>
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<b:constructor-arg >
<b:bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<b:constructor-arg>
<b:value type="java.io.File">${idp.two.metadata.file.path}</b:value>
</b:constructor-arg>
<b:property name="parserPool" ref="parserPool"/>
</b:bean>
</b:constructor-arg >
<b:constructor-arg >
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
</b:bean>
</b:constructor-arg >
</b:bean>
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<b:constructor-arg >
<b:bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<b:constructor-arg>
<b:value type="java.io.File">${sdp.metadata.file.path}</b:value>
</b:constructor-arg>
<b:property name="parserPool" ref="parserPool"/>
</b:bean>
</b:constructor-arg >
<b:constructor-arg >
<b:bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
<b:property name="local" value="true"/>
<b:property name="alias" value="default"/>
<b:property name="securityProfile" value="metaiop"/>
<b:property name="sslSecurityProfile" value="pkix"/>
<b:property name="signingKey" value="test"/>
<b:property name="encryptionKey" value="test"/>
<b:property name="requireArtifactResolveSigned" value="false"/>
<b:property name="requireLogoutRequestSigned" value="false"/>
<b:property name="requireLogoutResponseSigned" value="false"/>
<b:property name="idpDiscoveryEnabled" value="false"/>
</b:bean>
</b:constructor-arg >
</b:bean>
</b:list>
</b:constructor-arg >
</b:bean>
Комментарии:
1. Я предлагаю вам начать использовать новую поддержку SAML 2.0, которая находится в проекте Spring Security, так
spring-security-saml
как проект достигает EOL 6 октября .2. @MarcusHertdaCoregio будет ли решена моя проблема, если я воспользуюсь этим?
3. Используя стандартную поддержку SAML 2.0 в Spring Security, вы можете предоставить компонент
RelyingPartyRegistrationRepository
и разработать собственную стратегию поиска метаданных.4. @MarcusHertdaCoregio поддерживает ли он привязку Http-артефактов?