ClientAuthenticationService

class ClientAuthenticationService(enforceClientAuthentication: Boolean = false, verifyJwsObject: VerifyJwsObjectFun = VerifyJwsObject(), verifyJwsSignatureWithCnf: VerifyJwsSignatureWithCnfFun = VerifyJwsSignatureWithCnf(), verifyClientAttestationJwt: suspend (JwsCompactTyped<JsonWebToken>) -> Boolean = { true }, clock: Clock = Clock.System, timeLeeway: Duration = 5.minutes, issuerIdentifier: String? = null)(source)

Simple client authentication service for an OAuth2.0 AS.

Implemented from OAuth 2.0 Attestation-Based Client Authentication

Constructors

Link copied to clipboard
constructor(enforceClientAuthentication: Boolean = false, verifyJwsObject: VerifyJwsObjectFun = VerifyJwsObject(), verifyJwsSignatureWithCnf: VerifyJwsSignatureWithCnfFun = VerifyJwsSignatureWithCnf(), verifyClientAttestationJwt: suspend (JwsCompactTyped<JsonWebToken>) -> Boolean = { true }, clock: Clock = Clock.System, timeLeeway: Duration = 5.minutes, issuerIdentifier: String? = null)

Functions

Link copied to clipboard
suspend fun authenticateClient(httpRequest: RequestInfo?, clientId: String?)

Authenticates the client as defined in OpenID4VC HAIP, i.e. with client attestation JWT. Throws an exception if authentication fails. Honors enforceClientAuthentication.