use std::time::Duration;
use jsonwebtoken::Algorithm;
#[derive(Debug, Clone)]
pub struct OidcConfig {
pub issuer: String,
pub audience: String,
pub jwks_url: String,
pub algorithms: Vec<Algorithm>,
pub jwks_ttl: Duration,
}
impl OidcConfig {
pub fn new(
issuer: impl Into<String>,
audience: impl Into<String>,
jwks_url: impl Into<String>,
) -> Self {
Self {
issuer: issuer.into(),
audience: audience.into(),
jwks_url: jwks_url.into(),
algorithms: vec![Algorithm::RS256],
jwks_ttl: Duration::from_secs(300),
}
}
}