Entwickler · OpenID Connect · OpenID4VP · ARF 3.0
Anmeldung mit der EU-Wallet für Ihre Website – Entwicklerleitfaden
Ihre Anwendung behält ihre normale OpenID-Connect-Anmeldung. Das CodeB EUDI Gateway auf phone.codeb.io spricht OpenID4VP, SD-JWT VC und ISO mdoc mit der Wallet, prüft die Präsentation und übergibt Ihnen ein signiertes id_token. Sie ergänzen einen Parameter und eine Prüfung.
- Jede OpenID-Connect-Bibliothek
- Ein Parameter, eine Prüfung
- Getestete Beispiele für sieben Plattformen
So funktioniert es
- Ihre App leitet zu CodeB weiter mit client_id, PKCE (S256), state, nonce und
acr_values=urn:codeb:acr:eudi-wallet. - CodeB öffnet die Wallet-Anmeldung: Auf dem Telefon öffnet sich die Wallet direkt; am Computer scannt die Person einen QR-Code mit dem Telefon, auf dem die Wallet ist.
- Die Wallet präsentiert, CodeB prüft über OpenID4VP: Ausstellersignatur und Vertrauenskette, Geräte-Bindung und Sperrstatus.
- CodeB gibt einen Autorisierungscode an Ihre Redirect-URI zurück.
- Ihr Server tauscht den Code ein, prüft das id_token und den
acr-Claim. Die Person ist angemeldet.
Die zwei Regeln
1. Nach der Wallet fragen: acr_values=urn:codeb:acr:eudi-wallet in die Autorisierungsanfrage aufnehmen.
2. Vor dem Zugriff prüfen: Der acr-Claim des geprüften id_token muss urn:codeb:acr:eudi-wallet oder urn:codeb:acr:eudi-wallet-linked sein. Eine Passwort-Anmeldung hat einen anderen Wert und muss abgelehnt werden.
Was Sie brauchen
Einen registrierten Client: CodeB registriert Ihre Redirect-URIs und schickt Ihnen Client-ID und Secret (info@aloaha.com). Ihr Name, Zweck und Ihre Datenschutzerklärung kommen ins Registrierungszertifikat, das die Wallet zeigt.
Das Discovery-Dokument: https://phone.aloaha.com/.well-known/openid-configuration für Ihre echte Integration – Autorisierungs-, Token-, UserInfo- und JWKS-Endpunkte, unterstützte Scopes, Claims und acr-Werte. Für Tests und Demos: phone.codeb.io.
Eine serverseitige Komponente, die das Client-Secret verwahrt (Authorization-Code-Flow mit PKCE).
Getestete Beispiele und Referenzen
Vollständige Beispiel-Apps für ASP.NET Core 8, Visual Basic .NET, Node.js, Python, PHP, Java und Go, jeweils gegen einen Anbieter getestet, der die CodeB-Endpunkte nachbildet: Integrations-Kochbuch. Kürzerer Einstieg: Entwickler-Schnellstart. Visual Basic .NET: Beispiel.
API-Referenz: EU-Wallet-API und die OpenAPI-Beschreibung.
Noch kein Backend? Das Anmelde-Widget setzt mit einem Script-Tag einen Button „Mit EU-Wallet anmelden“ auf eine Seite.
Mehr als Anmeldung
Nur das Alter: „über 18“ fragen und sonst nichts – Altersnachweis.
Nationaler eID-Ausweis: dieselbe Integration mit acr_values=urn:codeb:acr:eidcard – Anmeldung mit dem Authentisierungsschlüssel der Karte, über NFC von CodeB Wallet gelesen.
Jede Wallet testen: Der Interoperabilitäts-Selbsttest zeigt, welche Anforderungen eine Wallet erfüllt. Probieren Sie die Abläufe im Playground aus.
Darauf ausgelegt, ARF 3.0, OpenID4VP 1.0 und HAIP 1.0 zu folgen; nicht zertifiziert.
Fragen von Entwicklern
Müssen wir OpenID4VP, SD-JWT VC oder ISO mdoc selbst umsetzen?
Nein. Das Gateway spricht die Wallet-Protokolle und prüft Signaturen, Vertrauensketten, Geräte-Bindung und Sperrstatus. Ihre Anwendung sieht eine Standard-OpenID-Connect-Anmeldung.
Welche OpenID-Connect-Bibliothek können wir nutzen?
Jede Bibliothek, die den Authorization-Code-Flow mit PKCE unterstützt und das Discovery-Dokument liest. Getestete Beispiele gibt es für ASP.NET Core, Visual Basic .NET, Node.js, Python, PHP, Java und Go.
Woran erkennen wir, dass die Person wirklich die Wallet benutzt hat?
Am acr-Claim des geprüften id_token: urn:codeb:acr:eudi-wallet oder urn:codeb:acr:eudi-wallet-linked. Lehnen Sie für Seiten, die die Wallet brauchen, jeden anderen Wert ab.
Welche personenbezogenen Daten erhalten wir?
Nur, was Sie anfragen, was Ihr Client darf und was die Person in der Wallet freigibt – zum Beispiel Name oder Geburtsdatum.