Package-level declarations

Types

Link copied to clipboard

Represents a DPoP (Demonstrating Proof of Possession) key pair, which consists of a public and private key pair.

Link copied to clipboard
abstract class DpopKeyPairSerializer(val publicKeyFormat: DpopKeyPair.PublicKeyFormat, val privateKeyFormat: DpopKeyPair.PrivateKeyFormat) : KSerializer<DpopKeyPair>
Link copied to clipboard
class OAuthApi(httpClient: HttpClient, challengeSelector: OAuthCodeChallengeMethodSelector, random: Random = CryptographyRandom, clock: Clock = Clock.System)

Implementation to build a URL that will interact with a hosted OAuth service.

Link copied to clipboard
data class OAuthAuthorizationRequest(val authorizeRequestUrl: String, val expiresIn: Duration, val codeVerifier: String, val state: String, val nonce: String)

Represents an OAuth authorization request.

Link copied to clipboard
data class OAuthClient(val clientId: String, val redirectUri: String)

Represents an OAuth client with its client ID and redirect URI.

Link copied to clipboard
abstract class OAuthCodeChallengeMethod(val method: String)

Represents an OAuth code challenge method that the OAuth server will use to verify the code challenge.

Link copied to clipboard

Interface for selecting an OAuth code challenge method based on the supported methods provided by the OAuth authorization server.

Link copied to clipboard
data class OAuthScope(val value: String)

OAuth scopes allow more granular control over the resources and actions a client is granted access to.

Link copied to clipboard
data class OAuthToken(val accessToken: String, val refreshToken: String, val keyPair: DpopKeyPair, val expiresIn: Duration, val scopes: List<OAuthScope>, val subject: Did, val nonce: String)

Represents an OAuth token received after a successful authorization or refresh request.