becomer 2f93e24a39
ci/woodpecker/tag/build Pipeline was successful
fix: 适配南昌理工学院自研 CAS→IAP 混合登录(学校ID匹配,独立于通用IAP/CAS逻辑)
该校登录链路与标准金智 IAP/Apereo CAS 均不同:
- /portal/login → /iap/login 页面实际转发到学校自研 CAS(my.nut.edu.cn/cas/login),
  表单为 username/password/authcode/execution/_eventId 风格
- 登录成功后 302 回跳 /iap/loginSuccess?sessionToken=xxx&ticket=ST-... 建立 IAP 会话
- 密码加密特殊:先反转,明文块按小端 16-bit digit 装配后直接 m^e mod n
  (无 PKCS#1 填充),公钥由 /cas/v2/getPubKey 动态获取,hex 空格分隔
- 每次登录均需图形验证码(/cas/kaptcha),OCR 识别失败自动重试最多3次

新增 nut_login.go 专用实现,CpdailyLogin 按 school.ID 匹配路由,不动通用 IAP/CAS 代码。
2026-08-30 22:03:09 +08:00
S
Description
No description provided
6.6 MiB
Languages
Go 58.2%
Vue 35.3%
TypeScript 4.1%
CSS 1.5%
JavaScript 0.6%
Other 0.2%