RequestParser

class RequestParser(remoteResourceRetriever: RemoteResourceRetrieverFunction = { null }, requestObjectJwsVerifier: RequestObjectJwsVerifier = RequestObjectJwsVerifier { _: Any -> true }, ephemeralEncryptionKeyService: EphemeralEncryptionKeyService? = null, decryptRequestObject: DecryptJweFun? = ephemeralEncryptionKeyService?.let { DecryptJweWithEphemeralKey(it) }, requireEncryptedRequests: Boolean = false, buildRequestObjectParameters: suspend () -> RequestObjectParameters? = { null })(source)

Constructors

Link copied to clipboard
constructor(remoteResourceRetriever: RemoteResourceRetrieverFunction = { null }, requestObjectJwsVerifier: RequestObjectJwsVerifier = RequestObjectJwsVerifier { _: Any -> true }, ephemeralEncryptionKeyService: EphemeralEncryptionKeyService? = null, decryptRequestObject: DecryptJweFun? = ephemeralEncryptionKeyService?.let { DecryptJweWithEphemeralKey(it) }, requireEncryptedRequests: Boolean = false, buildRequestObjectParameters: suspend () -> RequestObjectParameters? = { null })

Functions

Link copied to clipboard

Resolves the request object of the JAR request in parameters, either from request, or by fetching the request_uri with remoteResourceRetriever.

Link copied to clipboard
suspend fun parseRequestParameters(input: String): KmmResult<RequestParametersFrom<*>>

Pass in the request by a relying party, that is either a complete URL, or the POST body (e.g. the form-serialized values of the authorization request), or a serialized JWS (which may have been extracted from a request parameter), to parse the AuthenticationRequestParameters, wrapped in RequestParametersFrom.