Package-level declarations
Types
Provides generation and single-use validation of short-lived codes, e.g. authorization codes, pre-authorized codes, or issuer_state values.
Provide authentication and authorization for credential issuance.
Provides the actual data of the user as a credential that shall be issued
Input for CredentialDataProviderFun to resolve the actual data of the user:
Server implementation to issue credentials using OID4VCI.
Defines mapping of CredentialScheme to identifiers used in OID4VCI in CredentialIssuer (keys in at.asitplus.openid.IssuerMetadata.supportedCredentialConfigurations, and SupportedCredentialFormat.scope) and CredentialAuthorizationServiceStrategy (in at.asitplus.openid.OpenIdAuthorizationDetails.credentialConfigurationId).
Holds valid codes in memory, delegating to nonceService, i.e. entries are protected with a mutex and expire after the lifetime of that service.
Server implementation to handle credential request decryption and credential response encryption using OID4VCI.
Used in OID4VCI by CredentialIssuer to obtain user data when issuing credentials using OID4VCI.
OAuth2/OIDC error representation for issuer and wallet flows. Use to model protocol errors and serialize them for responses.
Interface used in at.asitplus.wallet.lib.oauth2.AuthorizationService to actually load user data during the OAuth 2.0 flow, after an authn request (see AuthenticationRequestParameters) has been validated.
Names and values of an application/x-www-form-urlencoded payload.
Server implementation to issue credentials using OID4VCI.
Wallet implementation to handle credential request encryption and credential response decryption using OID4VCI.
Client service to retrieve credentials using OID4VCI
Properties
Json instance for FormParameters, lenient so that it can decode the unquoted values of URL query parameters.
Functions
Deserializes the percent-encoded parameters of a POST body into T.
Deserializes a percent-encoded URL query into T.
Deserializes already-decoded FormParameters into T, decoding percent-encoding once more.
Whether the member serialized as name is a string, for descriptors that have members at all.
Returns true if the other authorization detail is semantically the same, i.e., it has the same OpenIdAuthorizationDetails.credentialConfigurationId.
Empty strings can not be decoded by io.ktor.http.decodeURLQueryComponent, so we'll need to filter it.