ktor-auth / io.ktor.auth / io.ktor.util.pipeline.PipelineContext

Extensions for io.ktor.util.pipeline.PipelineContext

oauth

suspend fun PipelineContext<Unit, ApplicationCall>.oauth(client: HttpClient, dispatcher: CoroutineDispatcher, providerLookup: ApplicationCall.() -> OAuthServerSettings?, urlProvider: ApplicationCall.(OAuthServerSettings) -> String): Unit

Install both OAuth1a and OAuth2 authentication helpers that do redirect to OAuth server authorization page and handle corresponding callbacks

oauthHandleCallback

suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit

Handle OAuth callback. Usually it leads to requesting an access token.

suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, configure: HttpRequestBuilder.() -> Unit = {}, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit

Handle OAuth callback.

oauthRespondRedirect

suspend fun PipelineContext<Unit, ApplicationCall>.oauthRespondRedirect(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String): Unit

Respond OAuth redirect