Package-level declarations

Types

Link copied to clipboard
@Serializable
data class AuthenticationRequestParameters(val responseType: String? = null, val clientId: String, val redirectUrl: String? = null, val scope: String? = null, val state: String? = null, val nonce: String? = null, val claims: AuthnRequestClaims? = null, val clientMetadata: RelyingPartyMetadata? = null, val clientMetadataUri: String? = null, val idTokenHint: String? = null, val request: String? = null, val requestUri: String? = null, val idTokenType: String? = null, val presentationDefinition: PresentationDefinition? = null, val authorizationDetails: AuthorizationDetails? = null, val clientIdScheme: String? = null, val walletIssuer: String? = null, val userHint: String? = null, val issuerState: String? = null, val responseMode: String? = null, val responseUrl: String? = null, val audience: String? = null, val issuer: String? = null, val issuedAt: Instant? = null)

Contents of an OIDC Authentication Request.

Link copied to clipboard
@Serializable
data class AuthenticationResponseParameters(val code: String? = null, val idToken: String, val vpToken: String? = null, val presentationSubmission: PresentationSubmission? = null, val state: String? = null)

Contents of an OIDC Authentication Response.

Link copied to clipboard
@Serializable
data class AuthnRequestClaims(val idTokenMap: Map<String, AuthnRequestSingleClaim?>? = null, val userInfoMap: Map<String, AuthnRequestSingleClaim?>? = null)
Link copied to clipboard
@Serializable
data class AuthnRequestSingleClaim(val essential: Boolean? = null, val value: String? = null, val values: Array<String>? = null)
Link copied to clipboard
@Serializable
data class IdToken(val issuer: String, val audience: String, val issuedAt: Instant, val expiration: Instant, val subject: String, val nonce: String, val subjectJwk: JsonWebKey? = null)

OpenID Connect ID Token, usually signed as JWS in id_token in a URL

Link copied to clipboard
Link copied to clipboard
object IdTokenTypeSerializer : KSerializer<IdTokenType>
Link copied to clipboard
@Serializable
data class JsonWebKeySet(val keys: Collection<JsonWebKey>)
Link copied to clipboard
class OidcSiopVerifier(verifier: Verifier, relyingPartyUrl: String, agentPublicKey: CryptoPublicKey, jwsService: JwsService, verifierJwsService: VerifierJwsService, timeLeewaySeconds: Long = 300, clock: Clock = Clock.System)

Combines Verifiable Presentations with OpenId Connect. Implements OIDC for VP (2023-04-21) as well as SIOP V2 (2023-01-01).

Link copied to clipboard
class OidcSiopWallet(holder: Holder, agentPublicKey: CryptoPublicKey, jwsService: JwsService, verifierJwsService: VerifierJwsService = DefaultVerifierJwsService(), clock: Clock = Clock.System, clientId: String = "https://wallet.a-sit.at/", jwkSetRetriever: (String) -> JsonWebKeySet? = { null }, requestRetriever: (String) -> String? = { null })

Combines Verifiable Presentations with OpenId Connect. Implements OIDC for VP (2023-04-21) as well as SIOP V2 (2023-01-01).

Link copied to clipboard
Link copied to clipboard
@Serializable
data class RelyingPartyMetadata(val redirectUris: List<String>? = null, val jsonWebKeySet: JsonWebKeySet? = null, val jsonWebKeySetUrl: String? = null, val idTokenSignedResponseAlg: JwsAlgorithm? = null, val authorizationSignedResponseAlg: JwsAlgorithm? = null, val authorizationEncryptedResponseAlg: JweAlgorithm? = null, val authorizationEncryptedResponseEncoding: String? = null, val idTokenEncryptedResponseAlg: JweAlgorithm? = null, val idTokenEncryptedResponseEncoding: String? = null, val subjectSyntaxTypesSupported: List<String>, val vpFormats: FormatHolder? = null, val clientIdScheme: String? = "pre-registered")

Properties

Link copied to clipboard
val jsonSerializer: Json