CieID-android-sdk è un SDK Android sviluppato in Kotlin che include le funzionalità di autenticazione di "Entra con CIE". Utilizzando questo kit, gli sviluppatori di app terze possono integrare l'autenticazione sui sistemi della pubblica amministrazione per la cartà d'identità elettronica (CIE 3.0) nelle app Android.
CieID-android-sdk è compatibile dalla versione Android 6.0 (API level 23) o successive. Necessità inoltre di connessione ad internet e di smartphone con tecnologia NFC.
CieID-android-sdk necessita che il fornitore del servizio digitale sia un Service Provider federato e che integri la tecnologia abilitante al flusso di autenticazione "Entra con CIE". Maggiori informazioni qui.
Integra il modulo "CieIDSdk" nell' applicazione:
implementation project(path: ':cieidsdk')
Nel kit è presente un'applicazione di esempio che mostra come integrare l'SDK facilmente.
Nel build.gradle seleziona l'ambiente server dell'identity provider (iDP) di tuo interesse utilizzando i commenti
//AMBIENTI:
//Ambiente di produzione
//buildConfigField "String", "BASE_URL_IDP", "\"https://idserver.servizicie.interno.gov.it/idp/\""
//Ambiente di collaudo
buildConfigField "String", "BASE_URL_IDP", "\"https://preproduzione.idserver.servizicie.interno.gov.it/idp/\""
Per integrare le funzionalità dell'SDK utilizza i seguenti metodi nell'activity di tuo interesse:
//Configurazione iniziale
CieIDSdk.start(activity, callback)
//Avvio utilizzo NFC
CieIDSdk.startNFCListening(activity)
//Abilitare o disabilitare i log, da disattivare in produzione
CieIDSdk.enableLog = true
//Bisogna settare la url caricata dalla pagina web dell' SP dalla webview su /OpenApp
CieIDSdk.setUrl(url.toString())
//inserire il pin della CIE
CieIDSdk.pin = input.text.toString()
//Avviare NFC
startNFC()
Implementa inoltre le interfacce di Callback implementando i seguenti metodi:
override fun onEvent(event: Event) {
//evento
}
override fun onError(e: Throwable) {
//caso di errore
}
override fun onSuccess(url: String) {
//caso di successo con url della pagina da caricare
}
Il codice sorgente dell'sdk è rilasciato sotto licenza BSD (codice SPDX: BSD-3-Clause).