ApiKey

class ApiKey(header: String = HttpHeaders.Authorization, scheme: String = "ApiKey", keyProvider: suspend () -> String?) : KAuthProvider(source)

Injects an API key either in a custom header or as Authorization: ApiKey <key>.

Parameters

header

Header name. Defaults to Authorization.

scheme

Scheme prefix when using the Authorization header. Ignored when header is not Authorization. Defaults to "ApiKey".

keyProvider

Suspend lambda returning the current API key.

Examples:

// X-Api-Key: my-secret
KAuthProvider.ApiKey(header = "X-Api-Key") { "my-secret" }

// Authorization: ApiKey my-secret
KAuthProvider.ApiKey { "my-secret" }

// Authorization: Token my-secret
KAuthProvider.ApiKey(scheme = "Token") { "my-secret" }

Constructors

Link copied to clipboard
constructor(header: String = HttpHeaders.Authorization, scheme: String = "ApiKey", keyProvider: suspend () -> String?)