summaryrefslogtreecommitdiff
path: root/src/login/extract
diff options
context:
space:
mode:
Diffstat (limited to 'src/login/extract')
-rw-r--r--src/login/extract/login.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/login/extract/login.rs b/src/login/extract/login.rs
index 4155ec2..a5f648b 100644
--- a/src/login/extract/login.rs
+++ b/src/login/extract/login.rs
@@ -8,10 +8,7 @@ use crate::{
app::App,
clock::RequestedAt,
error::InternalError,
- login::{
- extract::IdentityToken,
- repo::{logins::Login, tokens::Provider as _},
- },
+ login::{extract::IdentityToken, repo::logins::Login},
};
#[async_trait::async_trait]
@@ -24,15 +21,12 @@ impl FromRequestParts<App> for Login {
//
// let Ok(identity_token) = IdentityToken::from_request_parts(parts, state).await;
let identity_token = IdentityToken::from_request_parts(parts, state).await?;
- let RequestedAt(requested_at) = RequestedAt::from_request_parts(parts, state).await?;
+ let RequestedAt(used_at) = RequestedAt::from_request_parts(parts, state).await?;
let secret = identity_token.secret().ok_or(LoginError::Forbidden)?;
let app = State::<App>::from_request_parts(parts, state).await?;
- let mut tx = app.db.begin().await?;
- tx.tokens().expire(requested_at).await?;
- let login = tx.tokens().validate(secret, requested_at).await?;
- tx.commit().await?;
+ let login = app.logins().validate(secret, used_at).await?;
login.ok_or(LoginError::Forbidden)
}