Added id to the token
This commit is contained in:
11
src/token.rs
11
src/token.rs
@@ -80,6 +80,7 @@ pub struct TokenResource {
|
|||||||
pub message: String,
|
pub message: String,
|
||||||
pub issuer: String,
|
pub issuer: String,
|
||||||
pub audiences: Vec<String>,
|
pub audiences: Vec<String>,
|
||||||
|
pub id: uuid::Uuid,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const TOKEN_TYPE: &str = "JWT";
|
pub const TOKEN_TYPE: &str = "JWT";
|
||||||
@@ -99,6 +100,15 @@ pub fn create_token(
|
|||||||
payload.set_subject(message);
|
payload.set_subject(message);
|
||||||
payload.set_issuer(issuer);
|
payload.set_issuer(issuer);
|
||||||
payload.set_audience(audiences.clone());
|
payload.set_audience(audiences.clone());
|
||||||
|
if token_resource.id.is_nil() {
|
||||||
|
match payload.set_claim("id", Some(serde_json::json!(token_resource.id))) {
|
||||||
|
Ok(_) => {
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
return Err(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
match get_issued() {
|
match get_issued() {
|
||||||
Ok(issued) => {
|
Ok(issued) => {
|
||||||
let expire = issued + duration;
|
let expire = issued + duration;
|
||||||
@@ -145,6 +155,7 @@ mod tests {
|
|||||||
issuer: String::from("icarus_auth_test"),
|
issuer: String::from("icarus_auth_test"),
|
||||||
message: String::from("Authorization"),
|
message: String::from("Authorization"),
|
||||||
audiences: vec![String::from("icarus_test")],
|
audiences: vec![String::from("icarus_test")],
|
||||||
|
id: uuid::Uuid::nil(),
|
||||||
};
|
};
|
||||||
let token_expiration_duration = time::Duration::hours(2);
|
let token_expiration_duration = time::Duration::hours(2);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user