diff --git a/src/services/_authentication.rs b/src/services/_authentication.rs index e6993fb..ffabea9 100644 --- a/src/services/_authentication.rs +++ b/src/services/_authentication.rs @@ -6,11 +6,11 @@ use cookie::{Cookie, CookieJar, Key}; use rusqlite::Connection; #[derive(Clone)] -pub struct SessionService { - key: Key, +pub struct SessionService<'a> { + key: &'a Key, } -impl SessionService { +impl SessionService<'_> { pub fn get_key(conn: &mut Connection) -> CustomResult { let tx = conn.transaction().map_err(Error::SqlError)?; @@ -18,16 +18,7 @@ impl SessionService { Ok(Key::derive_from(&secret)) } - pub fn from_conn(conn: &mut Connection) -> CustomResult { - let tx = conn.transaction().map_err(Error::SqlError)?; - let secret = LedgerInternal::new().get_cookie_secret(&tx)?; - let ret = SessionService { - key: Key::derive_from(&secret), - }; - Ok(ret) - } - - pub fn from_key(key: Key) -> SessionService{ + pub fn from_key(key: &Key) -> SessionService { SessionService{key} } diff --git a/src/webui/services.rs b/src/webui/services.rs index c41c111..5baefcd 100644 --- a/src/webui/services.rs +++ b/src/webui/services.rs @@ -40,7 +40,7 @@ impl ServicesFactory { } pub fn get_authentication_service(&self) -> Result { - Ok(SessionService::from_key(self.cache.session_service_key.clone())) + Ok(SessionService::from_key(& self.cache.session_service_key)) } pub fn get_user_service<'a>(