1mod app_password;
11mod auth;
12mod client;
13mod error;
14mod metrics;
15
16use std::path::PathBuf;
17
18pub use auth::{
19 Authenticator, AuthenticatorConfig, ClaimMetadata, ClaimTokenType, Claims,
20 DEFAULT_REFRESH_DROP_FACTOR, DEFAULT_REFRESH_DROP_LRU_CACHE_SIZE,
21};
22pub use client::Client;
23pub use client::tokens::{ApiTokenArgs, ApiTokenResponse};
24pub use error::Error;
25use uuid::Uuid;
26
27pub use crate::app_password::{AppPassword, AppPasswordParseError};
28
29#[derive(Debug, Clone, clap::Parser)]
31pub struct FronteggCliArgs {
32 #[clap(
34 long,
35 env = "FRONTEGG_TENANT",
36 requires_all = &["frontegg_api_token_url", "frontegg_admin_role"],
37 value_name = "UUID",
38 )]
39 frontegg_tenant: Option<Uuid>,
40 #[clap(long, env = "FRONTEGG_JWK", requires = "frontegg_tenant")]
43 frontegg_jwk: Option<String>,
44 #[clap(long, env = "FRONTEGG_JWK_FILE", requires = "frontegg_tenant")]
47 frontegg_jwk_file: Option<PathBuf>,
48 #[clap(long, env = "FRONTEGG_API_TOKEN_URL", requires = "frontegg_tenant")]
50 frontegg_api_token_url: Option<String>,
51 #[clap(long, env = "FRONTEGG_ADMIN_ROLE", requires = "frontegg_tenant")]
53 frontegg_admin_role: Option<String>,
54}