diff --git a/src/data/id_token.rs b/src/data/id_token.rs index 72fb41f..e6f1697 100644 --- a/src/data/id_token.rs +++ b/src/data/id_token.rs @@ -25,8 +25,13 @@ pub struct IdToken { pub nonce: Option, } +#[derive(serde::Serialize, serde::Deserialize)] +pub struct CustomIdTokenClaims { + auth_time: u64, +} + impl IdToken { - pub fn to_jwt_claims(self) -> JWTClaims<()> { + pub fn to_jwt_claims(self) -> JWTClaims { JWTClaims { issued_at: Some(Duration::from_secs(self.issued_at)), expires_at: Some(Duration::from_secs(self.expiration_time)), @@ -36,7 +41,9 @@ impl IdToken { audiences: Some(Audiences::AsString(self.audience)), jwt_id: None, nonce: self.nonce, - custom: (), + custom: CustomIdTokenClaims { + auth_time: self.auth_time + }, } } } \ No newline at end of file