IssuerMetadata

@Serializable
data class IssuerMetadata(val issuer: String? = null, val credentialIssuer: String? = null, val authorizationServers: Set<String>? = null, val credentialEndpointUrl: String? = null, val tokenEndpointUrl: String? = null, val jsonWebKeySetUrl: String? = null, val authorizationEndpointUrl: String? = null, val batchCredentialEndpointUrl: String? = null, val deferredCredentialEndpointUrl: String? = null, val notificationEndpointUrl: String? = null, val credentialResponseEncryption: SupportedAlgorithmsContainer? = null, val supportsCredentialIdentifiers: Boolean? = false, val supportedCredentialConfigurations: Map<String, SupportedCredentialFormat>? = null, val displayProperties: Set<DisplayProperties>? = null, val responseTypesSupported: Set<String>? = null, val scopesSupported: Set<String>? = null, val subjectTypesSupported: Set<String>? = null, val idTokenSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null, val requestObjectSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null, val subjectSyntaxTypesSupported: Set<String>? = null, val idTokenTypesSupported: Set<IdTokenType>? = null, val presentationDefinitionUriSupported: Boolean = true, val vpFormatsSupported: VpFormatsSupported? = null, val clientIdSchemesSupported: Set<String>? = null)(source)

To be serialized into /.well-known/openid-credential-issuer

Constructors

Link copied to clipboard
constructor(issuer: String? = null, credentialIssuer: String? = null, authorizationServers: Set<String>? = null, credentialEndpointUrl: String? = null, tokenEndpointUrl: String? = null, jsonWebKeySetUrl: String? = null, authorizationEndpointUrl: String? = null, batchCredentialEndpointUrl: String? = null, deferredCredentialEndpointUrl: String? = null, notificationEndpointUrl: String? = null, credentialResponseEncryption: SupportedAlgorithmsContainer? = null, supportsCredentialIdentifiers: Boolean? = false, supportedCredentialConfigurations: Map<String, SupportedCredentialFormat>? = null, displayProperties: Set<DisplayProperties>? = null, responseTypesSupported: Set<String>? = null, scopesSupported: Set<String>? = null, subjectTypesSupported: Set<String>? = null, idTokenSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null, requestObjectSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null, subjectSyntaxTypesSupported: Set<String>? = null, idTokenTypesSupported: Set<IdTokenType>? = null, presentationDefinitionUriSupported: Boolean = true, vpFormatsSupported: VpFormatsSupported? = null, clientIdSchemesSupported: Set<String>? = null)

Types

Link copied to clipboard
object Companion

Properties

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

OIDC Discovery: REQUIRED. URL of the OP's OAuth 2.0 Authorization Endpoint (OpenID.Core).

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_endpoint")
val batchCredentialEndpointUrl: String? = null

OID4VCI: OPTIONAL. URL of the Credential Issuer's Batch 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 Batch Credential Endpoint.

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

OID4VP: OPTIONAL. Array of JSON Strings containing the values of the Client Identifier schemes that the Wallet supports. The values defined by this specification are pre-registered, redirect_uri, entity_id, did. If omitted, the default value is pre-registered.

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

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? = null

OID4VCI: REQUIRED. The Credential Issuer's identifier.

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 9. 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 = "id_token_signing_alg_values_supported")
val idTokenSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null

OIDC Discovery: REQUIRED. A JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT (RFC7519). Valid values include RS256, ES256, ES256K, and EdDSA.

Link copied to clipboard
@SerialName(value = "id_token_types_supported")
val idTokenTypesSupported: Set<IdTokenType>? = null

OIDC SIOPv2: OPTIONAL. A JSON array of strings containing the list of ID Token types supported by the OP, the default value is attester_signed_id_token (the id token is issued by the party operating the OP, i.e. this is the classical id token as defined in OpenID.Core), may also include subject_signed_id_token (Self-Issued ID Token, i.e. the id token is signed with key material under the end-user's control).

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 = "jwks_uri")
val jsonWebKeySetUrl: String? = null

OIDC Discovery: REQUIRED. URL of the OP's JSON Web Key Set document. This contains the signing key(s) the RP uses to validate signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs to encrypt requests to the Server.

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 = "presentation_definition_uri_supported")
val presentationDefinitionUriSupported: Boolean = true

OID4VP: OPTIONAL. Boolean value specifying whether the Wallet supports the transfer of presentation_definition by reference, with true indicating support. If omitted, the default value is true.

Link copied to clipboard
@SerialName(value = "request_object_signing_alg_values_supported")
val requestObjectSigningAlgorithmsSupported: Set<JwsAlgorithm>? = null

OIDC SIOPv2: REQUIRED. A JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects, which are described in Section 6.1 of OpenID.Core. Valid values include none, RS256, ES256, ES256K, and EdDSA.

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

OIDC Discovery: REQUIRED. JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values. OIDC SIOPv2: MUST be id_token.

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

OIDC SIOPv2: REQUIRED. A JSON array of strings representing supported scopes. MUST support the openid scope value.

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

OIDC SIOPv2: REQUIRED. A JSON array of strings representing URI scheme identifiers and optionally method names of supported Subject Syntax Types. Valid values include urn:ietf:params:oauth:jwk-thumbprint, did:example and others.

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

OIDC Discovery: REQUIRED. JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public.

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.

Link copied to clipboard
@SerialName(value = "credential_identifiers_supported")
val supportsCredentialIdentifiers: Boolean? = false

OID4VCI: OPTIONAL. Boolean value specifying whether the Credential Issuer supports returning AuthorizationDetails.credentialIdentifiers in the Token Response parameter, with true indicating support. If omitted, the default value is false.

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

OIDC Discovery: URL of the OP's OAuth 2.0 Token Endpoint (OpenID.Core). This is REQUIRED unless only the Implicit Flow is used.

Link copied to clipboard
@SerialName(value = "vp_formats_supported")
val vpFormatsSupported: VpFormatsSupported? = null

OID4VP: REQUIRED. An object containing a list of key value pairs, where the key is a string identifying a Credential format supported by the Wallet. Valid Credential format identifier values are defined in Annex E of OpenID.VCI. Other values may be used when defined in the profiles of this specification.

Functions

Link copied to clipboard