v1.2.160
ci/woodpecker/tag/build Pipeline was successful
上一轮用公开接口做对照实验,确认了服务端响应语义: - 正确加密但 ticket 无效 → 「用户名或密码错误」(解密成功) - 裸 ticket / 乱码密文 → 「参数解码错误」(解密失败) - 空 ticket → 500 同时已排除代码侧原因(Go 与站点 security.js 产物逐字节一致、 chunkSize=126 一致、sec_js 禁缓存、算法自 v1.2.157 未变)。 但「参数解码错误」仍缺一处可见性:CAS 换票拿到的 ticket 本身是什么形态、 加密后几块、服务端原始响应是什么,线上日志都没有。没有这些信息, 下一次复现只能继续猜。 新增(均不含凭证本体): - CAS 换票成功:ticketLen / hasSTPrefix / hasSpace / service - 加密完成:ticketLen / dkLen / encLen / blockCount (blockCount>1 才可能出现多块空格,届时 body 是否被 URL 编码才有区别; 这条日志能一次性回答该问题) - 登录被拒:httpStatus / message / bodySnippet(截断 300 rune) 配套 truncateForLog:按 rune 截断,不切断多字节字符。 测试覆盖短串不截断、超长加标记、中文不产生乱码、边界值。
Description
No description provided
Languages
Go
58.2%
Vue
35.3%
TypeScript
4.1%
CSS
1.5%
JavaScript
0.6%
Other
0.2%