backend-api/src/main/kotlin/eu/maiora/Application.kt
francescods cd597a52c2 implementazione metodo di verifica JWT
secret in file di configurazione application.config
2025-02-18 16:06:15 +01:00

42 lines
1.3 KiB
Kotlin

package eu.maiora
import eu.maiora.plugins.configureDatabases
import eu.maiora.plugins.*
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.config.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
import io.ktor.server.plugins.callloging.*
import io.ktor.server.plugins.cors.routing.*
fun main() {
embeddedServer(Netty, port = 8098, host = "0.0.0.0", module = Application::module)
.start(wait = true)
}
fun Application.module() {
val config = ApplicationConfig("application.conf")
val dbUrl = config.property("ktor.database.url").getString()
val username = config.property("ktor.database.username").getString()
val password = config.property("ktor.database.password").getString()
val secret = config.property("ktor.jwt.secret").getString()
configureDatabases(dbUrl, username, password)
configureSecurity(secret)
configureRouting(dbUrl, username, password)
configureSerialization()
install(CallLogging)
install(CORS){
anyHost()
allowSameOrigin = true
allowNonSimpleContentTypes = true
allowHeader(HttpHeaders.AccessControlAllowOrigin)
allowHeader(HttpHeaders.ContentType)
allowMethod(HttpMethod.Options)
allowMethod(HttpMethod.Put)
allowMethod(HttpMethod.Patch)
allowMethod(HttpMethod.Delete)
}
}