Uso della libreria Portafoglio Di Microsoft Entra con ID verificato
In questa esercitazione si apprenderà come un'app per dispositivi mobili può usare Microsoft Entra Wallet Library con ID verificato per rilasciare e presentare credenziali verificabili.
Prerequisiti
- Android Studio installato in Mac/Windows e in un dispositivo di test Android. È necessario abilitare la modalità sviluppatore nel dispositivo di test Android.
- Un account sviluppatore Apple, Mac con Xcode e un dispositivo di test iOS con la modalità sviluppatore abilitata. La versione di iOS deve essere almeno IOs 16.
- Installare l'app lettore di codice a matrice nel dispositivo di test. L'app WalletLibraryDemo non è dotata della possibilità di analizzare i codici a matrice, quindi è necessaria l'app lettore di codice a matrice per analizzare i codici a matrice.
Non è necessario essere uno sviluppatore di dispositivi mobili per seguire questa esercitazione e rendere operativa l'app demo. Gli strumenti e un dispositivo di prova e il coraggio di provare è tutto ciò che serve. Non è inoltre necessario un tenant ID verificato di Microsoft Entra di cui è stato eseguito l'onboarding perché è possibile testare l'app demo con il sito Web demo end-to-end pubblico.
Nota
Usare la libreria portafoglio più recente disponibile per ottenere supporto per la curva P-256 conforme a NIST usata dall'ID verificato a partire da febbraio 2024.
Che cos'è microsoft Entra Wallet Library?
Microsoft Entra Wallet Library per iOS e Android offre all'app per dispositivi mobili la possibilità di iniziare a usare la piattaforma ID verificato di Microsoft Entra. Usando la libreria portafoglio, l'app per dispositivi mobili usa la libreria portafoglio per rilasciare e presentare credenziali verificabili in conformità agli standard del settore.
Quando è consigliabile usare microsoft Entra Wallet Library?
Microsoft Authenticator ha tutte le funzionalità da usare come portafoglio per ID verificato di Microsoft Entra. Ma nei casi in cui non è possibile usare Microsoft Authenticator, la libreria portafoglio è l'alternativa. Un esempio può essere quando si ha già un'app per dispositivi mobili con cui gli utenti hanno familiarità e dove è più opportuno includere la tecnologia delle credenziali verificabili in questa app.
È possibile utilizzare Microsoft Authenticator e un'app mobile assieme utilizzando la libreria Wallet sullo stesso dispositivo mobile. Authenticator, se installato, è l'app che registra il gestore di protocolli per openid://, pertanto l'app deve garantire che le richieste di emissione e presentazione raggiungano l'app. L'uso di collegamenti diretti incorporati nelle pagine HTML che si basano sul protocollo openid:// avvia Microsoft Authenticator.
Microsoft usa Microsoft Entra Wallet Library?
Sì, la libreria portafoglio viene usata da Microsoft Authenticator. Alcune caratteristiche possono apparire prima nell'Autenticatore, ma è nostra ambizione renderle disponibili nella Libreria Portafoglio.
Qual è lo sforzo di aggiungere Microsoft Entra Wallet Library all'app?
Aggiungi la Libreria Portafoglio al progetto dell'app per dispositivi mobili aggiungendo una dipendenza maven per Android e aggiungendo una dipendenza cocoapod per iOS.
Per iOS, aggiungere il pod WalletLibrary al podfile.
target "YourApp" do
use_frameworks!
pod "WalletLibrary", "~> 1.0.1"
end
È quindi necessario aggiungere codice per elaborare le richieste. Per informazioni dettagliate, vedere il codice di esempio WalletLibraryDemo.
/// Create a verifiedIdClient.
let verifiedIdClient = VerifiedIdClientBuilder().build()
/// Create a VerifiedIdRequestInput using a OpenId Request Uri.
let input = VerifiedIdRequestURL(url: URL(string: "openid-vc://...")!)
let result = await verifiedIdClient.createRequest(from: input)
/// Every external method's return value is wrapped in a Result object to ensure proper error handling.
switch (result) {
case .success(let request):
/// A request created from the method above could be an issuance or a presentation request.
/// In this example, it is a presentation request, so we can cast it to a VerifiedIdPresentationRequest.
let presentationRequest = request as? VerifiedIdPresentationRequest
case .failure(let error):
/// If an error occurs, its value can be accessed here.
print(error)
}
È quindi necessario gestire le attività principali seguenti nell'app.
- Recupero degli URL della richiesta. La libreria Portafoglio non include alcuna funzionalità per la scansione di un codice a matrice o simile. Se vuoi fornire supporto per qualsiasi altra opzione non integrata nell'app, devi aggiungere queste funzionalità manualmente.
- Archiviazione delle credenziali. La libreria Portafoglio crea la chiave pubblica e privata usata per firmare le risposte e le archivia nel dispositivo, ma non include alcuna funzionalità per l'archiviazione delle credenziali. È necessario gestire l'archiviazione delle credenziali per l'app per dispositivi mobili.
- Interfaccia utente. È necessario implementare qualsiasi rappresentazione visiva delle credenziali archiviate e qualsiasi elemento dell'interfaccia utente destinato a guidare il processo di rilascio e presentazione.
App demo della libreria portafoglio
La libreria Wallet include un'app demo nel repository GitHub pronto per l'uso senza modifiche. È sufficiente compilarlo e distribuirlo. L'app demo è un'implementazione semplice e leggera che illustra il rilascio e la presentazione al minimo. Per iniziare rapidamente, è possibile usare l'app lettore di codice a matrice per analizzare il codice a matrice e quindi copiarlo e incollarlo nell'app demo.
Per testare l'app demo, è necessaria un'app Web che rilascia le credenziali e invia richieste di presentazione per le credenziali. L'app Web demo pubblica di Woodgrove viene usata a questo scopo in questa esercitazione.
Compilazione dell'esempio Android
Nel computer per sviluppatori con Android Studio seguire questa procedura:
Scaricare o clonare il repository GitHub della libreria Portafoglio Android. Non hai bisogno della cartella della libreria portafoglio e puoi eliminarla se ti piace.
Avviare Android Studio e aprire la cartella padre di walletlibrarydemo
Selezionare Il menu Compila e quindi Crea progetto. Questo passaggio richiede del tempo.
Connettere il dispositivo di test Android tramite cavo USB al portatile
Selezionare il dispositivo di test in Android Studio e selezionare pulsante Esegui (triangolo verde)
Rilascio di credenziali con l'esempio Android
Avviare l'app WalletLibraryDemo
Sul portatile avviare il sito https://aka.ms/vcdemo Web demo pubblico ed eseguire le operazioni seguenti
- Immettere il nome e il cognome e premere Avanti
- Selezionare Verify with True Identity (Verifica con identità vera)
- Selezionare Scatta un selfie e Carica un documento d'identità rilasciato dal governo. La demo usa dati simulati e non è necessario fornire un selfie reale o un ID.
- Selezionare Avanti e OK
Analizzare il codice a matrice con l'app lettore di codice a matrice nel dispositivo di test, quindi copiare l'URL completo visualizzato nell'app lettore di codice a matrice. Ricordare il codice pin.
Tornare all'app WalletLibraryDemo e incollare l'URL dagli Appunti
Premere il pulsante CREATE REQUEST
Quando l'app scarica la richiesta, viene visualizzata una schermata simile all'esempio fornito. Selezionare il rettangolo bianco, ovvero una casella di testo, e immettere il codice pin visualizzato nella pagina del browser. Selezionare quindi il pulsante COMPLETA.
Al termine del rilascio, l'app demo visualizza le attestazioni nella credenziale
Presentazione delle credenziali con l'esempio Android
L'app di esempio contiene le credenziali rilasciate in memoria, quindi dopo il rilascio è possibile usarla per la presentazione.
Se hai emesso correttamente una credenziale, l'app WalletLibraryDemo dovrebbe visualizzare alcuni dettagli delle credenziali nella schermata iniziale.
Nella demo di Woodgrove nel browser, selezionare Ritorna a Woodgrove se non è già stato fatto e continuare con il passaggio 3 Accedi al portale personalizzato.
Analizzare il codice a matrice con l'app lettore di codice a matrice nel dispositivo di test, quindi copiare l'URL completo negli Appunti.
Torna all'app WalletLibraryDemo, incolla l'URL e quindi seleziona il pulsante CREATE REQUEST.
L'app recupera la richiesta di presentazione e visualizza le credenziali corrispondenti disponibili in memoria. In questo caso, ne hai solo uno. Clicca su di esso in modo che venga visualizzato il piccolo segno di spunta, quindi seleziona il pulsante COMPLETA per inviare la risposta della presentazione
Compilazione dell'esempio iOS
Nel computer per sviluppatori Mac con Xcode seguire questa procedura:
Scaricare o clonare il repository GitHub della libreria Portafoglio iOS.
Avviare Xcode e aprire la cartella di primo livello per WalletLibrary
Impostare lo stato attivo sul progetto WalletLibraryDemo
Modificare l'ID team impostando l'ID del team per sviluppatori Apple.
Selezionare Il menu Prodotto e quindi Compila. Questo passaggio richiede del tempo.
Connettere il dispositivo di test iOS tramite cavo USB al portatile
Selezionare il dispositivo di test in Xcode
Selezionare il menu Prodotto e quindi Esegui o selezionare il triangolo 'Esegui'
Emissione di credenziali con l'esempio iOS
Avviare l'app WalletLibraryDemo
Sul portatile avviare il sito https://aka.ms/vcdemo Web demo pubblico ed eseguire le operazioni seguenti
- Immettere il nome e il cognome e premere Avanti
- Selezionare Verify with True Identity (Verifica con identità vera)
- Selezionare Scatta un selfie e Carica un documento d'identità rilasciato dal governo. La demo usa dati simulati e non è necessario fornire un selfie reale o un ID.
- Selezionare Avanti e OK
Analizzare il codice a matrice con l'app lettore di codice a matrice nel dispositivo di test, quindi copiare l'URL completo visualizzato nell'app lettore di codice a matrice. Ricordare il codice pin.
Tornare all'app WalletLibraryDemo e incollare l'URL dagli Appunti
Premere il pulsante Crea richiesta
Al termine del download della richiesta, l'app mostra una schermata simile all'esempio. Selezionare il testo Aggiungi pin per passare a una schermata in cui è possibile immettere il codice pin, quindi selezionare il pulsante Aggiungi per tornare alla schermata precedente e infine selezionare il pulsante Completa.
Al termine del rilascio, l'app demo visualizza le attestazioni nella credenziale.
Presentazione delle credenziali con l'esempio iOS
L'app di esempio contiene le credenziali rilasciate in memoria, quindi dopo il rilascio è possibile usarla per la presentazione.
Se hai emesso correttamente una credenziale, l'app WalletLibraryDemo visualizza il nome del tipo di credenziale nella schermata iniziale.
Nella demo di Woodgrove nel browser, selezionare Torna a Woodgrove se non è già stato fatto e continuare con il passaggio 3 Accedi al portale personalizzato.
Analizzare il codice a matrice con l'app lettore di codice a matrice nel dispositivo di test, quindi copiare l'URL completo negli Appunti.
Tornare all'app WalletLibraryDemo deselezionare la richiesta precedente dalla casella di testo, incollare l'URL e selezionare pulsante Crea richiesta
L'app recupera la richiesta di presentazione e visualizza le credenziali corrispondenti disponibili in memoria. In questo caso ne hai solo uno. Fare clic su di esso in modo che il segno di spunta piccolo passi da blu a verde, quindi selezionare il pulsante Completa per inviare la risposta alla presentazione
Passaggi successivi
Informazioni su come configurare il tenant per ID verificato di Microsoft Entra.