offerWithPreAuthnForUserForSchemes
suspend fun offerWithPreAuthnForUserForSchemes(user: OidcUserInfoExtended, credentialIssuer: String, schemes: Set<Pair<CredentialScheme, CredentialRepresentation>> = emptySet(), transactionCode: String? = null, transactionCodeDescriptor: CredentialOfferGrantsPreAuthCodeTransactionCode? = transactionCode?.let { CredentialOfferGrantsPreAuthCodeTransactionCode(length = it.length) }): CredentialOffer(source)
Offer all available schemes from strategy to clients.
Callers need to encode this in CredentialOfferUrlParameters, and offer the resulting URL to clients, i.e. by displaying a QR Code that can be scanned with wallet apps.
Parameters
user
used to create the credential when the wallet app requests the credential
credentialIssuer
the public context of an CredentialIssuer
schemes
which credential configuration IDs to use in the offer. Pass an empty set to offer all known schemes.
transactionCode
OID4VCI transaction code the user has to enter in the wallet app, to be transmitted to them out-of-band. Recommended, since anyone who reads the offer (e.g. by photographing the QR code) can otherwise redeem the pre-authorized code.
transactionCodeDescriptor
describes transactionCode to the wallet app, so it can render an input screen