Поместите все метаданные в путь в Spring SAML

#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-артефактов?