api

http4k / org.http4k.security / OAuthProvider

OAuthProvider

class OAuthProvider

Provides a configured set of objects for use with an OAuth2 provider.

Constructors

Name Summary
<init> Provides a configured set of objects for use with an OAuth2 provider.OAuthProvider(providerConfig: OAuthProviderConfig, client: HttpHandler, callbackUri: Uri, scopes: List<String>, oAuthPersistence: OAuthPersistence, modifyAuthState: (Uri) -> Uri = { it }, generateCrsf: CsrfGenerator = SECURE_CSRF, nonceGenerator: NonceGenerator = SECURE_NONCE, responseType: ResponseType = ResponseType.Code, idTokenConsumer: IdTokenConsumer = IdTokenConsumer.NoOp, accessTokenFetcherAuthenticator: AccessTokenFetcherAuthenticator = ClientSecretAccessTokenFetcherAuthenticator(providerConfig), jwtRedirectionUriBuilder: (RequestJwts) -> RedirectionUriBuilder = ::uriBuilderWithRequestJwt, standardRedirectionUrlBuilder: RedirectionUriBuilder = defaultUriBuilder)

Properties

Name Summary
api val api: HttpHandler
authFilter val authFilter: OAuthRedirectionFilter
callback val callback: OAuthCallback
callbackEndpoint val callbackEndpoint: RoutingHttpHandler
providerConfig val providerConfig: OAuthProviderConfig
scopes val scopes: List<String>

Functions

Name Summary
authFilter fun authFilter(requestJwts: RequestJwts): OAuthRedirectionFilter

Companion Object Extension 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