Compare commits
5 Commits
v0.4.1-dev
...
v0.4.1
Author | SHA1 | Date | |
---|---|---|---|
97853a42c1 | |||
fdae8056b1 | |||
24aa60cb48 | |||
d8eadb8187 | |||
2b2e96c02d |
35
src/token.rs
35
src/token.rs
@@ -5,10 +5,10 @@ use serde::{Deserialize, Serialize};
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct Token {
|
||||
pub scope: String,
|
||||
pub expiration: i64,
|
||||
pub expiration: i32,
|
||||
pub audience: String,
|
||||
pub issuer: String,
|
||||
pub issued: i64,
|
||||
pub issued: i32,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
@@ -22,7 +22,7 @@ pub struct AccessToken {
|
||||
#[serde(alias = "token_type")]
|
||||
pub token_type: String,
|
||||
#[serde(alias = "expiration")]
|
||||
pub expiration: i64,
|
||||
pub expiration: i32,
|
||||
#[serde(alias = "message")]
|
||||
pub message: String,
|
||||
}
|
||||
@@ -57,27 +57,14 @@ impl Token {
|
||||
false
|
||||
}
|
||||
|
||||
// TODO: Implement
|
||||
pub fn contains_scope(&self, des_scope: &String) -> bool {
|
||||
self.scope.contains(des_scope)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_token_scope_check() {
|
||||
let mut token = Token::default();
|
||||
token.scope = String::from("song:read song:upload song:download");
|
||||
|
||||
let check_scope = String::from("song:download");
|
||||
let result = token.contains_scope(&check_scope);
|
||||
|
||||
assert!(
|
||||
result,
|
||||
"Error: The scope {:?} was not found in the token's scope {:?}",
|
||||
check_scope, token.scope
|
||||
);
|
||||
let extracted_token: String = String::from("Token");
|
||||
|
||||
if extracted_token == *des_scope {
|
||||
return true;
|
||||
}
|
||||
|
||||
false
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user