ForTrust dWallet
✈️ ACME Travel (demo RP)
Aplicație terță fictivă ce folosește ForTrust pentru autentificare EUDI.

Autentifică-te cu ForTrust Wallet

⚠️ Pas WiFi necesită un credențial WiFi separat pre-emis în wallet. Dacă ai doar mdoc cu PID, folosește Network access (PID) care face același lucru (deblochează WiFi) pe baza identității pe care o ai deja.

🔐 Sign in with ForTrust

Click → redirect la ForTrust → scan QR sau tap "Open wallet" → claim-urile apar live.

Ce trimite ACME Travel la ForTrust

client_id
demo.rp.fortrust.ro
redirect_uri
https://dwallet.fortrust.ro/oidc/demo/callback/
nonce
gaFN0YX-TXtENXDfA_Nz6iQxW7eGuCbu
state (CSRF)
E-mJcfr4cobaSy4EVGQTOH40PfEwgW_V
scope
openid profile eudi_pid
response_type
vp_token

URL-ul complet al cererii:

https://dwallet.fortrust.ro/oidc/authorize/?client_id=demo.rp.fortrust.ro&redirect_uri=https%3A%2F%2Fdwallet.fortrust.ro%2Foidc%2Fdemo%2Fcallback%2F&nonce=gaFN0YX-TXtENXDfA_Nz6iQxW7eGuCbu&scope=openid%20profile%20eudi_pid&state=E-mJcfr4cobaSy4EVGQTOH40PfEwgW_V&response_type=vp_token

Fluxul (end-to-end)

  1. Utilizatorul apasă Sign in → browser face GET /oidc/authorize/
  2. ForTrust returnează pagină cu QR + pornește polling la /oidc/userinfo/{session_id}/
  3. Utilizatorul scanează QR-ul cu portofelul EUDI (sau tap "Open wallet" same-device)
  4. Wallet-ul face POST /oidc/response/ cu vp_token
  5. ForTrust verifică semnătura + trust chain + policy, marchează sesiunea completed
  6. Browser-ul primește verdictul, afișează claims + RP e notificat la redirect_uri?code=&state=
  7. RP apelează GET /oidc/userinfo/{session_id}/ → primește claims verificate