Package-level declarations

Types

Link copied to clipboard
@Serializable(with = DCQLClaimsQuerySerializer::class)
interface DCQLClaimsQuery
Link copied to clipboard
@Serializable
value class DCQLClaimsQueryIdentifier(val string: String)

A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.

Link copied to clipboard

A non-empty array of objects as defined in Section 6.3 that specifies claims in the requested Credential.

Link copied to clipboard
sealed interface DCQLClaimsQueryResult
Link copied to clipboard
object DCQLClaimsQuerySerializer : JsonContentPolymorphicSerializer<DCQLClaimsQuery>
Link copied to clipboard
Link copied to clipboard
sealed interface DCQLCredentialQuery
Link copied to clipboard
@Serializable
value class DCQLCredentialQueryIdentifier(val string: String)

A string identifying the Credential in the response and, if provided, the constraints in credential_sets. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the Authorization Request, the same id MUST NOT be present more than once.

Link copied to clipboard
@Serializable
data class DCQLCredentialQueryInstance(val id: DCQLCredentialQueryIdentifier, val format: CredentialFormatEnum, val meta: DCQLCredentialMetadataAndValidityConstraints = DCQLEmptyCredentialMetadataAndValidityConstraints, val claims: DCQLClaimsQueryList<DCQLClaimsQuery>? = null, val claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null, val multiple: Boolean? = false, val trustedAuthorities: List<String>? = null, val requireCryptographicHolderBinding: Boolean? = true) : DCQLCredentialQuery
Link copied to clipboard

Relevant references: OID4VP draft 23: A non-empty array of Credential Queries as defined in Section 6.1 that specify the requested Verifiable Credentials.

Link copied to clipboard
Link copied to clipboard
object DCQLCredentialQuerySerializer : JsonContentPolymorphicSerializer<DCQLCredentialQuery>
Link copied to clipboard
@Serializable
data class DCQLCredentialSetQuery(val options: NonEmptyList<List<DCQLCredentialQueryIdentifier>>, val required: Boolean = true)

6.2. Credential Set Query

Link copied to clipboard
@Serializable
data class DCQLCredentialSubmissionOption<Credential : Any>(val credential: Credential, val matchingResult: DCQLCredentialQueryMatchingResult)

Passes an empty constraint object as per https://github.com/openid/OpenID4VP/issues/590

Link copied to clipboard
Link copied to clipboard
@Serializable
data class DCQLIsoMdocClaimsQuery(val id: DCQLClaimsQueryIdentifier? = null, val values: List<DCQLExpectedClaimValue>? = null, val path: DCQLClaimsPathPointer? = null, val namespace: String? = null, val claimName: String? = null, val intentToRetain: Boolean? = null) : DCQLClaimsQuery
Link copied to clipboard
@Serializable
data class DCQLIsoMdocCredentialQuery(val id: DCQLCredentialQueryIdentifier, val format: CredentialFormatEnum, val meta: DCQLIsoMdocCredentialMetadataAndValidityConstraints, val claims: DCQLClaimsQueryList<DCQLIsoMdocClaimsQuery>? = null, val claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null, val multiple: Boolean? = false, val trustedAuthorities: List<String>? = null, val requireCryptographicHolderBinding: Boolean? = true) : DCQLCredentialQuery
Link copied to clipboard
@Serializable
data class DCQLJsonClaimsQuery(val id: DCQLClaimsQueryIdentifier? = null, val values: List<DCQLExpectedClaimValue>? = null, val path: DCQLClaimsPathPointer) : DCQLClaimsQuery
Link copied to clipboard
@Serializable
data class DCQLQuery(val credentials: DCQLCredentialQueryList<DCQLCredentialQuery>, val credentialSets: NonEmptyList<DCQLCredentialSetQuery>? = null)
Link copied to clipboard
data class DCQLQueryResult<Credential : Any>(val credentialQueryMatches: Map<DCQLCredentialQueryIdentifier, List<DCQLCredentialSubmissionOption<Credential>>>, val satisfiableCredentialSetQueries: List<DCQLCredentialSetQuery>)
Link copied to clipboard
@Serializable
data class DCQLSdJwtCredentialQuery(val id: DCQLCredentialQueryIdentifier, val format: CredentialFormatEnum, val meta: DCQLSdJwtCredentialMetadataAndValidityConstraints, val claims: DCQLClaimsQueryList<DCQLJsonClaimsQuery>? = null, val claimSets: NonEmptyList<List<DCQLClaimsQueryIdentifier>>? = null, val multiple: Boolean? = false, val trustedAuthorities: List<String>? = null, val requireCryptographicHolderBinding: Boolean? = true) : DCQLCredentialQuery

6.1. Credential Query