api

http4k / org.http4k.security

Package org.http4k.security

Code relevant to interfacing with security mechanisms such as OAuth servers.

Types

Name Summary
AccessToken data class AccessToken
AccessTokenDetails data class AccessTokenDetails
AccessTokenFetcher class AccessTokenFetcher
AccessTokenFetcherAuthenticator interface AccessTokenFetcherAuthenticator
AccessTokenResponse data class AccessTokenResponse
ClientSecretAccessTokenFetcherAuthenticator class ClientSecretAccessTokenFetcherAuthenticator : AccessTokenFetcherAuthenticator
CrossSiteRequestForgeryToken data class CrossSiteRequestForgeryToken
CsrfGenerator typealias CsrfGenerator = () -> CrossSiteRequestForgeryToken
InsecureCookieBasedOAuthPersistence This is an example implementation which stores CSRF and AccessToken values in an INSECURE client-side cookie. Access-tokens for end-services are fully available to the browser so do not use this in production!class InsecureCookieBasedOAuthPersistence : OAuthPersistence
OAuthCallback class OAuthCallback : HttpHandler
OAuthPersistence Provides persistence for OAuth lifecycle values:interface OAuthPersistence
OAuthProvider Provides a configured set of objects for use with an OAuth2 provider.class OAuthProvider
OAuthProviderConfig data class OAuthProviderConfig
OAuthRedirectionFilter class OAuthRedirectionFilter : Filter
RedirectionUriBuilder typealias RedirectionUriBuilder = (Uri, AuthRequest, state: State, nonce: Nonce?) -> Uri
ResponseMode enum class ResponseMode
ResponseType enum class ResponseType
State data class State

Properties

Name Summary
accessTokenResponseBody val accessTokenResponseBody: BiDiBodyLens<AccessTokenResponse>
defaultUriBuilder val defaultUriBuilder: RedirectionUriBuilder

Functions

Name Summary
<no name provided> fun <no name provided>(): Unit
fragmentParameter fun Uri.fragmentParameter(name: String, value: String?): Uri
Retrieves the first fragment parameter value with this name.fun Request.fragmentParameter(name: String): String?
(Copy &) Adds a query value with this name.fun Request.fragmentParameter(name: String, value: String?): Request
fragmentParameters fun Uri.fragmentParameters(): Parameters
Retrieves all fragment parameters with this name.fun Request.fragmentParameters(name: String): List<String?>
removeFragmentParameter fun Uri.removeFragmentParameter(name: String): Uri
uriBuilderWithRequestJwt fun uriBuilderWithRequestJwt(requestJwts: RequestJwts): (Uri, AuthRequest, State, Nonce?) -> Uri

Companion Object Functions

Name Summary
auth0 Preconfigured OAuthProviders go hereā€¦fun OAuthProvider.Companion.auth0(auth0Uri: Uri, client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence): OAuthProvider
dropbox fun OAuthProvider.Companion.dropbox(client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence): OAuthProvider
facebook fun OAuthProvider.Companion.facebook(client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence, scopes: List<String> = listOf("email")): OAuthProvider
gitHub fun OAuthProvider.Companion.gitHub(client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence, scopes: List<String> = listOf()): OAuthProvider
google fun OAuthProvider.Companion.google(client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence, scopes: List<String> = listOf("openid")): OAuthProvider
soundCloud fun OAuthProvider.Companion.soundCloud(client: HttpHandler, credentials: Credentials, callbackUri: Uri, oAuthPersistence: OAuthPersistence): OAuthProvider