- 删 SignKeyInternalController(/oapi/internal/sign-key/{appId},返回 appSecret)、
SignKeyInternalIpFilter、SignKeyInternalProperties 三文件
- application.yml 删 yh.sign-key-internal 块(其中 192.168.10.0/200 本就是非法前缀,永不匹配)
- OpenApiAuthEnforceConfiguration:删 IP 白名单过滤器与 SignKeyInternalProperties 注册;
**保留 /api/open 与 /oapi/* 的强制签名**(② oapi 整段对外代理依赖它)
- OapiLogAspect:删对 SignKeyInternalController 的排除死代码
- SignKeyCacheService 契约固化:验签密钥以共享 Redis sign:app:* 为单一真源、UserBase 唯一写入方、
读写走密钥链专用库(缺省 db0)、读侧无兜底(Redis 不可用即 fail-closed)
- 实测线上该端点在容器内匿名访问为 403(IP 白名单生效)、公网无 Caddy 路由;
删除后既无密钥外泄面,也使 /userbase/oapi/* 整段代理安全
验证:mvn compile 通过;本模块单测 124 项中 5 项 MySQL 连接失败为环境性(已用 git stash 在
原始树复跑证明同样失败)。
This commit is contained in:
@@ -71,12 +71,6 @@ yh:
|
||||
identity:
|
||||
# 允许调用 oapi/identity/switch 的应用 appKey 白名单(逗号分隔;100001=UserHome,后期会新增)
|
||||
switch-allowed-app-keys: 100001,100002
|
||||
sign-key-internal:
|
||||
enabled: true
|
||||
ips:
|
||||
- 10.0.0.0/8
|
||||
- 172.16.0.0/12
|
||||
- 192.168.10.0/200
|
||||
|
||||
# 接口文档(springdoc):分组见 SwaggerConfig(oapi=开放接口契约权威源 / api=业务接口)
|
||||
# 契约快照导出:GET /v3/api-docs/oapi
|
||||
|
||||
Reference in New Issue
Block a user