move JWT secret into ENV
This commit is contained in:
@@ -124,7 +124,7 @@ fun Application.module(env: Env = PROD) {
|
||||
}
|
||||
}
|
||||
|
||||
install(Authentication, jwtInstallation(get()))
|
||||
install(Authentication, jwtInstallation(get(), get()))
|
||||
|
||||
install(AutoHeadResponse)
|
||||
|
||||
|
||||
@@ -43,4 +43,15 @@ class Configuration(val config: Config) {
|
||||
val rabbitmq: String = config.getString("rabbitmq.connection")
|
||||
val exchangeNotificationName = "notification"
|
||||
val sendGridKey: String = config.getString("mail.sendGrid.key")
|
||||
|
||||
interface Jwt {
|
||||
val secret: String
|
||||
val issuer: String
|
||||
val validityInMs: Int
|
||||
}
|
||||
val jwt = object : Jwt {
|
||||
override val secret = config.getString("jwt.secret")
|
||||
override val issuer = config.getString("jwt.issuer")
|
||||
override val validityInMs = config.getInt("jwt.validity")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.fasterxml.jackson.datatype.joda.JodaModule
|
||||
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
||||
import com.rabbitmq.client.ConnectionFactory
|
||||
import fr.dcproject.common.email.Mailer
|
||||
import fr.dcproject.component.auth.jwt.JwtConfig
|
||||
import fr.dcproject.component.notification.NotificationConsumer
|
||||
import fr.dcproject.component.notification.NotificationEmailSender
|
||||
import fr.dcproject.component.notification.NotificationsPush
|
||||
@@ -25,6 +26,19 @@ import org.koin.dsl.module
|
||||
|
||||
@KtorExperimentalAPI
|
||||
val KoinModule = module {
|
||||
// JWT
|
||||
single {
|
||||
val config: Configuration = get()
|
||||
JwtConfig(
|
||||
config.jwt.secret,
|
||||
config.jwt.issuer,
|
||||
config.jwt.validityInMs,
|
||||
)
|
||||
}
|
||||
// JWT Verifier
|
||||
single {
|
||||
get<JwtConfig>().verifier
|
||||
}
|
||||
// SQL connection
|
||||
single {
|
||||
val config: Configuration = get()
|
||||
|
||||
Reference in New Issue
Block a user