Package-level declarations
Types
Contents of an OIDC Authentication Request.
Contents of an OIDC Authentication Response.
OID4VCI: Object containing information relevant to the usage and display of issued Credentials. Credential Format-specific mechanisms can overwrite the information in this object to convey Credential metadata. Format-specific mechanisms, such as SD-JWT VC display metadata are always preferred by the Wallet over the information in this object, which serves as the default fallback.
OID4VCI: Object indicating to the Wallet the Grant Types the Credential Issuer's Authorization Server is prepared to process for this Credential Offer. Every grant is represented by a name/value pair. The name is the Grant Type identifier; the value is an object that contains parameters either determining the way the Wallet MUST use the particular grant and/or parameters the Wallet MUST send with the respective request(s).
OID4VCI: The Credential Issuer sends Credential Offer using an HTTP GET request or an HTTP redirect to the Wallet's Credential Offer Endpoint defined in Section 11.1.The Credential Offer object, which is a JSON-encoded object with the Credential Offer parameters, can be sent by value or by reference.
OID4VCI: W3C VC: To express the specifics about the claim, the most deeply nested value MAY be an object that includes the following parameters defined by this specification (other parameters MAY also be used).
CSC-API v2.0.0.2 The authorization details type credential allows applications to pass the details of a certain credential authorization in a single JSON object
OID4VCI: OPTIONAL. Object with information about the logo of the Credential.
OID4VCI: OPTIONAL. A non-empty array of objects, where each object contains the display properties of the supported Credential for a certain language.
Metadata about the credential issuer in OpenID4VCI
Class that de-/serializes JwsSigned without respecting the generic type
Metadata about the credential issuer in SD-JWT VC
This implements RFC8414 All descriptions taken from section 2.
Holds a deserialized OidcUserInfo as well as a JsonObject with other properties, that could not been parsed into our data class OidcUserInfo. Will be used as a container to represent an authenticated user during the issuing process.
OID4VCI: The request parameter authorization_details defined in Section 2 of (RFC9396) MUST be used to convey the details about the Credentials the Wallet wants to obtain. This specification introduces a new authorization details type openid_credential and defines the following parameters to be used with this authorization details type.
Contents of a response to a pushed authorization request, see OAuth 2.0 Pushed Authorization Requests
D3.1: UC Specification WP3: Transaction data entry used to gather the user’s consent to the terms of service of the Verifier (e.g. the QTSP)
D3.1: UC Specification WP3: Transaction data entry used to authorize a qualified electronic signature
OpenID4VP: This request is (optionally) sent from the wallet when requesting the Request Object from the Verifier.
Any set of parameters that might need complex parsing. See at.asitplus.wallet.lib.openid.RequestParser Uses open serialization in order to avoid type-discriminator in serialization
In order to de-/serialize generic types we need a kind of factory approach Because we deal with a sealed class we can use an intermediary jsonSerializer, find the correct object and the specific type of the generic type and then finalize the serialization
TODO RequestObjectParameters can never be serialized into! (needs non-nullable field in either AuthenticationRequestParameters or RequestObjectParameters)
Intermediate class to transport the source of parsed AuthenticationResponseParameters
In the Wallet centric model this is the request coming from the Driving application to the wallet which starts the process
OID4VCI: Object that describes specifics of the Credential that the Credential Issuer supports issuance of. This object contains a list of name/value pairs, where each name is a unique identifier of the supported Credential being described. This identifier is used in the Credential Offer to communicate to the Wallet which Credential is being offered.
OID4VCI: W3C VC: REQUIRED. Object containing the detailed description of the Credential type. It consists of at least the following two parameters: type, credentialSubject`.
RFC 7662: OAuth 2.0 Token Introspection: Request.
RFC 7662: OAuth 2.0 Token Introspection: Response.
OID4VP Draft 24: OPTIONAL. Array of strings, where each string is a base64url encoded JSON object that contains a typed parameter set with details about the transaction that the Verifier is requesting the End-User to authorize.
Denotes a JSON string containing a Base64Url encoded TransactionData element This is useful in classes defined in OpenID4VP since JSON string representation is not strongly standardized (normal vs pretty-print etc) so de-/serialization between different parties with different serializer settings may lead to erroneous request rejection.
OID4VP 1.0: OPTIONAL. A non-empty array of attestations about the Verifier relevant to the Credential Request. These attestations MAY include Verifier metadata, policies, trust status, or authorizations. Attestations are intended to support authorization decisions, inform Wallet policy enforcement, or enrich the End-User consent dialog.
OID4VP: An object containing a list of name/value pairs, where the name is a Credential Format Identifier and the value defines format-specific parameters that a Wallet supports. For specific values that can be used, see Appendix B. Deployments can extend the formats supported, provided Issuers, Holders and Verifiers all understand the new format.