Files
2026-08-21 16:00:13 +08:00

30 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""认证与鉴权配置。
当前(v1 单用户)仅含管理端点访问凭证 ``admin_token``;v2 多用户上线后扩展为
完整认证配置(JWT 签发密钥、access/refresh token TTL 等),见
[多用户与租户隔离设计](../../../docs/product/master-prd.md)。
"""
from __future__ import annotations
from pydantic_settings import BaseSettings
class AuthConfig(BaseSettings):
"""认证与鉴权配置。"""
# ==================== 管理端点访问(v1) ====================
# 司命台管理 API(/admin/*)的访问凭证。部署期配置,非用户登录凭证:
# 请求需在 Authorization 头携带 ``Bearer <ADMIN_TOKEN>``,经 require_admin 校验。
# 为空时管理端点 fail-closed(返回 503),强制部署时配置,避免裸奔。
# 生产环境务必使用强随机值;v2 多用户上线后由完整认证体系取代。
admin_token: str = "" # 管理端点访问凭证(为空则 /admin 返回 503)
# ==================== JWT 配置(v2 多用户) ====================
# JWT 签名密钥。为空时认证端点 fail-closed(503);生产环境务必配置强随机值。
jwt_secret: str = ""
# Access Token 有效期(秒),默认 15 分钟
access_token_ttl: int = 900
# Refresh Token 有效期(秒),默认 7 天
refresh_token_ttl: int = 604800