Ho scritto un semplice sistema con lo scenario Web SSO di avvio SP basato su OIOSAML . Per testare il sistema, l'ho distribuito sull'host remoto. Tuttavia AssertionConsumerServiceURL
, dove ho specificato l'URL, su cui Shibboleth idP (idP basato su Shibboleth) dovrebbe restituire la risposta non viene chiamato.
SAMLAssertionConsumer
- solo un semplice servlet Java. Per cominciare, ho solo bisogno di assicurarmi che la risposta arrivi.
AuthnRequest generato:
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
AssertionConsumerServiceURL="http://ip-of-remote-system-here:8080/saml/consumer"
Destination="http://ip-of-identity-provider-here/idp/profile/SAML2/Redirect/SSO"
ForceAuthn="false"
ID="_068712cd-......163720312"
IsPassive="false"
IssueInstant="2014-07-12T06:42:16.673Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">http://ip-of-remote-system-here:8080</saml2:Issuer>
</saml2p:AuthnRequest>
se faccio richiesta al mio servlet SAMLAssertionConsumer
diretto:
http://ip-of-remote-system-here:8080/saml/consumer
Quindi funziona. Mi piacerebbe sapere come configurare correttamente il servizio al consumatore di asserzione. Questa è la parte dei metadati SP, dove specificherò il consumatore dell'asserzione.
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:esia="urn:esia:shibboleth:2.0:mdext" entityID="http://ip-of-remote-system-here:8080">
<md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
MIID...XY7ZiQ==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
MIID...XY7ZiQ==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://ip-of-remote-system-here:8080/saml/consumer" ResponseLocation="http://ip-of-remote-system-here:8080/saml/consumer"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://ip-of-remote-system-here:8080/saml/consumer" index="0" isDefault="true"/>
</md:SPSSODescriptor>
<md:AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
...
</md:AttributeAuthorityDescriptor>
<md:Organization>
...
</md:Organization>
<md:ContactPerson contactType="technical">
...
</md:ContactPerson>
<md:Extensions>
...
</md:Extensions>
</md:EntityDescriptor>
Sarei molto grato per l'informazione. Grazie a tutti.