diff --git a/library/src/core/config.rs b/library/src/core/config.rs index b8408cc..df543cc 100644 --- a/library/src/core/config.rs +++ b/library/src/core/config.rs @@ -43,8 +43,8 @@ pub struct Logger { #[derive(Clone, Debug, Deserialize)] pub struct Jwt { pub secret: String, - pub expires: usize, - pub refresh_expires: usize, + pub expires: i64, + pub refresh_expires: i64, } #[macro_export] diff --git a/library/src/token.rs b/library/src/token.rs index ac7a892..cef355c 100644 --- a/library/src/token.rs +++ b/library/src/token.rs @@ -1,3 +1,4 @@ +use chrono::{TimeDelta, Utc}; use serde::{Deserialize, Serialize}; use crate::config; @@ -5,13 +6,13 @@ use crate::config; #[derive(Debug, Serialize, Deserialize, Clone)] pub struct Claims { sub: i64, // 用户ID - exp: usize, // Token过期时间戳 + exp: i64, // Token过期时间戳 } pub fn generate_token(sub: i64) -> String { let claim = Claims { sub, - exp: config!().jwt.expires, + exp: (Utc::now() + TimeDelta::try_seconds(config!().jwt.expires).unwrap()).timestamp(), }; generate(claim) } @@ -19,7 +20,7 @@ pub fn generate_token(sub: i64) -> String { pub fn generate_refresh_token(sub: i64) -> String { let claim = Claims { sub, - exp: config!().jwt.refresh_expires, + exp: (Utc::now() + TimeDelta::try_seconds(config!().jwt.refresh_expires).unwrap()).timestamp(), }; generate(claim) }