use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Debug, Deserialize, Serialize)]
pub struct DecodedAccessToken {
pub aud: Option<Value>,
pub azp: Option<String>,
pub exp: u64,
pub gty: Option<String>,
pub iat: u64,
pub iss: String,
pub scope: Option<String>,
pub sub: String,
#[serde(default)]
pub user_roles: Vec<String>,
#[serde(default)]
pub permissions: Vec<String>,
}
impl DecodedAccessToken {
pub fn to_json(&self) -> Value {
serde_json::to_value(self).unwrap_or(Value::Null)
}
}