Credential Offer
Un Credential Offer este mesajul pe care un emitent îl trimite unui portofel pentru a începe emiterea conform OpenID4VCI: numește emitentul, spune ce credențiale sunt oferite și îi comunică portofelului cum îi este permis să le preia.
În practică, Credential Offer este ceea ce se află în spatele codului QR de pe o pagină de emitere sau al linkului dintr-un e-mail sau aplicație. Poate fi livrat by value, integrat direct într-un deep link openid-credential-offer:// sau într-un cod QR, sau by reference, ca un URL pe care portofelul îl preia pentru a obține același conținut, ceea ce menține codul scurt atunci când oferta numește mai multe acreditări sau transportă un issuer state lung. Scanarea sau deschiderea sa oferă portofelului URL-ul emitentului și unul sau mai mulți identificatori de configurație a acreditării, plus un grant care decide restul fluxului: un authorization code grant trece deținătorul mai întâi prin propriul login al emitentului, util atunci când oferta a fost generată pe un dispozitiv diferit de cel care finalizează fluxul, în timp ce un pre-authorized code grant este folosit atunci când deținătorul a fost deja autentificat acolo unde a fost creată oferta, de exemplu imediat după autentificarea într-un portal guvernamental, protejat opțional de un transaction code afișat pe același canal, astfel încât un cod interceptat în tranzit să nu poată fi valorificat de altcineva. De acolo, portofelul citește metadatele emitentului pentru a afla ce conțin efectiv acreditările numite, schimbă grant-ul cu un token de acces la token endpoint-ul emitentului, și apelează credential endpoint-ul pentru a colecta ce a fost oferit, o acreditare sau un lot deodată, în funcție de ce susține emitentul.
Termeni asociați
De ce unele Credential Offer cer un transaction code, iar altele nu?
Un transaction code este necesar ori de câte ori oferta folosește un pre-authorized code grant, deoarece deținătorul a fost deja autentificat pe alt canal, iar codul dovedește că persoana care scanează oferta este aceeași persoană autentificată pe acel canal. Un authorization code grant, în schimb, trece deținătorul prin propriul login al emitentului ca parte a fluxului, astfel încât nu există un canal separat de legat și niciun cod necesar.