Emit id_token

This commit is contained in:
2022-04-13 19:07:58 +02:00
parent d69b44528e
commit 53a540139c
10 changed files with 734 additions and 25 deletions

View File

@ -2,6 +2,7 @@ use actix_identity::Identity;
use serde::{Deserialize, Serialize};
use crate::data::user::{User, UserID};
use crate::utils::time::time;
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq)]
pub enum SessionStatus {
@ -21,6 +22,7 @@ impl Default for SessionStatus {
pub struct SessionIdentityData {
pub id: UserID,
pub is_admin: bool,
pub auth_time: u64,
pub status: SessionStatus,
}
@ -64,6 +66,7 @@ impl<'a> SessionIdentity<'a> {
self.set_session_data(&SessionIdentityData {
id: user.uid.clone(),
is_admin: user.admin,
auth_time: time(),
status: SessionStatus::SignedIn,
});
}
@ -93,4 +96,8 @@ impl<'a> SessionIdentity<'a> {
pub fn user_id(&self) -> UserID {
self.get_session_data().unwrap_or_default().id
}
pub fn auth_time(&self) -> u64 {
self.get_session_data().unwrap_or_default().auth_time
}
}