Strumenti Utente

Strumenti Sito


guide_pubbliche:howto:identity:sp_windows_iis

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
guide_pubbliche:howto:identity:sp_windows_iis [2022/02/17 11:50] – [shibboleth2.xml] riccardo.cappone@unipr.itguide_pubbliche:howto:identity:sp_windows_iis [2022/02/18 06:31] (versione attuale) – [Riavvio del service provider e di IIS] riccardo.cappone@unipr.it
Linea 101: Linea 101:
 </code> </code>
  
 +Configurare il MetadataProvider (in questo caso staticamente via file)
 +
 +<code>
 +   <!-- Example of locally maintained metadata. -->
 +
 +        <MetadataProvider type="XML" validate="true" path="partner-metadata.xml"/>
 +
 +</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|}}
guide_pubbliche/howto/identity/sp_windows_iis.1645098656.txt.gz · Ultima modifica: da riccardo.cappone@unipr.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki