Credential Offer
Et Credential Offer er meldingen en utsteder sender til en lommebok for å starte utstedelse under OpenID4VCI: den navngir utstederen, sier hvilke credentials som tilbys, og forteller lommeboken hvordan den kan hente dem.
I praksis er en credential offer det som ligger bak QR-koden på en utstedelsesside eller lenken i en e-post eller app. Den kan leveres by value, innebygd direkte i en openid-credential-offer://-deep-link eller QR-nyttelast, eller by reference, som en URL wallet-en henter for å hente det samme innholdet, noe som holder koden kort når tilbudet navngir flere credentials eller inneholder en lang issuer-state. Å skanne eller åpne den gir wallet-en utstederens URL og én eller flere credential configuration-identifikatorer, samt en grant som avgjør resten av flyten: en authorization code grant sender innehaveren gjennom utstederens egen innlogging først, nyttig når tilbudet ble generert på en annen enhet enn den som fullfører flyten, mens en pre-authorized code grant brukes når innehaveren allerede var autentisert der tilbudet ble opprettet, for eksempel rett etter innlogging på en offentlig portal, valgfritt beskyttet av en transaksjonskode vist på den samme kanalen slik at en kode fanget opp underveis ikke kan løses inn av noen andre. Derfra leser wallet-en utstederens metadata for å lære hva de navngitte credentials faktisk inneholder, bytter grant mot en tilgangstoken hos utstederens token-endepunkt, og kaller credential-endepunktet for å hente det som ble tilbudt, ett credential eller en batch om gangen avhengig av hva utstederen støtter.
Relaterte begreper
Hvorfor ber noen Credential Offers om en transaksjonskode mens andre ikke gjør det?
En transaksjonskode kreves når tilbudet bruker en pre-authorized code grant, siden innehaveren allerede ble autentisert på en annen kanal, og koden beviser at personen som skanner tilbudet er den samme personen den kanalen autentiserte. En authorization code grant sender i stedet innehaveren gjennom utstederens egen innlogging som del av flyten, så det finnes ingen egen kanal å binde og ingen kode trengs.