Commit Graph
11 Commits
Author SHA1 Message Date
xrain e278753a8c feat: SimApiOptions 增加 authCheckers 注册表
存储 ISimApiAuthChecker 类型列表(由 addSimApi 自动扫描填充),
供 @SimApiAuth 鉴权时逐个从 DI 解析执行
2026-08-16 22:47:05 +08:00
xrain c591387288 feat: SimApiControllerScanner 增加 ISimApiAuthChecker 自动扫描
scanAuthCheckers():扫描调用者包及其子包中 ISimApiAuthChecker 的非抽象实现类
(复用控制器扫描的 PackageInfo 枚举机制,对齐 C# Assembly.GetTypes 扫描)
2026-08-16 22:47:04 +08:00
xrain 6cb79cf970 feat: SimApiHttpClient 增强
- aesEncrypt 接入纯仓颉 AES(替换 Base64 占位)
- TLS 支持:https 自动配置 TrustAll + SNI(stdx TLS 动态加载 openssl)
- generateNonce 用 UUID v4(对齐 C# Guid.NewGuid)
- open class 供 SimApiAuthClient 继承
2026-08-16 22:47:04 +08:00
xrain 8a6c783459 feat: Auth/Cache/Util 增强
- SimApiAuth/Cache:Redis 连接串支持密码/DB 索引(host:port,password=xxx,db=2)
- InMemory 模式加过期机制(TokenEntry/CacheEntry 带 expireAt,过期自动移除)
- Redis 客户端 autoHello=false 兼容 Redis 8.x(HELLO 3 RESP3 响应解析失败)
- SimApiAuth.generateToken 用 UUID v4
- SimApiUtil 补齐:newGuid / fromJson<T> / base64Encode(Any) / base64DecodeTo<T>
2026-08-16 22:46:57 +08:00
xrain a73a986f8b feat: RequestLog 中间件补齐(对齐 C#)
- 请求体 JSON 字段级截断(仅超长字符串字段,保留结构)
- 下游异常捕获记录后重抛(对齐 C# ExceptionDispatchInfo)
- 响应体受 soulsoft body 只读限制,记录 Content-Length 替代
2026-08-16 22:46:57 +08:00
xrain a04ab2f400 feat: addSimApi/useSimApi 接入内置路由/AuthSDK/checker 扫描
- 内置路由:RouteOptions 自定义路径用 mapGet/mapPost 真实注册(默认值由特性路由覆盖)
- AuthGate:enableSimApiAuthGate 时注册 AuthClient/Center/Iam 单例并挂载网关中间件
- ISimApiAuthChecker 自动扫描:enableSimApiAuth 时扫描调用者包实现类填充 authCheckers + AddScoped
2026-08-16 22:46:57 +08:00
xrain c7b8148ff5 refactor: 提取统一响应封装 SimApiResultWriter
- dispatchResult 复用 SimApiResultWriter(IActionResult/SimApiBaseResponse/String/Unit/其他 五分支)
- @SimApiAuth 鉴权执行(checkSimApiAuth:401/类型403/checker 遍历)
- @OriginResponse 跳过封装原样输出
2026-08-16 22:46:48 +08:00
xrain f056de582b feat: AuthSDK 认证中心完整实现(对齐 C# AuthSDK)
- SimApiAuthClient:SimApiHttpClient 子类,凭证取 AuthCenterOptions
- SimApiAuthCenter:群组/Profile/内部应用/系统登录/安全验证 12 接口 + VerifySign
- SimApiAuthIam:注册权限/获取权限/校验权限(无权限 403)
- SimApiAuthCenterMiddleware:网关透传(三头 MD5 校验 + Base64 解码 LoginInfo)
- SimApiAuthDto:7 个 DTO(data 字段用 JsonValue 规避宏约束)
2026-08-16 22:46:48 +08:00
xrain 9af7871114 feat: SimApiBaseModel 实体基类(对齐 C# Models/SimApiBaseModel)
- _id 默认 UUID v4、_createdAt/_updatedAt 自动当前时间
- mapData 反射式字段映射(忽略字段/白名单两种重载)
- updateTime 刷新更新时间
2026-08-16 22:46:48 +08:00
xrain d68a31077a feat: 声明式鉴权/原样响应注解 + 服务端验签 + AES body 解密
- @SimApiAuth:方法/类级鉴权注解(401/类型403/checker执行),对齐 C# [SimApiAuth]
- @OriginResponse:跳过统一响应封装原样输出,对齐 C# [OriginResponse]
- SimApiSignChecker + SimApiSignProviderBase:服务端验签(含 QueryExpires 过期与 nonce 去重)
- SimApiAesBodyChecker + AesBodyProviderBase:服务端解密加密 body
2026-08-16 22:46:40 +08:00
xrain 932fce1b9e first version 2026-08-16 12:46:15 +08:00