Emit id_token
This commit is contained in:
@ -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
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user