import os import secrets from dotenv import load_dotenv load_dotenv() # 加载 .env 文件中的环境变量 # Supabase Configuration SUPABASE_URL = os.environ.get("SUPABASE_URL") SUPABASE_ANON_KEY = os.environ.get("SUPABASE_ANON_KEY") SUPABASE_SERVICE_ROLE_KEY = os.environ.get("SUPABASE_SERVICE_ROLE_KEY") if not SUPABASE_URL or not SUPABASE_ANON_KEY: raise ValueError("Supabase URL and Anon Key must be set as environment variables.") # JWT Configuration SECRET_KEY = os.environ.get("JWT_SECRET_KEY", secrets.token_urlsafe(32)) ALGORITHM = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES = 30 VERIFICATION_CODE_EXPIRE_MINUTES = 5 # 邮箱验证码有效期,单位:分钟 # Email Configuration (for custom password reset) SMTP_SERVER = os.environ.get("SMTP_SERVER") SMTP_PORT = int(os.environ.get("SMTP_PORT", 465)) # Changed default to 465 for SMTP_SSL SMTP_USERNAME = os.environ.get("SMTP_USERNAME") SMTP_PASSWORD = os.environ.get("SMTP_PASSWORD") SENDER_EMAIL = os.environ.get("SENDER_EMAIL") SENDER_NAME = os.environ.get("SENDER_NAME", "SuperProxy Support") if not all([SMTP_SERVER, SMTP_USERNAME, SMTP_PASSWORD, SENDER_EMAIL]): print("Warning: SMTP server details not fully configured. Password reset emails may not work.")