30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
"""认证与鉴权配置。
|
||
|
||
当前(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
|