core/features/common/server/src/jvmMain/kotlin/dev/inmo/postssystem/features/common/server/ApplicationAuthenticationConfigurator.kt

18 lines
545 B
Kotlin
Raw Normal View History

2022-05-19 18:15:49 +00:00
package dev.inmo.postssystem.features.common.server
2021-11-24 07:52:27 +00:00
import dev.inmo.micro_utils.ktor.server.configurators.KtorApplicationConfigurator
2022-05-07 14:48:17 +00:00
import io.ktor.server.application.Application
import io.ktor.server.auth.*
2021-11-24 07:52:27 +00:00
class ApplicationAuthenticationConfigurator(
private val elements: List<Element>
) : KtorApplicationConfigurator {
2022-05-07 14:48:17 +00:00
fun interface Element { operator fun AuthenticationConfig.invoke() }
2021-11-24 07:52:27 +00:00
override fun Application.configure() {
authentication {
elements.forEach { it.apply { invoke() } }
}
}
}