#[derive(Clone, Debug)]
pub struct SecurityConfig {
pub jwks_url: String,
pub issuer: String,
pub audience: String,
pub jwks_cache_ttl_secs: u64,
}
impl SecurityConfig {
pub fn new(jwks_url: impl Into<String>, issuer: impl Into<String>, audience: impl Into<String>) -> Self {
Self {
jwks_url: jwks_url.into(),
issuer: issuer.into(),
audience: audience.into(),
jwks_cache_ttl_secs: 3600,
}
}
pub fn with_cache_ttl(mut self, ttl_secs: u64) -> Self {
self.jwks_cache_ttl_secs = ttl_secs;
self
}
}