DomainAuthHeaderSigner

open class DomainAuthHeaderSigner(url: String, requestTransformer: HttpRequestBuilder.() -> Unit, expiration: Duration) : DefaultAuthHeaderSigner

Auth header signer using remote server to form and sign the JWT. On calling createToken it will send JWTSignData to the specified url, expecting SignedJWT in response.

Constructors

Link copied to clipboard
fun DomainAuthHeaderSigner(url: String, requestTransformer: HttpRequestBuilder.() -> Unit = {}, expiration: Duration = 15.minutes)

Types

Link copied to clipboard
@Serializable
data class JWTSignData(claims: Map<String, String>, clientDomain: String, exp: Long, iat: Long)
Link copied to clipboard
@Serializable
data class SignedJWT(token: String)

Functions

Link copied to clipboard
fun createBuilder(timeExp: Instant, claims: Map<String, String>): JwtBuilder
Link copied to clipboard
open suspend override fun createToken(claims: Map<String, String>, clientDomain: String?, issuer: AccountKeyPair?): String
Link copied to clipboard
open suspend fun signToken(claims: Map<String, String>, clientDomain: String, expiration: Long, issuedAt: Long): String

Method to create and sign token on a remote server

Properties

Link copied to clipboard
val client: HttpClient
Link copied to clipboard
open override val expiration: Duration
Link copied to clipboard
val requestTransformer: HttpRequestBuilder.() -> Unit
Link copied to clipboard
val url: String