package be.vandewalleh.auth import com.auth0.jwt.JWT import com.auth0.jwt.JWTVerifier import com.auth0.jwt.algorithms.Algorithm import java.util.* import java.util.concurrent.TimeUnit class SimpleJWT(secret: String, validity: Long, unit: TimeUnit) { private val validityInMs = TimeUnit.MILLISECONDS.convert(validity, unit) private val algorithm = Algorithm.HMAC256(secret) val verifier: JWTVerifier = JWT.require(algorithm).build() fun sign(id: Int): String = JWT.create() .withClaim("id", id) .withExpiresAt(getExpiration()) .sign(algorithm) private fun getExpiration() = Date(System.currentTimeMillis() + validityInMs) }