У нас есть настройка 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" поверх существующей конфигурации.
Может кто-нибудь помочь мне определить, что я не так делаю?
Спасибо заранее.