REGIONE TOSCANA ARPA - INTEGRAZIONE CIE - Linee Guida - ambito mobile
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
REGIONE TOSCANA ARPA – INTEGRAZIONE CIE Linee Guida – ambito mobile
ARPA – INTEGRAZIONE CIE Controllo del Documento Numero di Versione 1.0 Data del Documento 12/04/2021 Autori Redatto da Francesco Fornasari, Giuseppe Graziano (TAI) Revisionato da Grazia Ugolini (Regione Toscana) Approvato da Stato Pubblicato Storia del documento Versione Data Descrizione 1.0 12/04/2021 Prima Versione 2
ARPA – INTEGRAZIONE CIE Indice del documento 1. Introduzione 4 2. Integrazione in ARPA 5 3. Progetti di esempio 8 3
ARPA – INTEGRAZIONE CIE 1. Introduzione Il sistema di autenticazione ed autorizzazione ARPA, implementato da Regione Toscana accetta tutti gli strumenti di autenticazione a norma, ossia SPID, Carta d’identità Elettronica (CIE) e CNS. Il documento fornisce delle linee guida per facilitare l’integrazione della modalità di autenticazione tramite CIE, in un applicativo progettato per dispositivi mobili , utilizzabile sia in ambito con hardware NFC abilitato. L’utilizzo della CIE prevede l’installazione sui dispositivi finali compatibili di un runtime1 ad-hoc (distribuito tramite l’app CIE ID) realizzato dal Ministero dell’Interno, Istituto Poligrafico e Zecca dello Stato. Questo runtime permette il corretto colloquio tra la CIE ed il dispositivo finale. Si prevede che il lettore abbia conoscenza pregressa in questo ambito, fuori dallo scopo del presente documento. L’app CIE ID può essere utilizzata su tutti gli smartphone Android versione 6 (Marshmallow) o successiva, dotati di interfaccia NFC e su tutti gli iPhone 7 o successivi, dotati di iOS 13 o superiore. 1 https://www.cartaidentita.interno.gov.it/identificazione-digitale/software-cie/ 4
ARPA – INTEGRAZIONE CIE 2. Integrazione in ARPA L’accesso a risorse protette è mediato dal corretto riconoscimento dell’utente finale che tramite il sistema ARPA può usare la propria CIE per l’autenticazione. All’utente dovrà essere messo a disposizione attraverso un’apposita sezione di autenticazione nell’app il bottone “Entra con CIE”, la cui presentazione grafica dovrà essere seguire lo standard e le linee guida AgID. Maggiori informazioni sono reperibili al seguente link. Figura 1: Rappresentazione bottone in standard AgID Il flusso di autenticazione rientra nello standard Oauth2 e non è oggetto di questo documento. Per tutti i dettagli sulle modalità di integrazione si rimanda al documento “Linee guida per l'integrazione di applicazioni nella infrastruttura di Autenticazione di Regione Toscana su standard OAuth2.pdf”. Una volta predisposto il flusso di autenticazione e ottenute le credenziali client è possibile procedere con l’integrazione CIE. I passi logici previsti a partire dal click sul bottone presente nella APP sono: • Apertura di un browser esterno (a carico di APP), necessariamente o Google Chrome o Apple Safari. • Controllo e conseguente apertura della app CIE ID da parte del sistema operativo mobile. • Autenticazione utente su app CIE ID mediante inserimento del PIN. • Browser web con uri popolata con il code di autenticazione redirect verso URL APP. • APP intercetta redirect url ed estrae il parametro code utile per completare l’autenticazione secondo il flusso OAUTH. Al click sul bottone “Entra con CIE” da integrare nativamente nell’app sarà necessario aprire sul browser embedded esterno la seguente url (Google Chrome per Android e Safari per iOS): https://accessosicuro.rete.toscana.it/opensso/SpidAccess?idpEntityId=https://idserver.servizicie.interno. gov.it/idp/profile/SAML2/POST/SSO&minRequiredAuthLevel=2&goToUrl=AUTH_GO_TO_URL Tabella 1: URL – Autenticazione CIE Il parametro dell’url AUTH_GO_TO_URL dovrà essere popolato con l’url costruita per l’autenticazione auth. Ad esempio con valori: • Client_id: test_cie_client • Redirect_uri = https://cie.my-app://callback • Scope = profile, rtroles L’AUTH_GO_TO_URL diventa di conseguenza: 5
ARPA – INTEGRAZIONE CIE https://accessosicuro.rete.toscana.it/auth/realms/arpa/protocol/openid- connect/auth?response_type=code&client_id=test-cie-client&redirect_uri=https://cie.my- app://callback&scope=profile%20rtroles Tabella 2: Esempio di costruzione parametro AUTH_GO_TO_URL 6
ARPA – INTEGRAZIONE CIE Attenzione che per essere inserita come parametro, sarà necessario effettuare l’URL encoding del valore di AUTH_GO_TO_URL: https%3A%2F%2Faccessosicuro.rete.toscana.it%2Fauth%2Frealms%2Farpa%2Fprotocol%2Fopenid- connect%2Fauth%3Fresponse_type%3Dcode%26client_id%3Dtest-cie- client%26redirect_uri%3Dhttps%3A%2F%2Fcie.my- app%3A%2F%2Fcallback%26scope%3Dprofile%2520rtroles Tabella 3: Url Encoding L’url finale da aprire sul browser web al click sul bottone “Entra con CIE” diventerà quindi: https://accessosicuro.rete.toscana.it/opensso/SpidAccess?idpEntityId=https://idserver.servizicie.interno. gov.it/idp/profile/SAML2/POST/SSO&minRequiredAuthLevel=2&goToUrl=https%3A%2F%2Faccessosicur o.rete.toscana.it%2Fauth%2Frealms%2Farpa%2Fprotocol%2Fopenid- connect%2Fauth%3Fresponse_type%3Dcode%26client_id%3Dtest-cie- client%26redirect_uri%3Dhttps%3A%2F%2Fcie.my- app%3A%2F%2Fcallback%26scope%3Dprofile%2520rtroles Tabella 4: Esempio di URL finale – Autenticazione CIE All’apertura di questa url nel browser web esterno, da parte del sistema operativo mobile, verrà controllata la presenza dell’app CIE ID e questa verrà aperta per proseguire l’autenticazione dell’utente. Una volta terminata l’autenticazione sull’app CIE ID si verrà reindirizzati di nuovo sul browser web che dopo alcune operazioni di autenticazione reindirizzerà l’utente alla redirect_uri con il parametro code popolato per proseguire con il flusso di autenticazione. A questo punto, sarà necessario associare la redirect_uri come URL SCHEMA dell’applicazione che si sta sviluppando, in modo tale da poter aprire in automatico l’applicazione quando sul browser web viene invocata questa url. L’app quindi potrà intercettare l’apertura del redirect url ed estrarre il parametro code utile per completare l’autenticazione. Su Android e iOS le modalità di registrare l’URL custom sono differenti e hanno nomi diversi: • Android Deep Link: https://developer.android.com/training/app-links/deep-linking • iOS Custom URL SCHEME: https://developer.apple.com/documentation/xcode/allowing_apps_and_websites_to_link_to_your _content/defining_a_custom_url_scheme_for_your_app 7
ARPA – INTEGRAZIONE CIE 3. Progetti di esempio Su OSCAT agli indirizzi: • arpa-demo-cie-android: https://oscat.rete.toscana.it/anonscm/git/arpaoauth/arpa-demo-cie- android.git • arpa-demo-cie-ios: https://oscat.rete.toscana.it/anonscm/git/arpaoauth/arpa-demo-cie-ios.git sono stati resi disponibili progetti di esempio per le piattaforme mobile Android e iOS rispettivamente. Tali progetti sono da considerarsi a puro titolo esemplificativo e di aiuto nell’integrazione come dimostratore di fattibilità. 8
Puoi anche leggere