Questa è una vecchia versione del documento!
E.C.M. - Area Riservata
Integrazione Federa MyID3
Le modalita di login all'applicativo sono state estese inserendo il supporto per lo SPID, attraverso l'integrazione di MyID3. MyID3 è un applicazione web indipendente adottatata dalla Regione Veneto che si occupa di accentrare in un unico pagina web diverse modalita di login ai servizi dell'ente, tra le quali la modalità SPID per tutti gli IdentityProvider (IDP) accettati dallo stesso.
L'autenticazione tramite MyID3 prevede lo scambio di informazioni tra i diverse entità: l'applicativo ECM, MyID3, l'IdentityProvider selezionato. Tale scambio è riassunto in pochi passaggi dal seguente schema.
USER INTERFACE
Al livello utente l'unica modifica richista è stata l'aggiunta di un pulsante “Accedi Con SPID” per il passaggio al dominio di MyID3. Ad avvenuto riconoscimento delle credenziali l'utente viene automaticamente reindirizzato all'applicativo.
TECHNICAL INFO
L'integrazione del servizio offerto avviene tramite il protocollo SAML2.
L'attivazione del protocollo e delle funzionalita di integrazione dipendono dalla chiave di properties
- authenticationType=saml
Una volta attivata è necessario fornire le relative chiavi di configurazione nel medesimo file di properties:
# CONFIGURAZIONE SAML
- saml.relayStateUrl=https://ecm.3di.it/saml/metadata
- saml.targetUrl=/home
- saml.failureUrl=/error
- saml.logoutUrl=/logout
- saml.keystorePath=/saml/
- saml.keystoreFileName=ecmKeystore.jks
- saml.keystoreAlias=ecmalias
- saml.keystorePassword=ecmKeystorePassword
- saml.local.metadata.path=/saml/metadataFromIdp.xml
- saml.idpMetadataURL=https://myid.collaudo.regione.veneto.it/gw/metadata
- saml.idpEntityId=https://myid.collaudo.regione.veneto.it/gw/metadata
- saml.spidIdentifyingAttribute=spidCode
- saml.identifyingAttribute=CodiceFiscale
- saml.signingAlgorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
Per la configurazione è necessario generare anche un keystore che verrà utilizzato per cifrare le comunicazioni tra idp e sp, di seguito un esempio di codice per la generazione:
keytool -genkeypair -alias ecmalias -keypass ecmKeystorePassword -keystore ecmKeystore.jks -keysize 2048 -keyalg RSA
il file cosi generato andrà copiato nel path indicato dalla chiave saml.keystorePath all'interno del progetto.