Přejít na hlavní obsah

Digital Credentials API

Digital Credentials API je rozhraní API prohlížeče od W3C, které webu umožňuje vyžádat si pověření z peněženky ve stejném zařízení. Žádost předá operačnímu systému, takže se nemusí spoléhat na QR kód ani na vlastní deep link.

Web zavolá navigator.credentials.get() s žádostí o digitální pověření, která určuje prezentační protokol a jako obsah nese vlastní požadavek tohoto protokolu. Prohlížeč žádost předá operačnímu systému, který zobrazí nativní výběr peněženek nainstalovaných v zařízení, a peněženka zvolená držitelem vrátí odpověď protokolu stejným voláním. API výměnu pouze přenáší: co se žádá, co se zveřejní a jak se odpověď ověří, stále určuje protokol uvnitř. Doplňkové volání navigator.credentials.create() dělá totéž pro vydávání, takže web může stejným způsobem předat peněžence Credential Offer.

Dříve znamenala prezentace na zařízení, které držitel právě používal, buď QR kód, který telefon, jenž ho zobrazoval, nemohl naskenovat, nebo deep link, který musel hádat, jaká peněženka je nainstalovaná. Směrování žádosti přes operační systém odstraňuje oba problémy, protože držitel dostane jeden nativní výběr zahrnující všechny peněženky v zařízení a web nikdy nemusí peněženku sám zjišťovat ani jmenovat. Prohlížeč navíc k žádosti přidá původ (origin) volajícího webu, takže peněženka může držiteli ukázat, který web žádá, a odmítnout žádost zkopírovanou odjinud. Právě díky tomu je tento postup odolný vůči phishingu a relay útokům.

API je záměrně nezávislé na protokolu a v ekosystému EUDI Wallet jsou důležitá dvě navázání: OpenID4VP pro API definuje vlastní profil a ISO/IEC 18013-7 Annex C na něj váže stejnou výměnu mdoc. EUDI ARF ho uvádí jako způsob, jak zlepšit vzdálenou prezentaci, pokud prohlížeč předá origin spoléhající se strany, aby Wallet Unit mohla zjistit, kdo žádá, a pokud postup mezi dvěma zařízeními zachová kontrolu jejich blízkosti. Získávání dat ze zařízení podle ISO/IEC 18013-5 tak zůstává kanálem pro osobní předložení, nikoli něčím, co API prohlížeče nahrazuje.

Podpora už není experimentální. API je ve výchozím stavu zapnuté v Chrome na Androidu i na desktopu a v Safari v aktuálních verzích od Apple, zatímco Firefox ho nezapnul. Prohlížeče se stále liší v tom, které protokoly a formáty pověření přijímají, a podpora na desktopu obvykle funguje spárováním s telefonem, ve kterém je peněženka, nikoli ukládáním pověření v prohlížeči. Berte ho jako vylepšení pro prohlížeče a zařízení, která ho mají, a pro ostatní ponechte QR kód nebo postup s přesměrováním.

Přečtěte si úplné vysvětlení

Tato stránka uvádí krátkou definici. Naše vysvětlení ukazuje, co to znamená v praxi: kdo je zapojen, jak to funguje a co se změní pro vaši organizaci.

Digital Credentials API vysvětleno

Nahrazuje Digital Credentials API protokol OpenID4VP?

Ne. API je doručovací kanál: přenese žádost z webu do peněženky přes operační systém a odpověď přenese zpět. Co žádost obsahuje a jak se odpověď ověřuje, stále určuje protokol: OpenID4VP u žádosti o prezentaci nebo ISO/IEC 18013-7 Annex C u výměny mdoc. Spoléhající se strana, která už OpenID4VP používá, si ponechá stejnou žádost i stejné ověřování a získá lepší způsob, jak ji doručit na zařízení, které držitel právě používá.

Zpět do slovníku pojmů