ktor-auth
Module Contents
alltypes
Module Contents
typealias ApplicationCallPredicate = (ApplicationCall) -> Boolean
class Authentication
class AuthenticationContext
sealed class AuthenticationFailedCause
typealias AuthenticationFunction<C> = suspend ApplicationCall.(credentials: C) -> Principal?
class AuthenticationPipeline : Pipeline<AuthenticationContext, ApplicationCall>
class AuthenticationProcedureChallenge
open class AuthenticationProvider
class AuthenticationRouteSelector : RouteSelector
class BasicAuthenticationProvider : AuthenticationProvider
interface Credential
object DefaultOAuth2StateProvider : OAuth2StateProvider
class DigestAuthenticationProvider : AuthenticationProvider
data class DigestCredential : Credential
typealias DigestProviderFunction = suspend (userName: String, realm: String) -> ByteArray?
class ForbiddenResponse : NoContent
sealed class FormAuthChallenge
typealias FormAuthChallengeFunction = suspend PipelineContext<*, ApplicationCall>.(UserPasswordCredential?) -> Unit
class FormAuthenticationProvider : AuthenticationProvider
sealed class OAuth1aException : Exception
sealed class OAuth2Exception : Exception
object OAuth2RequestParameters
object OAuth2ResponseParameters
interface OAuth2StateProvider
sealed class OAuthAccessTokenResponse : Principal
class OAuthAuthenticationProvider : AuthenticationProvider
sealed class OAuthCallback
object OAuthGrantTypes
sealed class OAuthServerSettings
Module Contents
class OAuth1aServerSettings : OAuthServerSettings
Module Contents
OAuth1aServerSettings(name: String, requestTokenUrl: String, authorizeUrl: String, accessTokenUrl: String, consumerKey: String, consumerSecret: String)
OAuth1aServerSettings(name: String, requestTokenUrl: String, authorizeUrl: String, accessTokenUrl: String, consumerKey: String, consumerSecret: String, accessTokenInterceptor: HttpRequestBuilder.() -> Unit = {})
val accessTokenInterceptor: HttpRequestBuilder.() -> Unit
val accessTokenUrl: String
val authorizeUrl: String
val consumerKey: String
val consumerSecret: String
val requestTokenUrl: String
class OAuth2ServerSettings : OAuthServerSettings
Module Contents
OAuth2ServerSettings(name: String, authorizeUrl: String, accessTokenUrl: String, requestMethod: HttpMethod = HttpMethod.Get, clientId: String, clientSecret: String, defaultScopes: List<String> = emptyList(), accessTokenRequiresBasicAuth: Boolean = false, nonceManager: NonceManager = GenerateOnlyNonceManager, authorizeUrlInterceptor: URLBuilder.() -> Unit = {}, passParamsInURL: Boolean = false)
OAuth2ServerSettings(name: String, authorizeUrl: String, accessTokenUrl: String, requestMethod: HttpMethod = HttpMethod.Get, clientId: String, clientSecret: String, defaultScopes: List<String> = emptyList(), accessTokenRequiresBasicAuth: Boolean = false, nonceManager: NonceManager = GenerateOnlyNonceManager, authorizeUrlInterceptor: URLBuilder.() -> Unit = {}, passParamsInURL: Boolean = false, accessTokenInterceptor: HttpRequestBuilder.() -> Unit = {})
val accessTokenInterceptor: HttpRequestBuilder.() -> Unit
val accessTokenRequiresBasicAuth: Boolean
val accessTokenUrl: String
val authorizeUrl: String
val authorizeUrlInterceptor: URLBuilder.() -> Unit
val clientId: String
val clientSecret: String
val defaultScopes: List<String>
val nonceManager: NonceManager
val passParamsInURL: Boolean
val requestMethod: HttpMethod
val name: String
val version: OAuthVersion
enum class OAuthVersion
interface Principal
sealed class SessionAuthChallenge<in T : Any>
typealias SessionAuthChallengeFunction<T> = suspend PipelineContext<*, ApplicationCall>.(T?) -> Unit
class SessionAuthenticationProvider<T : Any> : AuthenticationProvider
class UnauthorizedResponse : NoContent
class UserHashedTableAuth
data class UserIdPrincipal : Principal
data class UserPasswordCredential : Credential
io.ktor.application.Application
io.ktor.application.ApplicationCall
io.ktor.http.auth.HttpAuthHeader.Parameterized
io.ktor.request.ApplicationRequest
io.ktor.routing.Route
io.ktor.util.pipeline.PipelineContext
Module Contents
suspend fun PipelineContext<Unit, ApplicationCall>.oauth(client: HttpClient, dispatcher: CoroutineDispatcher, providerLookup: ApplicationCall.() -> OAuthServerSettings?, urlProvider: ApplicationCall.(OAuthServerSettings) -> String): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, configure: HttpRequestBuilder.() -> Unit = {}, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthRespondRedirect(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String): Unit
package io.ktor.auth
Module Contents
typealias ApplicationCallPredicate = (ApplicationCall) -> Boolean
class Authentication
class AuthenticationContext
sealed class AuthenticationFailedCause
typealias AuthenticationFunction<C> = suspend ApplicationCall.(credentials: C) -> Principal?
class AuthenticationPipeline : Pipeline<AuthenticationContext, ApplicationCall>
class AuthenticationProcedureChallenge
open class AuthenticationProvider
class AuthenticationRouteSelector : RouteSelector
class BasicAuthenticationProvider : AuthenticationProvider
interface Credential
object DefaultOAuth2StateProvider : OAuth2StateProvider
class DigestAuthenticationProvider : AuthenticationProvider
data class DigestCredential : Credential
typealias DigestProviderFunction = suspend (userName: String, realm: String) -> ByteArray?
class ForbiddenResponse : NoContent
sealed class FormAuthChallenge
typealias FormAuthChallengeFunction = suspend PipelineContext<*, ApplicationCall>.(UserPasswordCredential?) -> Unit
class FormAuthenticationProvider : AuthenticationProvider
sealed class OAuth1aException : Exception
sealed class OAuth2Exception : Exception
object OAuth2RequestParameters
object OAuth2ResponseParameters
interface OAuth2StateProvider
sealed class OAuthAccessTokenResponse : Principal
class OAuthAuthenticationProvider : AuthenticationProvider
sealed class OAuthCallback
object OAuthGrantTypes
val OAuthKey: Any
sealed class OAuthServerSettings
Module Contents
class OAuth1aServerSettings : OAuthServerSettings
Module Contents
OAuth1aServerSettings(name: String, requestTokenUrl: String, authorizeUrl: String, accessTokenUrl: String, consumerKey: String, consumerSecret: String)
OAuth1aServerSettings(name: String, requestTokenUrl: String, authorizeUrl: String, accessTokenUrl: String, consumerKey: String, consumerSecret: String, accessTokenInterceptor: HttpRequestBuilder.() -> Unit = {})
val accessTokenInterceptor: HttpRequestBuilder.() -> Unit
val accessTokenUrl: String
val authorizeUrl: String
val consumerKey: String
val consumerSecret: String
val requestTokenUrl: String
class OAuth2ServerSettings : OAuthServerSettings
Module Contents
OAuth2ServerSettings(name: String, authorizeUrl: String, accessTokenUrl: String, requestMethod: HttpMethod = HttpMethod.Get, clientId: String, clientSecret: String, defaultScopes: List<String> = emptyList(), accessTokenRequiresBasicAuth: Boolean = false, nonceManager: NonceManager = GenerateOnlyNonceManager, authorizeUrlInterceptor: URLBuilder.() -> Unit = {}, passParamsInURL: Boolean = false)
OAuth2ServerSettings(name: String, authorizeUrl: String, accessTokenUrl: String, requestMethod: HttpMethod = HttpMethod.Get, clientId: String, clientSecret: String, defaultScopes: List<String> = emptyList(), accessTokenRequiresBasicAuth: Boolean = false, nonceManager: NonceManager = GenerateOnlyNonceManager, authorizeUrlInterceptor: URLBuilder.() -> Unit = {}, passParamsInURL: Boolean = false, accessTokenInterceptor: HttpRequestBuilder.() -> Unit = {})
val accessTokenInterceptor: HttpRequestBuilder.() -> Unit
val accessTokenRequiresBasicAuth: Boolean
val accessTokenUrl: String
val authorizeUrl: String
val authorizeUrlInterceptor: URLBuilder.() -> Unit
val clientId: String
val clientSecret: String
val defaultScopes: List<String>
val nonceManager: NonceManager
val passParamsInURL: Boolean
val requestMethod: HttpMethod
val name: String
val version: OAuthVersion
enum class OAuthVersion
interface Principal
sealed class SessionAuthChallenge<in T : Any>
typealias SessionAuthChallengeFunction<T> = suspend PipelineContext<*, ApplicationCall>.(T?) -> Unit
const val SessionAuthChallengeKey: String
class SessionAuthenticationProvider<T : Any> : AuthenticationProvider
class UnauthorizedResponse : NoContent
class UserHashedTableAuth
data class UserIdPrincipal : Principal
data class UserPasswordCredential : Credential
fun Configuration.basic(name: String? = null, configure: Configuration.() -> Unit): Unit
fun createObtainRequestTokenHeader(: String, : String, : String, : LocalDateTime = LocalDateTime.now()): Parameterized
fun createUpgradeRequestTokenHeader(: String, : String, : String, : LocalDateTime = LocalDateTime.now()): Parameterized
fun Configuration.digest(name: String? = null, configure: Configuration.() -> Unit): Unit
fun DigestCredential.expectedDigest(method: HttpMethod, digester: MessageDigest, userNameRealmPasswordDigest: ByteArray): ByteArray
fun Configuration.form(name: String? = null, configure: Configuration.() -> Unit): Unit
io.ktor.application.Application
io.ktor.application.ApplicationCall
io.ktor.http.auth.HttpAuthHeader.Parameterized
io.ktor.request.ApplicationRequest
io.ktor.routing.Route
io.ktor.util.pipeline.PipelineContext
Module Contents
suspend fun PipelineContext<Unit, ApplicationCall>.oauth(client: HttpClient, dispatcher: CoroutineDispatcher, providerLookup: ApplicationCall.() -> OAuthServerSettings?, urlProvider: ApplicationCall.(OAuthServerSettings) -> String): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthHandleCallback(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String, loginPageUrl: String, configure: HttpRequestBuilder.() -> Unit = {}, block: suspend (OAuthAccessTokenResponse) -> Unit): Unit
suspend fun PipelineContext<Unit, ApplicationCall>.oauthRespondRedirect(client: HttpClient, dispatcher: CoroutineDispatcher, provider: OAuthServerSettings, callbackUrl: String): Unit
fun Configuration.oauth(name: String? = null, configure: Configuration.() -> Unit): Unit
inline fun <reified T : Principal> Configuration.session(name: String? = null, challenge: SessionAuthChallenge<T>): Unit
inline fun <reified T : Principal> Configuration.session(name: String? = null): Unit
inline fun <reified T : Any> Configuration.session(name: String? = null, configure: Configuration<T>.() -> Unit): Unit
fun signatureBaseString(: Parameterized, : HttpMethod, : String, : List<HeaderValueParam>): String
suspend fun DigestCredential.verifier(method: HttpMethod, digester: MessageDigest, userNameRealmPasswordDigest: suspend (String, String) -> ByteArray?): Boolean
suspend fun verifyWithOAuth2(credential: UserPasswordCredential, client: HttpClient, settings: OAuth2ServerSettings): OAuth2