用途:为 API 配置 CORS 策略,按开发与生产环境区分策略,采用安全优先方式。属于 L3 Worker,接收来自 ln-770 的 Context Store,输出环境相关的 CORS 配置。
主要能力:支持 .NET(ASP.NET Core CORS)与 Python(FastAPI CORSMiddleware)两种技术栈。可自动检测同仓库前端目录(/frontend、/client、/web),读取 .env 或 appsettings.json 中的 CORS_ORIGINS,识别常见前端端口:React/CRA 与 Next.js 为 3000,Vite 为 5173,Angular 为 4200。决策点包括允许来源(开发可用 localhost,生产仅用环境变量显式来源)、允许方法(默认 GET/POST/PUT/DELETE/OPTIONS,PATCH 可选)、凭证支持(Cookie 认证需开启,JWT 不需要,OAuth2 视情况)、预检缓存时长(开发 0,生产 86400)。
使用方式:接收上下文(STACK、PROJECT_ROOT、ENVIRONMENT),先做幂等检查——.NET 搜索 AddCors 或 UseCors,Python 搜索 CORSMiddleware,若已存在则返回 {"status": "skipped"}。随后生成配置文件:.NET 产出 Extensions/CorsExtensions.cs 并更新 appsettings.json 与 appsettings.Development.json;Python 产出 middleware/cors_config.py 并更新 .env 中的 CORS_ORIGINS。验证步骤:.NET 执行 dotnet build --no-restore,Python 执行 python -m py_compile middleware/cors_config.py,并用 curl 测试预检请求。
限制:资料未提供安装方式、许可证、价格或平台信息;未列出 PATCH 之外的方法细节;未说明前端框架之外的检测范围;未提供版本兼容性说明。关键安全规则:生产环境禁止通配符 * 来源,禁止在凭据模式下使用 *,生产来源只能来自环境变量,开发与生产策略必须分离。