Package-level declarations

Types

Link copied to clipboard
interface AccessTokens
Link copied to clipboard
fun interface AuthServerDiscovery

How an authentication client can get the information about the authorization server

Link copied to clipboard
data class OAuthAuthorizationServer(val serverUri: Uri, val serverMetadata: ServerMetadata)
Link copied to clipboard
class OAuthOfflineRequestAuthorizer(config: OAuthProviderConfig, accessTokens: AccessTokens, backend: HttpHandler, authRequestFilter: Filter, gracePeriod: Duration = Duration.ofSeconds(10), clock: Clock = Clock.systemUTC(), accessTokenExtractor: AccessTokenExtractor = ContentTypeJsonOrForm())
Link copied to clipboard
data class TokenRequest(val grant_type: String, val refresh_token: String?, val client_id: String?, val code: String?, val redirect_uri: Uri?)

Properties

Functions

Link copied to clipboard
fun ClientFilters.AutoDiscoveryOAuthToken(authServerDiscovery: AuthServerDiscovery, credentials: Credentials, backend: HttpHandler, clock: Clock = Clock.systemUTC(), scopes: List<String> = emptyList(), oAuthFlowFilter: Filter = ClientFilters.OAuthClientCredentials(credentials, scopes), gracePeriod: Duration = Duration.ofSeconds(10)): Filter
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun ClientFilters.OAuthClientCredentials(clientCredentials: Credentials, scopes: List<String> = emptyList()): Filter
Link copied to clipboard
fun ClientFilters.OAuthOffline(config: OAuthProviderConfig, refreshToken: RefreshToken, backend: HttpHandler, accessTokens: AccessTokens = AccessTokens.None(), authRequestFilter: Filter = BasicAuth(config.credentials)): Filter
Link copied to clipboard
fun ClientFilters.OAuthRefreshToken(clientCredentials: Credentials, token: RefreshToken, scopes: List<String> = emptyList()): Filter
fun ClientFilters.OAuthRefreshToken(config: OAuthProviderConfig, token: RefreshToken, scopes: List<String> = emptyList()): Filter
Link copied to clipboard
fun ClientFilters.OAuthUserCredentials(clientCredentials: Credentials, userCredentials: Credentials, scopes: List<String>): Filter
Link copied to clipboard
fun ClientFilters.RefreshingOAuthToken(config: OAuthProviderConfig, backend: HttpHandler, gracePeriod: Duration = Duration.ofSeconds(10), clock: Clock = Clock.systemUTC(), scopes: List<String> = emptyList(), oAuthFlowFilter: Filter = ClientFilters.OAuthClientCredentials(config.credentials, scopes)): Filter

fun ClientFilters.RefreshingOAuthToken(oauthCredentials: Credentials, tokenUri: Uri, backend: HttpHandler, gracePeriod: Duration = Duration.ofSeconds(10), clock: Clock = Clock.systemUTC(), tokenExtractor: AccessTokenExtractor = ContentTypeJsonOrForm(), scopes: List<String> = emptyList(), oAuthFlowFilter: Filter = ClientFilters.OAuthClientCredentials(oauthCredentials, scopes = scopes)): Filter

Filter to authenticate and refresh against a OAuth server. Use the correct OAuth filter for your flow. e.g. ClientFilters.ClientCredentials()