Come usare https://samltest.id/ per testare il proprio Service Provider

SAMLtest.ID è un servizio "pubblico" che consente di testare la propria configurazione SAML, per controllare che sia funzionante.
Suggeriamo di usarlo per controllare il funzionamento della proprio implementazione prima di sottoporla all'IdP di Ateneo.

Come scrivono gli autori di SAMLtest.ID:
"It’s very difficult for us to write anything meaningful for you here because the process of logging into a service provider usually begins at that service provider or the application it protects, each of which is your URL. As such, we literally have no clue where to begin."

Lo stesso vale per noi :), pertanto vi diamo delle istruzioni di massima, ma siate coscienti del fatto che non è né facile né sempre possibile, dirvi dove la vostra implementazione è sbagliata.

Per iniziare il processo di test, per prima cosa vanno aggiunti
i SAMLtest Metadata; nel caso di shibboleth2.xml, va aggiunto il MetadataProvider:

<MetadataProvider type="XML" validate="true"
        url="https://samltest.id/saml/idp"
        backingFilePath="SAMLtest.xml">
     <!-- You should always check the signature and freshness of remote
             metadata.  It's commented out until you get the basics working.
          <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
          <MetadataFilter type="Signature" certificate="signet.crt" verifyBackup="false"/>
        -->
</MetadataProvider>

Fatto questo (e ricaricati shibd e apache2), i metadata vanno caricati sull'IdP di SAMLtest. Il modo migliore (suggerito), è quello di fornire un url che punti ai metadata (una cosa del tipo: https://tuosp/Shibboleth.sso/Metadata), ma si possono anche inserire direttamente, nella pagina https://samltest.id/upload.php.

Fatti questi due passaggi si è stabilita una relazione di fiducia fra il nostro SP e l'IdP di SAMLtest.id, e si può procedere con l'autenticazione.

Nella pagina https://samltest.id/start-sp-test/
va inserito il proprio entityID nel campo "Unsolicited Login Initiator", in questo modo si attiva una login verso l'IdP di SAMLtest, dove va scelto uno degli utenti preimpostati;
a questo punto, se tutto è andato bene, si viene reindirizzati al proprio servizio.

Naturalmente si vien reindirizzati con l'utenza di SAMLtest.id, che non avrà alcun significato per la nostra applicazione: comunque gli attributi e i loro valori sono spiegati nel sito,
qualora volessimo usarli per test.

In tutti i casi (ma soprattutto se qualcosa non ha funzionato) il grosso bottone blu "SEE SAMLTEST IDP LOGS" da accesso al log dell'IdP di SAMLtest.id, dai quali si può capire cosa sia andato storto.

Quando i test su SAMLtest.ID risultano positivi, potete sottomettere i dati del vostro SP all'IdP di Ateneo.