From 072dfa9a0bae5b7e9ea1caa97f6a90bd576a5d95 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Wed, 4 Sep 2024 01:25:31 -0400 Subject: Expire sessions after 90 days. --- src/login/extract/login.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/login/extract/login.rs') diff --git a/src/login/extract/login.rs b/src/login/extract/login.rs index f49933a..ce820f1 100644 --- a/src/login/extract/login.rs +++ b/src/login/extract/login.rs @@ -6,6 +6,7 @@ use axum::{ use sqlx::sqlite::SqlitePool; use crate::{ + clock::RequestedAt, error::InternalError, login::{ extract::IdentityToken, @@ -22,11 +23,13 @@ impl FromRequestParts for Login { state: &SqlitePool, ) -> Result { let identity_token = IdentityToken::from_request_parts(parts, state).await?; + let requested_at = RequestedAt::from_request_parts(parts, state).await?; let token = identity_token.token().ok_or(LoginError::Forbidden)?; let db = State::::from_request_parts(parts, state).await?; let mut tx = db.begin().await?; + tx.tokens().expire(requested_at.timestamp()).await?; let login = tx.tokens().validate(token).await?; tx.commit().await?; -- cgit v1.2.3