IssuerMetadata

@Serializable
data class IssuerMetadata(val issuer: String? = null, val credentialIssuer: String, val authorizationServers: Set<String>? = null, val credentialEndpointUrl: String, val nonceEndpointUrl: String? = null, val deferredCredentialEndpointUrl: String? = null, val notificationEndpointUrl: String? = null, val credentialResponseEncryption: SupportedAlgorithmsContainer? = null, val credentialRequestEncryption: SupportedAlgorithmsContainer? = null, val batchCredentialIssuance: BatchCredentialIssuanceMetadata? = null, val displayProperties: Set<DisplayProperties>? = null, val supportedCredentialConfigurations: Map<String, SupportedCredentialFormat>? = null)(source)

Metadata about the credential issuer in OpenID4VCI

Credential Issuers publishing metadata MUST make a JSON document available at the path formed by inserting the string /.well-known/openid-credential-issuer into the Credential Issuer Identifier between the host component and the path component, if any.

Constructors

Link copied to clipboard
constructor(issuer: String? = null, credentialIssuer: String, authorizationServers: Set<String>? = null, credentialEndpointUrl: String, nonceEndpointUrl: String? = null, deferredCredentialEndpointUrl: String? = null, notificationEndpointUrl: String? = null, credentialResponseEncryption: SupportedAlgorithmsContainer? = null, credentialRequestEncryption: SupportedAlgorithmsContainer? = null, batchCredentialIssuance: BatchCredentialIssuanceMetadata? = null, displayProperties: Set<DisplayProperties>? = null, supportedCredentialConfigurations: Map<String, SupportedCredentialFormat>? = null)

Properties

Link copied to clipboard
@SerialName(value = "authorization_servers")
val authorizationServers: Set<String>? = null

OID4VCI: OPTIONAL. Array of strings, where each string is an identifier of the OAuth 2.0 Authorization Server (as defined in RFC8414) the Credential Issuer relies on for authorization. If this parameter is omitted, the entity providing the Credential Issuer is also acting as the Authorization Server, i.e., the Credential Issuer's identifier is used to obtain the Authorization Server metadata.

Link copied to clipboard
@SerialName(value = "batch_credential_issuance")
val batchCredentialIssuance: BatchCredentialIssuanceMetadata? = null

OID4VCI: OPTIONAL. Object containing information about the Credential Issuer's supports for batch issuance of Credentials on the Credential Endpoint. The presence of this parameter means that the issuer supports the proofs parameter in the Credential Request so can issue more than one Verifiable Credential for the same Credential Dataset in a single request/response.

Link copied to clipboard
@SerialName(value = "credential_endpoint")
val credentialEndpointUrl: String

OID4VCI: REQUIRED. URL of the Credential Issuer's Credential Endpoint. This URL MUST use the https scheme and MAY contain port, path and query parameter components.

Link copied to clipboard
@SerialName(value = "credential_issuer")
val credentialIssuer: String

OID4VCI: REQUIRED. The Credential Issuer's identifier, by a case sensitive URL using the https scheme that contains scheme, host and, optionally, port number and path components, but no query or fragment components

Link copied to clipboard
@SerialName(value = "credential_request_encryption")
val credentialRequestEncryption: SupportedAlgorithmsContainer? = null

OID4VCI: OPTIONAL. Object containing information about whether the Credential Issuer supports encryption of the Credential Request on top of TLS.

Link copied to clipboard
@SerialName(value = "credential_response_encryption")
val credentialResponseEncryption: SupportedAlgorithmsContainer? = null

OID4VCI: OPTIONAL. Object containing information about whether the Credential Issuer supports encryption of the Credential and Batch Credential Response on top of TLS.

Link copied to clipboard
@SerialName(value = "deferred_credential_endpoint")
val deferredCredentialEndpointUrl: String? = null

OID4VCI: OPTIONAL. URL of the Credential Issuer's Deferred Credential Endpoint, as defined in Section 8. This URL MUST use the https scheme and MAY contain port, path, and query parameter components. If omitted, the Credential Issuer does not support the Deferred Credential Endpoint.

Link copied to clipboard
@SerialName(value = "display")
val displayProperties: Set<DisplayProperties>? = null

OID4VCI: OPTIONAL. An array of objects, where each object contains display properties of a Credential Issuer for a certain language.

Link copied to clipboard
@SerialName(value = "issuer")
val issuer: String? = null

OIDC Discovery: REQUIRED. URL using the https scheme with no query or fragment component that the OP asserts as its Issuer Identifier. If Issuer discovery is supported (see Section 2), this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this Issuer.

Link copied to clipboard
@SerialName(value = "nonce_endpoint")
val nonceEndpointUrl: String? = null

OID4VCI: OPTIONAL. URL of the Credential Issuer's Nonce Endpoint, as defined in Section 7. This URL MUST use the https scheme and MAY contain port, path, and query parameter components. If omitted, the Credential Issuer does not support the Nonce Endpoint.

Link copied to clipboard
@SerialName(value = "notification_endpoint")
val notificationEndpointUrl: String? = null

OID4VCI: OPTIONAL. URL of the Credential Issuer's Notification Endpoint, as defined in Section 10. This URL MUST use the https scheme and MAY contain port, path, and query parameter components. If omitted, the Credential Issuer does not support the Notification Endpoint.

Link copied to clipboard
@SerialName(value = "credential_configurations_supported")
val supportedCredentialConfigurations: Map<String, SupportedCredentialFormat>? = null

OID4VCI: REQUIRED. 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 as defined in Section 4.1.1 to communicate to the Wallet which Credential is being offered, see CredentialOffer.