Anleitung · EU Wallet

Anmeldung mit dem Aloaha Web Wallet.

Diese Anleitung führt Sie durch die Anmeldung auf jeder Aloaha-Instanz über logineu.html mit dem browserbasierten Web Wallet — vom ersten Credential-Import bis zur signierten Sitzung. Jeder Schritt beschreibt das aktuelle Verhalten; nichts ist geplant oder theoretisch.

Web Wallet öffnen logineu.html öffnen Was ist das Web Wallet?

Neu am 2026-07-20. Das Wallet hat einen nativen QR-Code-Kamera-Scanner (auf Basis von BarcodeDetector), erste ISO 18013-5 mDoc-Primitiven (CBOR + COSE_Sign1 + mDoc-Ausstellung/Verifikation im Wallet, serverseitig MDocIssuer + MDocVerifier) und der OID4VCI-Issuer beherrscht neben dem bestehenden pre-authorized_code-Grant nun den authorization_code + PAR + PKCE-Flow. Alle Bausteine sind wallet- und issuer-seitig heute nutzbar; die End-to-End-mDoc-Verifikation benötigt zusätzlich Betreiber-bereitgestellte Vertrauensanker unter App_Data/<tenant>/trust/mdoc-issuers/ (fehlt das Verzeichnis, liefert der Endpoint HTTP 501). CWT-Proof-of-Possession (RFC 8747 / RFC 8392, HAIP §5.4) wird am Credential-Endpoint jetzt zusätzlich zum bestehenden JWT-Proof akzeptiert — Wallets wählen genau eine Variante pro Anfrage. Der weiter unten beschriebene Anmeldeflow bleibt unverändert.

Sie benötigen genau ein Credential für die Anmeldung: eine E-Mail-Attestierung. Das Wallet stellt es sich in wenigen Sekunden selbst aus dem OIDC-Profil aus. Danach ist jede weitere Anmeldung auf logineu.html zwei Klicks: Wallet öffnen, bestätigen.

Inhalt
  1. Voraussetzungen
  2. Ablauf im Überblick
  3. Schritt 1 — Wallet öffnen
  4. Schritt 2 — Im Wallet anmelden
  5. Schritt 3 — Attestierung importieren
  6. Schritt 4 — Zu logineu.html
  7. Schritt 5 — Web Wallet öffnen
  8. Schritt 6 — Bestätigen
  9. Schritt 7 — Angemeldet
  10. Welche Credentials passen
  11. Fehlerbehebung
  12. Unter der Haube

1. Voraussetzungen

2. Ablauf im Überblick

# Einmalig pro Browser 1. /de/web-wallet.html öffnen 2. Sign in tippen → OIDC PKCE 3. Import bei Verified email address # Jede Anmeldung (~4 Sekunden) 1. /de/logineu.html öffnen 2. Aloaha Web Wallet öffnen (neuer Tab) tippen 3. Im Wallet: Approve & present 4. logineu.html leitet nach /account.html weiter

3. Schritt 1 — Wallet öffnen

1

Rufen Sie /de/web-wallet.html auf Ihrer Instanz auf.

Beispiel: phone.aloaha.com/de/web-wallet.html. Der erste Besuch registriert den Service Worker — das Wallet ist danach als PWA verfügbar. Optional per Browser-Menü »Zum Startbildschirm hinzufügen«.

4. Schritt 2 — Im Wallet anmelden

2

Tippen Sie oben rechts auf Sign in.

Das Wallet nutzt OpenID Connect mit PKCE. Sie landen auf login.html, geben Passwort oder Passkey ein und werden zurück ins Wallet geleitet. Der Bearer-Token wird nur für den nächsten Schritt (Credential-Ausstellung) genutzt.

5. Schritt 3 — E-Mail-Attestierung importieren

3

Unter Available attestations from your profile auf Import bei Verified email address tippen.

Das Wallet fragt einen Pre-Authorized-Code bei /vci.ashx an. Der Issuer signiert einen kleinen SD-JWT VC (urn:aloaha:vc:email-verified), gebunden an den nicht-exportierbaren Wallet-Schlüssel (RFC 7800 cnf.jwk). Er wird lokal unter My credentials gespeichert.

6. Schritt 4 — Zu logineu.html

4

Rufen Sie /de/logineu.html auf.

Die Seite erzeugt sofort eine OpenID4VP-Session mit frischer Nonce und ephemer P-256-Verschlüsselungsschlüsseln. Der QR ist für offizielle EU-Wallets — für den Web-Wallet-Pfad ignorieren Sie ihn.

Geräteübergreifend: Sie können den Anmelde-QR auch mit dem Web Wallet auf dem Handy scannen (Button »QR-Code scannen«) — die Anmeldung schließt auf dem Handy ab. Benötigt Chrome auf Android oder Safari 17+ auf macOS/iOS.

7. Schritt 5 — »Aloaha Web Wallet öffnen« antippen

5

Ein Klick startet die Web-Wallet-spezifische Anfrage.

Die Seite ruft /oidc.ashx?action=vp-start&query=aloaha-identity auf, erhält einen frischen openid4vp://-Deep-Link und öffnet das Wallet mit vorbelegtem Link in einem neuen Tab: /de/web-wallet.html?openid4vp=....

8. Schritt 6 — Präsentation bestätigen

6

Im Wallet-Tab prüfen und bestätigen.

Das Wallet holt den signierten JWT Authorization Request (JAR), prüft das x509_san_dns-Zertifikat des Verifiers gegen die Vertrauensanker und zeigt Ihnen an:

  • Wer fragt (Verifier-client_id)
  • Welche Credentials verlangt sind (urn:aloaha:vc:email-verified oder urn:aloaha:vc:email)
  • Welche Claims offengelegt werden (email)
  • Welches Credential das Wallet präsentiert

Tippen Sie auf Approve & present. Das Wallet signiert ein frisches Key-Binding-JWT, baut das VP-Token und postet die Antwort (optional JWE-verschlüsselt für direct_post.jwt) an den Verifier.

9. Schritt 7 — Angemeldet

7

Zurück zum logineu.html-Tab.

Der Poll registriert HTTP 200 mit dem User, speichert die sso_assertion unter codeb.oidc.sso_assertion im localStorage und leitet nach /account.html weiter. Alle anderen Aloaha-Seiten im selben Browser erkennen die Sitzung automatisch.

10. Welche Credentials die Anmeldung akzeptiert

Der Web-Wallet-Button auf logineu.html ruft vp-start?query=aloaha-identity auf und baut eine DCQL-Abfrage für folgende Credential-Typen (eines reicht):

vctVerlangte ClaimsWallet-Quelle
urn:aloaha:vc:email-verified email Kachel »Verified email address«
urn:aloaha:vc:email email Kachel »Email address«

Die weiteren urn:aloaha:vc:*-Credentials (Name, Telefon-verifiziert, Postanschrift, Geburtsdatum, Über-18, Wunsch-Benutzername, Tenant-Mitgliedschaft) erfüllen die Login-Abfrage nicht, sind aber für Verifier-Flows wie Altersnachweis oder KYC-Vorprüfung nützlich — solche Verifier stellen sie über eigene vp-start-Aufrufe an.

Standardkonforme Verifier, die urn:eu.europa.ec.eudi:pid:1 (Mitgliedstaats-PID) verlangen, werden mit einem Aloaha-ausgestellten Credential nicht zufrieden sein. Dafür benötigen Sie das offizielle EUDI-Wallet mit einer national ausgestellten PID. Das Aloaha Web Wallet ist bei seiner Obergrenze ehrlich: maximal LoA-Substantial, keine Mitgliedstaats-PID.

11. Fehlerbehebung

»No attestations available from your OIDC profile« im Wallet.

Sich vorher anmelden (Button oben rechts). Die Liste kommt über einen Bearer-Token, der erst nach PKCE existiert.

Jede Kachel zeigt not ready.

Ihr OIDC-Profil hat noch keine Felder gefüllt. Unter account.html oder register.html mindestens E-Mail eintragen, dann Wallet neu laden.

Telefon / Adresse zeigt not ready.

Telefonnummer + »Verifiziert«-Haken bzw. Adresse (Straße + Ort + Land) im Profil hinterlegen. Dann Wallet neu laden. Falls die Kachel nicht wechselt, im Wallet einmal Sign out und wieder anmelden — damit der erweiterte OIDC-Scope aktiv wird.

logineu.html sagt »Presentation sent« ohne Weiterleitung.

Der Verifier hat die Antwort verworfen. Browser-Konsole im logineu.html-Tab zeigt den JSON-Fehler an, meist invalid_kb_jwt, nonce_mismatch oder trust_anchor_fail.

»Session abgelaufen — neu laden für neue Präsentation«.

Verifier-Sessions leben 5 Minuten. Wenn Sie länger gebraucht haben, logineu.html neu laden. Das entspricht der OpenID4VP-Empfehlung.

Wallet öffnet den Deep-Link-Tab, zeigt aber »JAR fetch failed«.

Selten. Die request_uri im Deep-Link zeigt auf /oidc.ashx?action=vp-request, das auf Ihre Instanz auflösen muss. Bei Captive-Portal oder DNS-Ausfall schlägt der Abruf fehl — sobald das Netz wieder läuft, erneut versuchen.

Browserdaten gelöscht — was passiert?

Wallet-Schlüssel und alle Credentials sind weg. Erneut ins Wallet anmelden, Credentials neu importieren. Serverseitig ist nichts an Ihren Wallet-Schlüssel gebunden — der Verifier kennt Sie ausschließlich über den SD-JWT-VC-Inhalt.

12. Unter der Haube

Für Entwickler, die sehen wollen, was tatsächlich auf der Leitung passiert:

SchrittEndpointZweck
Wallet-Anmeldung /oidc.ashx?action=authorize (PKCE) Bearer für /vci.ashx
Importierbare auflisten /vci.ashx?available-attributes Wallet-Kacheln
Credential importieren /vci.ashx (POST credential-offer + pre-auth code) Signierter SD-JWT VC + cnf.jwk
Präsentation starten /oidc.ashx?action=vp-start&query=aloaha-identity Frische Nonce, JAR, EPK
JAR abrufen /oidc.ashx?action=vp-request&id=<sid> ES256-signiertes Request-Object + x5c
Antwort posten /oidc.ashx?action=vp-response&id=<sid> VP-Token + KB-JWT + state
Ergebnis pollen GET /oidc.ashx?action=vp-response&id=<sid> Session-Lookup durch logineu.html

Alles standardkonform: OpenID4VP 1.0, HAIP 1.0, SD-JWT VC (draft-ietf-oauth-sd-jwt-vc), OpenID4VCI, RFC 7800 Holder-Binding.

Web Wallet öffnen Direkt bei logineu.html testen Wallet-Erklärung