Add authentication with session cookie

This commit is contained in:
Lennart
2024-10-13 19:05:57 +02:00
parent c2dbd9d0b9
commit 7ce0fc53a4
9 changed files with 74 additions and 26 deletions

View File

@@ -1,8 +1,9 @@
use super::AuthenticationProvider;
use super::{AuthenticationProvider, User};
use actix_session::Session;
use actix_web::{
dev::{forward_ready, Service, ServiceRequest, ServiceResponse, Transform},
http::header::Header,
HttpMessage,
FromRequest, HttpMessage,
};
use actix_web_httpauth::headers::authorization::{Authorization, Basic};
use std::{
@@ -77,6 +78,20 @@ where
}
}
}
// Extract user from session cookie
if let Ok(session) = Session::extract(req.request()).await {
println!("There's a session!");
match session.get::<User>("user") {
Ok(Some(user)) => {
req.extensions_mut().insert(user);
}
Ok(None) => {}
Err(err) => {
dbg!(err);
}
};
}
service.call(req).await
})
}