aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/account/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-08-01 14:46:14 +0200
committermetamuffin <metamuffin@disroot.org>2023-08-01 14:46:14 +0200
commitdbb8c1c2f0035ea41224dec319a996b89e13ec84 (patch)
treeb99f5c6b25e54fccb23f789ca748bd9ddeba5ed4 /server/src/routes/ui/account/mod.rs
parent705fba50de94a7efdb9fe635ee683d6a615348f8 (diff)
downloadjellything-dbb8c1c2f0035ea41224dec319a996b89e13ec84.tar
jellything-dbb8c1c2f0035ea41224dec319a996b89e13ec84.tar.bz2
jellything-dbb8c1c2f0035ea41224dec319a996b89e13ec84.tar.zst
new session based login
Diffstat (limited to 'server/src/routes/ui/account/mod.rs')
-rw-r--r--server/src/routes/ui/account/mod.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/server/src/routes/ui/account/mod.rs b/server/src/routes/ui/account/mod.rs
index 0e4e0cc..79fa652 100644
--- a/server/src/routes/ui/account/mod.rs
+++ b/server/src/routes/ui/account/mod.rs
@@ -7,7 +7,6 @@ pub mod admin;
pub mod session;
pub mod settings;
-use self::session::SessionCookie;
use super::{error::MyError, layout::LayoutPage};
use crate::{
database::{Database, User},
@@ -16,6 +15,7 @@ use crate::{
};
use anyhow::anyhow;
use argon2::{password_hash::Salt, Argon2, PasswordHasher};
+use chrono::Duration;
use rocket::{
form::{Contextual, Form},
get,
@@ -159,7 +159,7 @@ pub fn r_account_login_post(
#[post("/account/logout")]
pub fn r_account_logout_post(jar: &CookieJar) -> MyResult<Redirect> {
- jar.remove_private(Cookie::named("user"));
+ jar.remove_private(Cookie::named("session"));
Ok(Redirect::found(uri!(r_home())))
}
@@ -181,10 +181,10 @@ pub fn login_logic(
Err(anyhow!("invalid password"))?
}
- jar.add_private(
+ jar.add(
Cookie::build(
- "user",
- serde_json::to_string(&SessionCookie::new(user.name)).unwrap(),
+ "session",
+ session::token::create(user.name, Duration::days(CONF.login_expire)),
)
.permanent()
.finish(),