Renormalize session expiration time
authorTheSaminator <TheSaminator@users.noreply.github.com>
Sat, 9 Apr 2022 17:56:03 +0000 (13:56 -0400)
committerTheSaminator <TheSaminator@users.noreply.github.com>
Sat, 9 Apr 2022 17:56:03 +0000 (13:56 -0400)
src/jvmMain/kotlin/starshipfights/auth/providers.kt
src/jvmMain/kotlin/starshipfights/auth/utils.kt

index 96b4c89359a4978efcddef66919b6bf31d724ffe..bf19be4a230ab566bae694ea70edc1e5383975c2 100644 (file)
@@ -419,7 +419,7 @@ object TestAuthProvider : AuthProvider {
                                                        user = user.id,
                                                        clientAddresses = listOf(originAddress),
                                                        userAgent = userAgent,
-                                                       expiration = Instant.now().plus(1, ChronoUnit.HOURS)
+                                                       expiration = newExpiration()
                                                ).also {
                                                        UserSession.put(it)
                                                }
@@ -598,7 +598,7 @@ class ProductionAuthProvider(private val discordLogin: DiscordLogin) : AuthProvi
                                                user = user.id,
                                                clientAddresses = if (user.logIpAddresses) listOf(call.request.origin.remoteHost) else emptyList(),
                                                userAgent = userAgent,
-                                               expiration = Instant.now().plus(1, ChronoUnit.HOURS)
+                                               expiration = newExpiration()
                                        )
                                        
                                        coroutineScope {
index 5e8307b3d2341bfd71316af92a70a6bd73da01ac..fb7b2401365d2f33b150e34124bcc1babc03284b 100644 (file)
@@ -20,8 +20,10 @@ suspend fun Id<UserSession>.resolve(userAgent: String) = UserSession.get(this)?.
        session.userAgent == userAgent && session.expiration > Instant.now()
 }
 
+fun newExpiration(): Instant = Instant.now().plus(2, ChronoUnit.HOURS)
+
 suspend fun UserSession.renewed(clientAddress: String) = copy(
-       expiration = Instant.now().plus(2, ChronoUnit.HOURS),
+       expiration = newExpiration(),
        clientAddresses = if (User.get(user)?.logIpAddresses != true)
                emptyList()
        else if (clientAddresses.lastOrNull() != clientAddress)