Spring til hovedindhold

Credential Offer

Et Credential Offer er den meddelelse, en udsteder sender til en wallet for at starte udstedelse under OpenID4VCI: den navngiver udstederen, angiver hvilke credentials der tilbydes, og fortæller wallet'en, hvordan den må hente dem.

I praksis er Credential Offer det, der ligger bag QR-koden på en udstedelsesside eller linket i en e-mail eller app. Det kan leveres by value, indlejret direkte i et openid-credential-offer://-deep link eller QR-payload, eller by reference, som en URL wallet'en henter for at hente samme indhold, hvilket holder koden kort, når tilbuddet navngiver flere credentials eller bærer en lang issuer state. At scanne eller åbne det giver wallet'en udstederens URL og en eller flere credential-konfigurationsidentifikatorer plus et grant, der afgør resten af forløbet: et authorization code grant sender først indehaveren gennem udstederens eget login, nyttigt når tilbuddet blev genereret på en anden enhed end den, der gennemfører forløbet, mens et pre-authorized code grant bruges, når indehaveren allerede blev autentificeret dér, hvor tilbuddet blev oprettet, f.eks. lige efter login på en offentlig portal, eventuelt beskyttet af en transaction code vist på samme kanal, så en kode opsnappet undervejs ikke kan indløses af en anden. Derfra læser wallet'en udstederens metadata for at finde ud af, hvad de navngivne credentials faktisk indeholder, ombytter grantet til en adgangstoken hos udstederens token endpoint, og kalder credential endpointet for at hente det, der blev tilbudt, ét credential eller en batch ad gangen, afhængigt af hvad udstederen understøtter.

Hvorfor beder nogle Credential Offers om en transaction code, mens andre ikke gør?

En transaction code kræves, når tilbuddet bruger et pre-authorized code grant, da indehaveren allerede blev autentificeret på en anden kanal, og koden beviser, at personen, der scanner tilbuddet, er den samme person, den kanal autentificerede. Et authorization code grant sender i stedet indehaveren gennem udstederens eget login som en del af forløbet, så der ikke er nogen separat kanal at binde og ingen kode nødvendig.

Tilbage til ordlisten