ai_agent/utils/
session_ingress_auth.rs1use crate::constants::env::ai;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct IngressAuthConfig {
9 pub enabled: bool,
10 pub token: Option<String>,
11 pub oauth_token: Option<String>,
12}
13
14pub fn is_ingress_auth_required() -> bool {
16 std::env::var(ai::CODE_INGRESS_AUTH_REQUIRED)
17 .map(|v| v == "true")
18 .unwrap_or(false)
19}
20
21pub fn get_ingress_token() -> Option<String> {
23 std::env::var(ai::CODE_INGRESS_TOKEN).ok()
24}
25
26pub fn validate_ingress_token(token: &str) -> bool {
28 if let Some(configured) = get_ingress_token() {
30 return token == configured;
31 }
32
33 !token.is_empty()
35}