package mn.max import io.micronaut.context.annotation.Value import io.micronaut.security.token.jwt.signature.rsa.RSASignatureConfiguration import java.security.KeyFactory import java.security.interfaces.RSAPublicKey import java.security.spec.X509EncodedKeySpec import java.util.* import javax.inject.Named import javax.inject.Singleton @Singleton @Named("validation") class JwtSecurityConfig : RSASignatureConfiguration { @Value("\${jwt-config.key:MISSING_KEY}") var key = "TODO" override fun getPublicKey(): RSAPublicKey { val publicKey = KeyFactory.getInstance("RSA") .generatePublic(X509EncodedKeySpec(Base64.getDecoder().decode(key))) return publicKey as RSAPublicKey } }