Commit a6d29b61 by luoqi

feat:cors

parent db1f4347
Pipeline #3223 passed with stage
in 29 seconds
......@@ -92,19 +92,27 @@ app = FastAPI(
)
# 配置 CORS 中间件
# 处理 CORS_ORIGINS 配置,支持字符串和列表格式
# 处理 CORS_ORIGINS 配置,支持字符串、JSON数组和列表格式
cors_origins = settings.CORS_ORIGINS
allow_credentials = True
if isinstance(cors_origins, str):
if cors_origins == "*":
# 当允许所有来源时,不能同时设置 allow_credentials=True
cors_origins = ["*"]
allow_credentials = False
elif cors_origins.startswith("[") and cors_origins.endswith("]"):
# JSON数组格式,解析为列表
import json
try:
cors_origins = json.loads(cors_origins)
except json.JSONDecodeError:
logger.error(f"CORS_ORIGINS JSON格式错误: {cors_origins}")
# 回退到逗号分隔格式
cors_origins = [origin.strip() for origin in cors_origins.split(",")]
else:
# 支持逗号分隔的多个域名
cors_origins = [origin.strip() for origin in cors_origins.split(",")]
allow_credentials = True
else:
allow_credentials = True
logger.info(f"🌐 CORS配置: origins={cors_origins}, credentials={allow_credentials}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment