mjava-com/(非直接 cp mcli)mvn -pl mjava-com -am compile 通过(全 reactor 6 模块)CallerProfile 数据类(callerId/secret/allowedActions/rateLimit/expireAt/enabled)CallerRegistryService 查宜搭权限表 + 启动全量 + @Scheduled 定时刷新CallerAuthInterceptor:Header 齐全 → 时间窗 → callerId 查 + 启用/过期 → NonceCache → HMAC → 限流,复用基座 UtilSignature + NonceCacheComWebConfig 注册拦截器,排除 /_admin/** 等ActionRegistry Map
ActionHandler 函数式接口 McR handle(CallerProfile, JSONObject)DingtalkActionRegistry 首批 3 action(延后,等首个调用方接入时按需补)AliworkActionRegistry 首批 3 action(同上)CallerRegistryProperties.Actions 读 com.actions.enabled 全局白名单GatewayController 路由 POST /{vendor}/{action}CallerRateLimiter Guava RateLimiter per callerId(ConcurrentHashMap 存;rate 变更自动重建)callerId + 失败分支 log.warn(point logger)[%X{callerId:-}](延后)application-dev.yml.example(com.caller.registry.* + com.actions.enabled 示例)application-prod.yml.example(同上占位)README.md:外部系统对接步骤、signature 算法示例(Python / Node.js 样例代码)mjava-baseline.md 表格里 mjava-com 状态为"已实施"HmacSignatureTest / CallerRegistryTest/dingtalk/user.get → 验证成功 & 失败(签名错、过期、限流、未启用 action)/opsx:validate add-mjava-com --strict 通过