Update admin page to work with new invitation flow

This commit is contained in:
Nick Fox
2019-01-04 10:32:51 -05:00
parent 736c0e62f2
commit cec28a85ac
4 changed files with 120 additions and 75 deletions

View File

@ -2,7 +2,7 @@
// JWT Handling
//
use crate::util::read_file;
use chrono::Duration;
use chrono::{Duration, Utc};
use jsonwebtoken::{self, Algorithm, Header};
use serde::ser::Serialize;
@ -118,7 +118,26 @@ pub struct InviteJWTClaims {
pub email: String,
pub org_id: String,
pub user_org_id: Option<String>,
pub inviter_email: String,
pub invited_by_email: Option<String>,
}
pub fn generate_invite_claims(uuid: String,
email: String,
org_id: String,
org_user_id: Option<String>,
invited_by_email: Option<String>,
) -> InviteJWTClaims {
let time_now = Utc::now().naive_utc();
InviteJWTClaims {
nbf: time_now.timestamp(),
exp: (time_now + Duration::days(5)).timestamp(),
iss: JWT_ISSUER.to_string(),
sub: uuid.clone(),
email: email.clone(),
org_id: org_id.clone(),
user_org_id: org_user_id.clone(),
invited_by_email: invited_by_email.clone(),
}
}
//