Verwenden der Microsoft Entra Wallet Library mit Verified ID
In diesem Tutorial erfahren Sie, wie eine mobile App die Microsoft Entra Wallet Library mit Verified ID verwenden kann, um Nachweise auszustellen und zu präsentieren.
Voraussetzungen
- Android Studio installiert unter Mac/Windows und einem Android-Testgerät. Sie müssen den Entwicklermodus auf Ihrem Android-Testgerät aktivieren.
- Ein Apple-Entwicklerkonto, ein Mac mit Xcode und ein iOS-Testgerät mit aktiviertem Entwicklermodus. Die iOS-Version muss mindestens IOs 16 sein.
- Installieren Sie die QR Code Reader-App auf Ihrem Testgerät. Die WalletLibraryDemo-App verfügt nicht über die Möglichkeit, QR-Codes zu scannen, daher benötigen Sie die QR Code Reader-App, um die QR-Codes zu scannen.
Sie müssen kein Mobilgeräteentwickler sein, um diesem Tutorial zu folgen und die Demo-App zum Laufen zu bringen. Die Tools und ein Testgerät und der Mut zum Ausprobieren sind alles, was Sie benötigen. Sie benötigen auch keinen integrierten Microsoft Entra Verified ID-Mandanten, da Sie die Demo-App mit unserer öffentlichen End-to-End-Demowebsite testen können.
Hinweis
Verwenden Sie die neueste verfügbare Wallet Library, um Unterstützung für die NIST-kompatible P-256-Kurve zu erhalten, die seit Februar 2024 von Verified ID verwendet wird.
Was ist die Microsoft Entra Wallet Library?
Die Microsoft Entra Wallet Library für iOS und Android gibt Ihrer mobilen App die Möglichkeit, mit der Nutzung der Microsoft Entra Verified ID-Plattform zu beginnen. Mithilfe der Wallet Library kann die mobile App Wallet Library verwenden, um Nachweise gemäß den Branchenstandards ausstellen und präsentieren.
Wann sollte ich die Microsoft Entra Wallet Library verwenden?
Microsoft Authenticator verfügt über alle Funktionen, um als Brieftasche für Microsoft Entra Verified ID zu fungieren. In Fällen, in denen Sie den Microsoft Authenticator nicht verwenden können, ist die Wallet Library Ihre Alternative. Ein Beispiel könnte sein, wenn Sie bereits über eine mobile App verfügen, mit der Ihre Benutzer vertraut sind, und in der es sinnvoller ist, Nachweise in diese App einzuschließen.
Sie können Microsoft Authenticator und eine mobile App, die die Wallet-Bibliothek verwendet, gleichzeitig auf demselben mobilen Gerät verwenden. Der Authenticator, falls installiert, ist die App, die den Protokollhandler für openid:// registriert. Daher muss Ihre App sicherstellen, dass die Anforderungen für Ausstellung und Präsentation Ihre App finden. Die Verwendung eingebetteter Deep Links in HTML-Seiten, die auf dem openid://-Protokoll beruhen, führt dazu, dass der Microsoft Authenticator gestartet wird.
Verwendet Microsoft die Microsoft Entra Wallet Library?
Ja, die Wallet Library wird vom Microsoft Authenticator verwendet. Einige Features werden möglicherweise zuerst im Authenticator angezeigt, aber es ist unser Ziel, sie in der Wallet Library verfügbar zu machen.
Was ist der Aufwand beim Hinzufügen der Microsoft Entra Wallet Library zu meiner App?
Sie fügen die Wallet Library zu Ihrem Projekt für eine mobile App hinzu, indem Sie eine Maven-Abhängigkeit für Android hinzufügen und eine CocoaPods-Abhängigkeit für iOS hinzufügen.
Für iOS fügen Sie den WalletLibrary-Pod zu Ihrer Podfile hinzu.
target "YourApp" do
use_frameworks!
pod "WalletLibrary", "~> 1.0.1"
end
Anschließend müssen Sie einigen Code hinzufügen, um die Anforderungen zu verarbeiten. Details finden Sie im Beispielcode für 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)
}
Anschließend müssen Sie die folgenden Hauptaufgaben in Ihrer App erledigen.
- Abrufen der Anforderungs-URLs. Die Wallet Library verfügt über keine Funktionen zum Scannen eines QR-Codes oder ähnlichem. Wenn Sie Unterstützung für andere Optionen bereitstellen möchten, die nicht in die App integriert sind, müssen Sie diese Features selbst hinzufügen.
- Speichern der Anmeldeinformationen. Die Brieftaschenbibliothek erstellt den privaten und öffentlichen Schlüssel, der zum Signieren von Antworten verwendet wird, und speichert sie auf dem Gerät, enthält jedoch keine Funktionen zum Speichern von Anmeldeinformationen. Sie müssen das Speichern der Anmeldeinformationen für Ihre mobile App verwalten.
- Benutzeroberfläche. Sie müssen alle visuellen Darstellungen gespeicherter Anmeldeinformationen und die Benutzeroberflächenelemente zum Steuern des Prozesses für Ausstellung und Präsentation implementieren.
Wallet Library-Demo-App
Die Wallet Library enthält eine Demo-App im GitHub-Repository, die ohne Änderungen verwendet werden kann. Sie müssen sie nur kompilieren und bereitstellen. Die Demo-App ist eine leichtgewichtige und einfache Implementierung, welche die Ausstellung und Präsentation auf ein Minimum reduziert. Um schnell loszulegen, können Sie die QR Code Reader-App verwenden, um den QR-Code zu scannen und ihn dann zu kopieren und in die Demo-App einzufügen.
Zum Testen der Demo-App benötigen Sie eine Web-App, die Anmeldeinformationen ausgibt und Präsentationsanforderungen für Anmeldeinformationen stellt. Die öffentliche Woodgrove-Demo-Web-App wird in diesem Tutorial für diesem Zweck verwendet.
Erstellen des Android-Beispiels
Führen Sie auf Ihrem Entwicklercomputer mit Android Studio die folgenden Schritte aus:
Laden Sie das GitHub-Repository der Android-Wallet Library herunter oder klonen Sie es. Sie benötigen den Brieftaschenbibliotheksordner nicht, und Sie können ihn bei Bedarf löschen.
Starten Sie Android Studio, und öffnen Sie den übergeordneten Ordner von walletlibrarydemo
Wählen Sie das Menü Erstellen und dann Projekt erstellen aus. Dieser Schritt dauert einige Zeit.
Verbinden Sie Ihr Android-Testgerät über ein USB-Kabel mit Ihrem Laptop
Wählen Sie Ihr Testgerät in Android Studio und die Schaltfläche Ausführen (grünes Dreieck) aus
Ausstellen von Anmeldeinformationen mithilfe des Android-Beispiels
Starten Sie die WalletLibraryDemo-App
Starten Sie auf Ihrem Laptop die öffentliche Demo-Website https://aka.ms/vcdemo, und gehen Sie wie folgt vor
- Geben Sie Ihren Vornamen und Nachnamen ein, und drücken Sie Weiter.
- Wählen Sie Mit True Identity überprüfen aus.
- Wählen Sie Machen Sie ein Selfie und Laden Sie einen amtlichen Ausweishoch. Die Demo verwendet simulierte Daten, daher müssen Sie kein echtes Selfie aufnehmen oder einen Ausweis vorlegen.
- Wählen Sie Weiter und OK aus
Scannen Sie den QR-Code mit Ihrer QR Code Reader-App auf Ihrem Testgerät, und kopieren Sie dann die vollständige URL, die in der QR Code Reader-App angezeigt wird. Merken Sie sich den PIN-Code.
Wechseln Sie zurück zur WalletLibraryDemo-App, und fügen Sie die URL aus der Zwischenablage ein
Klicken Sie auf die Schaltfläche ANFORDERUNG ERSTELLEN
Wenn die App die Anforderung herunterlädt, wird ein Bildschirm wie das bereitgestellte Beispiel angezeigt. Wählen Sie das weiße Rechteck aus, bei dem es sich um ein Textfeld handelt, und geben Sie den Pincode ein, der auf der Browserseite angezeigt wird. Wählen Sie dann die Schaltfläche ABSCHLIESSEN aus.
Nach Abschluss der Ausstellung zeigt die Demo-App die Ansprüche in den Anmeldeinformationen an
Präsentieren von Anmeldeinformationen mithilfe des Android-Beispiels
Die Beispiel-App enthält die ausgestellten Anmeldeinformationen im Arbeitsspeicher, sodass Sie diese nach der Ausstellung für die Präsentation verwenden können.
Wenn Sie die Anmeldeinformationen erfolgreich ausgestellt haben, sollte die WalletLibraryDemo-App einige Anmeldeinformationsdetails auf dem Startbildschirm anzeigen.
Wählen Sie in der Woodgrove-Demo im Browser Zurück zu Woodgrove aus, falls Sie dies noch nicht getan haben, und fahren Sie mit Schritt 3 Zugriff auf personalisiertes Portal fort.
Scannen Sie den QR-Code mit der QR Code Reader-App auf Ihrem Testgerät, und kopieren Sie dann die vollständige URL in die Zwischenablage.
Wechseln Sie zurück zur WalletLibraryDemo-App, fügen Sie die URL ein, und wählen Sie die Schaltfläche ANFORDERUNG ERSTELLEN aus
Die App ruft die Präsentationsanforderung ab und zeigt die übereinstimmenden Anmeldeinformationen an, die Sie im Arbeitsspeicher haben. In diesem Fall haben Sie nur eine. Klicken Sie darauf, damit das kleine Häkchen angezeigt wird, und wählen Sie dann die Schaltfläche ABSCHLIESSEN aus, um die Präsentationsantwort zu übermitteln
Erstellen des iOS-Beispiels
Führen Sie auf Ihrem Mac-Entwicklercomputer mit Xcode die folgenden Schritte aus:
Laden Sie das GitHub-Repository der iOS-Wallet Library herunter oder klonen Sie es.
Starten Sie Xcode, und öffnen Sie den Ordner der obersten Ebene für die WalletLibrary
Legen Sie den Fokus auf das WalletLibraryDemo-Projekt fest
Ändern Sie die Team-ID in Ihre Apple Developer-Team-ID.
Wählen Sie das Menü „Produkt“ und dann Erstellen aus. Dieser Schritt dauert einige Zeit.
Verbinden Sie Ihr iOS-Testgerät über ein USB-Kabel mit Ihrem Laptop
Wählen Sie Ihr Testgerät in Xcode aus
Wählen Sie das Menü „Produkt“ und dann Ausführen oder das Dreieck „Ausführen“ aus
Ausstellen von Anmeldeinformationen mithilfe des iOS-Beispiels
Starten Sie die WalletLibraryDemo-App
Starten Sie auf Ihrem Laptop die öffentliche Demo-Website https://aka.ms/vcdemo, und gehen Sie wie folgt vor
- Geben Sie Ihren Vornamen und Nachnamen ein, und drücken Sie Weiter.
- Wählen Sie Mit True Identity überprüfen aus.
- Wählen Sie Selfie aufnehmen und dann Von einer Behörde ausgestellten Ausweis hochladen aus. Die Demo verwendet simulierte Daten, daher müssen Sie kein echtes Selfie aufnehmen oder einen Ausweis vorlegen.
- Wählen Sie Weiter und OK aus
Scannen Sie den QR-Code mit Ihrer QR Code Reader-App auf Ihrem Testgerät, und kopieren Sie dann die vollständige URL, die in der QR Code Reader-App angezeigt wird. Merken Sie sich den PIN-Code.
Wechseln Sie zurück zur WalletLibraryDemo-App, und fügen Sie die URL aus der Zwischenablage ein
Klicken Sie auf die Schaltfläche Anforderung erstellen
Wenn die App den Download der Anforderung abgeschlossen hat, wird ein Bildschirm wie unser Beispiel angezeigt. Wählen Sie den Text PIN hinzufügen aus, um zu einem Bildschirm zu wechseln, auf dem Sie den PIN-Code eingeben können. Wählen Sie dann die Schaltfläche Hinzufügen aus, um zurückzukehren, und anschließend die Schaltfläche Abschließen.
Nach Abschluss der Ausstellung zeigt die Demo-App die Ansprüche in den Anmeldeinformationen an.
Präsentieren von Anmeldeinformationen mithilfe des iOS-Beispiels
Die Beispiel-App enthält die ausgestellten Anmeldeinformationen im Arbeitsspeicher, sodass Sie diese nach der Ausstellung für die Präsentation verwenden können.
Wenn Sie erfolgreich Zugangsdaten ausgestellt haben, zeigt die WalletLibraryDemo-App die Typbezeichnung der Zugangsdaten auf dem Startbildschirm an.
Wählen Sie in der Woodgrove-Demo im Browser Zurück zu Woodgrove aus, falls Sie dies noch nicht getan haben, und fahren Sie mit Schritt 3 Zugriff auf personalisiertes Portal fort.
Scannen Sie den QR-Code mit der QR Code Reader-App auf Ihrem Testgerät, und kopieren Sie dann die vollständige URL in die Zwischenablage.
Wechseln Sie zurück zur WalletLibraryDemo-App, löschen Sie die vorherige Anforderung aus dem Textfeld, fügen Sie die URL ein, und klicken Sie auf die Schaltfläche 'Anforderung erstellen'.
Die App ruft die Präsentationsanforderung ab und zeigt die übereinstimmenden Anmeldeinformationen an, die Sie im Arbeitsspeicher haben. In diesem Fall haben Sie nur eine. Klicken Sie darauf, damit das kleine Häkchen von blau auf grün wechselt, und wählen Sie dann die Schaltfläche Abschließen aus, um die Präsentationsantwort zu übermitteln
Nächste Schritte
Erfahren Sie, wie Sie Ihren Mandanten für Microsoft Entra Verified ID konfigurieren.