mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 05:52:19 +00:00
Add authentication with session cookie
This commit is contained in:
@@ -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
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user