24 lines
563 B
Rust
24 lines
563 B
Rust
use serde::Deserialize;
|
|
use std::collections::HashMap;
|
|
|
|
#[derive(Debug, Clone, Default, Deserialize)]
|
|
pub struct KeycloakClaims {
|
|
pub sub: String,
|
|
pub preferred_username: Option<String>,
|
|
pub exp: usize,
|
|
pub iss: String,
|
|
pub _aud: Option<Vec<String>>,
|
|
pub realm_access: Option<RealmAccess>,
|
|
pub resource_access: HashMap<String, ResourceAccess>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Deserialize)]
|
|
pub struct RealmAccess {
|
|
pub roles: Vec<String>,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Deserialize)]
|
|
pub struct ResourceAccess {
|
|
pub roles: Vec<String>,
|
|
}
|