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() } }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|