Saltar al contenido principal

Digital Credentials API

La Digital Credentials API es la API de navegador del W3C que permite a un sitio web solicitar una credencial a una cartera del mismo dispositivo. La solicitud se entrega al sistema operativo, en lugar de depender de un código QR o de un enlace profundo propio.

Un sitio web llama a navigator.credentials.get() con una solicitud de credencial digital que indica un protocolo de presentación y lleva como carga útil la propia solicitud de ese protocolo. El navegador pasa la solicitud al sistema operativo, que muestra un selector nativo con las carteras instaladas en el dispositivo, y la cartera que elige el titular devuelve su respuesta de protocolo a través de la misma llamada. La API solo transporta el intercambio: qué se pide, qué se revela y cómo se verifica la respuesta siguen definidos por el protocolo que va dentro. Una llamada complementaria, navigator.credentials.create(), hace lo mismo para la emisión, de modo que un sitio puede entregar un Credential Offer a una cartera de la misma forma.

Antes de que existiera, una presentación en el dispositivo que el titular ya estaba usando implicaba o bien un código QR que el teléfono que lo mostraba no podía escanear, o bien un enlace profundo que tenía que adivinar qué cartera estaba instalada. Encaminar la solicitud a través del sistema operativo elimina ambos problemas: el titular obtiene un único selector nativo que abarca todas las carteras del dispositivo, y el sitio nunca tiene que detectar ni nombrar una cartera por sí mismo. El navegador también añade el origen que hace la llamada a la solicitud, de modo que la cartera puede mostrar al titular qué sitio la pide y rechazar una solicitud copiada de otro lugar. Eso es lo que hace que el flujo resista el phishing y los ataques de retransmisión.

La API es deliberadamente neutral respecto al protocolo, y en el ecosistema EUDI Wallet importan dos vinculaciones: OpenID4VP define su propio perfil para la API, e ISO/IEC 18013-7 Annex C vincula a ella el mismo intercambio mdoc. El EUDI ARF la contempla como la forma de mejorar la presentación remota, siempre que el navegador aporte el origen de la parte confiante para que una Wallet Unit pueda saber quién pregunta, y siempre que un flujo entre dispositivos mantenga una comprobación de proximidad entre ambos. Así, el device retrieval de ISO/IEC 18013-5 sigue siendo el canal presencial, y la API del navegador no lo sustituye.

El soporte ya no es experimental. La API está activada por defecto en Chrome para Android y para escritorio, y en Safari en las versiones recientes de Apple, mientras que Firefox no la ha activado. Los navegadores aún difieren en qué protocolos y formatos de credencial aceptan, y en escritorio suele funcionar emparejándose con un teléfono que contiene la cartera, no guardando credenciales en el navegador. Trátela como una mejora para los navegadores y dispositivos que la admiten, y mantenga el flujo con código QR o redirección para los demás.

Lea la explicación completa

Esta página ofrece la definición breve. Nuestra explicación muestra lo que significa en la práctica: quién interviene, cómo funciona y qué cambia para su organización.

Digital Credentials API explicada

¿Sustituye la Digital Credentials API a OpenID4VP?

No. La API es el canal de entrega: lleva una solicitud de un sitio web a una cartera a través del sistema operativo y devuelve la respuesta. Qué contiene la solicitud y cómo se verifica la respuesta sigue definido por un protocolo, OpenID4VP para una solicitud de presentación o ISO/IEC 18013-7 Annex C para un intercambio mdoc. Una parte confiante que ya trabaja con OpenID4VP conserva la misma solicitud y la misma verificación, y gana una forma mejor de entregarla en el dispositivo que el titular ya está usando.

Volver al glosario