Digital Credentials API
Die Digital Credentials API ist die W3C-Browser-API, mit der eine Website ein Credential von einer Wallet auf demselben Gerät anfordert. Die Anfrage geht dabei an das Betriebssystem, statt über einen QR-Code oder einen eigenen Deep Link zu laufen.
Eine Website ruft navigator.credentials.get() mit einer Anfrage nach einem digitalen Credential auf, die ein Präsentationsprotokoll benennt und die eigene Anfrage dieses Protokolls als Payload mitführt. Der Browser reicht die Anfrage an das Betriebssystem weiter, das eine systemeigene Auswahl der auf dem Gerät installierten Wallets anzeigt, und die Wallet, die der Inhaber wählt, gibt ihre Protokollantwort über denselben Aufruf zurück. Die API transportiert nur den Austausch: Was angefragt wird, was offengelegt wird und wie die Antwort geprüft wird, legt weiterhin das Protokoll darin fest. Ein ergänzender Aufruf navigator.credentials.create() leistet dasselbe für die Ausstellung, sodass eine Website ein Credential Offer auf die gleiche Weise an eine Wallet übergeben kann.
Vorher bedeutete eine Präsentation auf dem Gerät, das der Inhaber ohnehin nutzte, entweder einen QR-Code, den das Smartphone, auf dem er angezeigt wurde, nicht scannen konnte, oder einen Deep Link, der raten musste, welche Wallet installiert war. Die Weiterleitung der Anfrage über das Betriebssystem löst beide Probleme: Der Inhaber erhält eine einzige systemeigene Auswahl für alle Wallets auf dem Gerät, und die Website muss nie selbst eine Wallet erkennen oder benennen. Der Browser fügt der Anfrage außerdem den aufrufenden Origin hinzu, sodass die Wallet dem Inhaber zeigen kann, welche Website anfragt, und eine Anfrage ablehnen kann, die von anderswo kopiert wurde. Das macht den Ablauf widerstandsfähig gegen Phishing- und Relay-Angriffe.
Die API ist bewusst protokollneutral, und im EUDI Wallet-Ökosystem zählen zwei Anbindungen: OpenID4VP definiert ein eigenes Profil für die API, und ISO/IEC 18013-7 Annex C bindet denselben mdoc-Austausch daran an. Das EUDI ARF behandelt sie als Weg, die Präsentation aus der Ferne zu verbessern, sofern der Browser den Origin der vertrauenden Partei mitliefert, damit eine Wallet Unit erkennen kann, wer anfragt, und sofern ein Cross-Device-Ablauf eine Näheprüfung zwischen den beiden Geräten beibehält. ISO/IEC 18013-5 Device Retrieval bleibt damit der Kanal für die Vorlage vor Ort und wird nicht durch die Browser-API ersetzt.
Die Unterstützung ist nicht mehr experimentell. Die API ist in Chrome auf Android und auf dem Desktop sowie in Safari auf aktuellen Apple-Versionen standardmäßig aktiviert, während Firefox sie nicht aktiviert hat. Browser unterscheiden sich noch darin, welche Protokolle und Credential-Formate sie akzeptieren, und auf dem Desktop funktioniert es in der Regel über die Kopplung mit einem Smartphone, auf dem die Wallet liegt, nicht über im Browser gespeicherte Credentials. Behandeln Sie sie als Verbesserung für die Browser und Geräte, die sie unterstützen, und behalten Sie den QR-Code- oder Redirect-Ablauf für alle anderen bei.
Die vollständige Erklärung lesen
Diese Seite gibt die kurze Definition. Unsere Erklärung zeigt, was das in der Praxis bedeutet: wer beteiligt ist, wie es funktioniert und was sich für Ihre Organisation ändert.
Digital Credentials API erklärtVerwandte Begriffe
Ersetzt die Digital Credentials API OpenID4VP?
Nein. Die API ist der Zustellweg: Sie bringt eine Anfrage von einer Website über das Betriebssystem zu einer Wallet und die Antwort zurück. Was die Anfrage enthält und wie die Antwort geprüft wird, legt weiterhin ein Protokoll fest, OpenID4VP für eine Präsentationsanfrage oder ISO/IEC 18013-7 Annex C für einen mdoc-Austausch. Eine vertrauende Partei, die bereits OpenID4VP spricht, behält dieselbe Anfrage und dieselbe Prüfung und gewinnt einen besseren Weg, sie auf dem Gerät zuzustellen, das der Inhaber ohnehin nutzt.