Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
guide_pubbliche:howto:identity:sp_windows_iis [2022/02/17 11:52] riccardo.cappone@unipr.it |
guide_pubbliche:howto:identity:sp_windows_iis [2022/02/18 06:31] (versione attuale) riccardo.cappone@unipr.it [Riavvio del service provider e di IIS] |
||
---|---|---|---|
Linea 110: | Linea 110: | ||
</code> | </code> | ||
+ | In questo caso nel file partner-metadata.xml andrà salvato il metadata IdP UNIPR scaricabile dal link [[https://shibidp.unipr.it/idp/shibboleth|https://shibidp.unipr.it/idp/shibboleth]] | ||
+ | |||
+ | === attribute-map.xml === | ||
+ | |||
+ | Includere gli elementi Attributi necessari e richiesti durante la fase di accreditamento, come da istruzioni presenti al seguenti link [[guide_pubbliche:howto:identity:shibbolethsp_config|Service Provider: HowTo Shibboleth]] | ||
+ | |||
+ | Esempio: | ||
+ | |||
+ | <code> | ||
+ | <Attribute name="urn:oid:2.5.4.3" id="cn"/> | ||
+ | <Attribute name="urn:oid:2.5.4.4" id="sn"/> | ||
+ | <Attribute name="urn:oid:2.5.4.42" id="givenName"/> | ||
+ | <Attribute name="urn:oid:2.16.840.1.113730.3.1.241" id="displayName"/> | ||
+ | <Attribute name="urn:oid:0.9.2342.19200300.100.1.1" id="uid"/> | ||
+ | <Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="mail"/> | ||
+ | </code> | ||
+ | |||
+ | ==== Generare i certificati per la firma e la crittografia delle asserzioni ==== | ||
+ | |||
+ | I ceritifcati generati localmente per mezzo del tool "seckeygen.bat" presente in C:\opt\shibboleth-sp\etc\shibboleth, servono esclusivamente per la firma e la crittografia delle asserzioni e dopo la generazione saranno presenti in linea nel metadata del service provider, che dovrà successivamente essere scaricato ed inviato all'IdP UNIPR come da istruzioni presenti qui [[guide_pubbliche:howto:identity:shibbolethsp_config|Service Provider: HowTo Shibboleth]] | ||
+ | |||
+ | <code> | ||
+ | C:\opt\shibboleth-sp\etc\shibboleth>keygen.bat --help | ||
+ | usage: keygen [-h hostname for cert] [-y years to issue cert] [-e entityID to embed in cert] [-n filename prefix] [-o output dir] | ||
+ | </code> | ||
+ | |||
+ | Esempio: | ||
+ | |||
+ | <code> | ||
+ | keygen.bat -h app-infocad-dev2016.unipr.it -y 10 -e https://app-infocad-dev2016.unipr.it/shibboleth -n sp-signing | ||
+ | -INVIO- | ||
+ | |||
+ | keygen.bat -h app-infocad-dev2016.unipr.it -y 10 -e https://app-infocad-dev2016.unipr.it/shibboleth -n sp-encrypt | ||
+ | -INVIO- | ||
+ | |||
+ | </code> | ||
+ | |||
+ | In questo modo si generano due certificati rispettivamente dedicati per la firma e per la crittografia. | ||
+ | |||
+ | Questi saranno referenziati nel file shibboleth2.xml nella sezione | ||
+ | |||
+ | <code> | ||
+ | |||
+ | <!-- Simple file-based resolvers for separate signing/encryption keys. --> | ||
+ | <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> | ||
+ | </code> | ||
+ | |||
+ | ==== Scaricare il proprio Metadata da inviare a UNIPR ==== | ||
+ | |||
+ | E' possibile scaricare una versione del Metadata relativo al proprio SP direttamente dal link del proprio server su cui avete installato il service provider shibboleth: | ||
+ | |||
+ | <code> | ||
+ | https://<fqdn_server_shibboleth_SP>/Shibboleth.sso/Metadata | ||
+ | </code> | ||
+ | |||
+ | ==== Raccogliere gli attributi rilasciati dall'IdP dalle variabili server via IIS ==== | ||
+ | |||
+ | Esempio di pagina ASP per raccogliere gli attributi rilasciati dell'IdP in variabili server: | ||
+ | |||
+ | <code> | ||
+ | <%@ language="javascript"%> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <body> | ||
+ | <% | ||
+ | Response.Write("<h1>Variabili Server</h1>") | ||
+ | |||
+ | |||
+ | Response.Write("Cognome: "+ Request.ServerVariables["sn"]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("Nome: "+ Request.ServerVariables["givenName"]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("CF: "+ Request.ServerVariables["codicefiscale"]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("Email: "+ Request.ServerVariables["mail"]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("OU: "+ Request.ServerVariables["organizationalUnit"]) | ||
+ | |||
+ | %> | ||
+ | </body> | ||
+ | </html> | ||
+ | </code> | ||
+ | |||
+ | Alcune versioni o combinazioni di versioni di sistema operativo e shibboleth service provider potrebbero rilasciare i valori degli attributi duplicati, pertanto la soluzione per recuperare valori singoli degli attributi è la seguente: | ||
+ | |||
+ | <code> | ||
+ | <%@ language="javascript"%> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <body> | ||
+ | <% | ||
+ | Response.Write("<h1>Variabili Server</h1>") | ||
+ | |||
+ | |||
+ | Response.Write("Cognome: "+ Request.ServerVariables["sn"].split(';')[0]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("Nome: "+ Request.ServerVariables["givenName"].split(';')[0]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("CF: "+ Request.ServerVariables["codicefiscale"].split(';')[0]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("Email: "+ Request.ServerVariables["mail"].split(';')[0]) | ||
+ | Response.Write("<br>"); | ||
+ | Response.Write("OU: "+ Request.ServerVariables["organizationalUnit"].split(';')[0]) | ||
+ | |||
+ | %> | ||
+ | </body> | ||
+ | </html> | ||
+ | </code> | ||
+ | |||
+ | ==== Riavvio del service provider e di IIS ==== | ||
+ | |||
+ | Al termine delle operazioni di configurazione riavviare il demone di Shibboleth service provider e del web server IIS | ||
+ | |||
+ | * Riavvio di Shibboleth SP | ||
+ | |||
+ | {{:guide_pubbliche:howto:identity:006.png?600|}} | ||
+ | |||
+ | * Riavvio di IIS | ||
+ | |||
+ | {{:guide_pubbliche:howto:identity:007.png?600|}} |