object TestAuthProvider : AuthProvider {
private const val USERNAME_KEY = "username"
private const val PASSWORD_KEY = "password"
- private const val REMEMBER_ME_KEY = "remember-me"
private const val PASSWORD_VALUE = "very secure"
- private const val REMEMBER_ME_VALUE = "yes"
override fun installApplication(app: Application) {
app.install(DoubleReceive)
User.put(it)
}
- val formParams = receiveOrNull<Parameters>()
- val timeToRemember = if (formParams?.get(REMEMBER_ME_KEY) == REMEMBER_ME_VALUE)
- 31_556_925_216L // 1 solar year
- else
- 3_600_000L // 1 hour
-
UserSession(
user = user.id,
clientAddresses = listOf(originAddress),
userAgent = userAgent,
- expirationMillis = System.currentTimeMillis() + timeToRemember
+ expirationMillis = System.currentTimeMillis() + 3_600_000L
).also {
UserSession.put(it)
}
+msg
}
}
- p {
- label {
- htmlFor = REMEMBER_ME_KEY
- checkBoxInput {
- id = REMEMBER_ME_KEY
- name = REMEMBER_ME_KEY
- value = REMEMBER_ME_VALUE
- }
- +"Remember Me"
- }
- }
submitInput {
value = "Authenticate"
}