Shibboleth SP3 не делает POST - PullRequest
0 голосов
/ 24 марта 2020

У нас есть настройка SSO, инициированная SP для нашего продукта, которая сочетает в себе Shibboleth SP3 и PingFed IDP. Все отлично работает Мы используем Shibboleth v3.0.2. Теперь требования изменились, нам нужно показать массаж пользователю перед перенаправлением на страницу входа в IPD и после успешной аутентификации перед перенаправлением на исходный URL продукта. Согласно документации Shibboleth SP3 на https://wiki.shibboleth.net/confluence/display/SP3/ConfigurationFileSummary. Кажется, что настройка bindingTemplate. html и postTemplate. html может решить мою проблему. Однако необходимо изменить привязку артефакта SAML для использования POST вместо перенаправления . Согласно документации, найденной в https://wiki.shibboleth.net/confluence/display/SP3/SSO, postArtifact = "true" может изменить поведение. Однако, делая эти изменения в shibboleth2. xml, в поведении нет никаких изменений. Тем не менее, SP делает перенаправление на IDP и bindingTemplate. html & postTemplate. html не появляется на картинке. Это мой shibboleth2. xml -

<SPConfig xmlns="urn:mace:shibboleth:3.0:native:sp:config"
xmlns:conf="urn:mace:shibboleth:3.0:native:sp:config"
clockSkew="180">
<OutOfProcess tranLogFormat="%u|%s|%IDP|%i|%ac|%t|%attr|%n|%b|%E|%S|%SS|%L|%UA|%a" />
<ApplicationDefaults entityID="PLM-QA-TYPE"
    REMOTE_USER="uid eppn subject-id pairwise-id persistent-id"
    cipherSuites="DEFAULT:!EXP:!LOW:!aNULL:!eNULL:!DES:!IDEA:!SEED:!RC4:!3DES:!kRSA:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1">
    <Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
              checkAddress="false" handlerSSL="false" cookieProps="http" postTemplate="postTemplate.html">
        <SSO entityID="https://entityid.com" postArtifact="true" template="bindingTemplate.html"   
             discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF" > 
          SAML2
        </SSO> 
        <Logout>SAML2 Local</Logout>
        <LogoutInitiator type="Admin" Location="/Logout/Admin" acl="127.0.0.1 ::1" />
        <Handler type="MetadataGenerator" Location="/Metadata" signing="false"/>
        <Handler type="Status" Location="/Status" acl="127.0.0.1 ::1"/>
        <Handler type="Session" Location="/Session" showAttributeValues="false"/>
        <Handler type="DiscoveryFeed" Location="/DiscoFeed"/>
    </Sessions>
    <Errors supportContact="root@localhost"
        helpLocation="/about.html"
        styleSheet="/shibboleth-sp/main.css"/>
    <MetadataProvider type="XML" validate="true" path="idp-metadata.xml"/>
    <AttributeExtractor type="XML" validate="true" reloadChanges="false" path="attribute-map.xml"/>
    <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/>
    <CredentialResolver type="File" use="signing"
        key="sp-signing-key.pem" certificate="sp-signing-cert.pem"/>
    <CredentialResolver type="File" use="encryption"
        key="sp-encrypt-key.pem" certificate="sp-encrypt-cert.pem"/>
</ApplicationDefaults>
<SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/>
<ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>

Здесь я добавил postTemplate = "postTemplate. html" и postArtifact = "true" template = "bindingTemplate. html" поверх существующей конфигурации.

Может кто-нибудь помочь мне определить, что я не так делаю?

Спасибо заранее.

...