object MockJwkProvider : JwkProvider { overridefunget(keyId: String): Jwk? { // If 'null' values are not allowed, provide defaults (empty list, empty string, etc.) return Jwk( "6f8856ed-9189-488f-9011-0ff4b6c08edc", "RSA", "RSA256", // Provide a default algorithm if needed null, // Provide a default usage if needed emptyList<String>(), // Provide a default list null, // Provide an empty string if it's allowed emptyList<String>(), // Provide an empty list null, // Provide an empty string mapOf( "e" to "AQAB", "n" to "tfJaLrzXILUg1U3N1KV8yJr92GHn5OtYZR7qWk1Mc4cy4JGjklYup7weMjBD9f3bBVoIsiUVX6xNcYIr0Ie0AQ" ) ) } }
object Database { val url by lazy { environment.config.property("database.url").getString() } val user by lazy { environment.config.property("database.user").getString() } val password by lazy { environment.config.property("database.password").getString() } val driver by lazy { environment.config.property("database.driver").getString() } }
object Jwt { val domain by lazy { environment.config.property("jwt.domain").getString() } val audience by lazy { environment.config.property("jwt.audience").getString() } val issuer by lazy { environment.config.property("jwt.issuer").getString() } val realm by lazy { environment.config.property("jwt.realm").getString() } val privateKey by lazy { environment.config.property("jwt.privateKey").getString() } val jwkProvider: JwkProvider by lazy { if (Debug.enabled == "true") { // Use a mock JWK provider for testing MockJwkProvider } else { JwkProviderBuilder(domain) .cached(10, 24, TimeUnit.HOURS) .rateLimited(10, 1, TimeUnit.MINUTES) .build() } } }