Naar hoofdinhoud

Digital Credentials API

De Digital Credentials API is de W3C-browser-API waarmee een website een credential opvraagt bij een wallet op hetzelfde apparaat. Het verzoek gaat naar het besturingssysteem, in plaats van via een QR-code of een eigen deeplink.

Een website roept navigator.credentials.get() aan met een verzoek om een digitale credential dat een presentatieprotocol noemt en het eigen verzoek van dat protocol als payload meestuurt. De browser geeft het verzoek door aan het besturingssysteem, dat een systeemkeuzescherm toont met de wallets die op het apparaat staan, en de wallet die de houder kiest stuurt zijn protocolantwoord via dezelfde aanroep terug. De API vervoert alleen de uitwisseling: wat er gevraagd wordt, wat er wordt vrijgegeven en hoe het antwoord wordt geverifieerd, blijft allemaal vastgelegd in het protocol erbinnen. Een bijbehorende aanroep navigator.credentials.create() doet hetzelfde voor uitgifte, zodat een site op dezelfde manier een credential offer aan een wallet kan overdragen.

Voordat dit bestond, betekende een presentatie op het apparaat dat de houder al gebruikte ofwel een QR-code die de telefoon waarop hij stond niet kon scannen, ofwel een deeplink die moest raden welke wallet er geïnstalleerd was. Door het verzoek via het besturingssysteem te laten lopen, verdwijnen beide problemen: de houder krijgt één systeemkeuzescherm voor alle wallets op het apparaat, en de site hoeft zelf nooit een wallet te detecteren of te benoemen. De browser voegt ook de aanroepende origin aan het verzoek toe, zodat de wallet de houder kan laten zien welke site vraagt en een verzoek kan weigeren dat ergens anders vandaan is gekopieerd. Dat maakt de flow bestand tegen phishing- en relay-aanvallen.

De API is bewust protocolneutraal, en in het EUDI Wallet-ecosysteem tellen twee koppelingen: OpenID4VP definieert een eigen profiel voor de API, en ISO/IEC 18013-7 Annex C koppelt dezelfde mdoc-uitwisseling eraan. Het EUDI ARF bespreekt de API als manier om presentatie op afstand te verbeteren, mits de browser de origin van de vertrouwende partij meegeeft zodat een Wallet Unit kan vaststellen wie er vraagt, en mits een cross-device-flow een nabijheidscontrole tussen de twee apparaten behoudt. ISO/IEC 18013-5 device retrieval blijft daarmee het kanaal voor presentatie ter plekke, en wordt niet door de browser-API vervangen.

De ondersteuning is niet langer experimenteel. De API staat standaard aan in Chrome op Android en op desktop, en in Safari op recente Apple-releases, terwijl Firefox hem niet heeft ingeschakeld. Browsers verschillen nog in welke protocollen en credentialformaten ze accepteren, en op desktop werkt het meestal door te koppelen met een telefoon waarop de wallet staat, niet door credentials in de browser op te slaan. Zie het als een verbetering voor de browsers en apparaten die het ondersteunen, en houd de QR-code- of redirect-flow aan voor de rest.

Lees de volledige uitleg

Deze pagina geeft de korte definitie. Onze uitleg laat zien wat het in de praktijk betekent: wie erbij betrokken is, hoe het werkt en wat er verandert voor uw organisatie.

Digital Credentials API uitgelegd

Vervangt de Digital Credentials API OpenID4VP?

Nee. De API is het bezorgkanaal: hij brengt een verzoek van een website via het besturingssysteem naar een wallet en brengt het antwoord terug. Wat het verzoek bevat en hoe het antwoord wordt geverifieerd, blijft vastgelegd in een protocol: OpenID4VP voor een presentatieverzoek of ISO/IEC 18013-7 Annex C voor een mdoc-uitwisseling. Een vertrouwende partij die al OpenID4VP spreekt, houdt hetzelfde verzoek en dezelfde verificatie, en krijgt er een betere manier bij om het te bezorgen op het apparaat dat de houder al gebruikt.

Terug naar de woordenlijst