2025 新认证系统适配
- ~~auth -> tauth:简单观察了一下,API 变化不大,可能不需要大改~~ 确实不用改
- usereg -> 新 usereg:API 变化比较大,需要重写?试了一下旧 usereg 的准入代认证用到的 auth 的 API,似乎在 tauth 上也保留了,只是新 usereg 的准入 API 变了;此外新 usereg 如何获取 NasID 也是一个问题
- ~~net: 还需要 net 的 login 逻辑吗,是否可以删掉;~~ 已删
TODO:
- ~~验证当前逻辑在只改动 auth 域名的情况下是否 work~~ work 了
- NasID 是否还需要:准入代认证依然需要被认证 ip 的 AC ID
- 能否避免新 usereg 验证码
与信息化老师沟通得知 tauth 可能 只是双系统并行时的临时方案,在新系统全面上线后可能 auth 会变成新系统。需要确认。
有线准入准出功能已经适配,见 v2.3.2。接下来研究准入代认证。
准入代认证是好的,但是目前需要手动指定 ac id,不然会准入失败。
如果在不知道 ac id 的情况下,想要准入代认证,需要通过新 usereg 的 api,这个时候就要面临验证码的问题。
另外也观察到 ac_id 自动检测逻辑有时候有问题,给出错误的 1,这时候即使用官方的认证方法也会出现错误。
另外也观察到 ac_id 自动检测逻辑有时候有问题,给出错误的 1,这时候即使用官方的认证方法也会出现错误。
这一情况现已得到充分研究:
假如网络当前已登录,那么http://login.tsinghua.edu.cn/index_1.html总是会跳转到?ac_id=1,从而得到错误的ac_id;
反过来,假如网络当前未登录,则访问上述地址(实际上并不一定需要是上述地址,任何地址都可以,因为这步的本质是请求到被拦截、重定向去登录界面的重定向响应),该重定向响应中包含的ac_id总是对的。
在 6672434 (v2.3.5) 修复v6的ac_id获取的bug之后,这一问题在典型场景下暂不影响使用:因为deauth本来也不需要ac_id,而auth时必定是先前没登录的,故而也总能拿到对的ac_id。
但是,最好还是能有一个不受是否已登录影响、保证能够稳定获取ac_id的渠道,很遗憾目前暂无这样的渠道,欢迎热心人士进行提供。 后续可能的方案,欢迎大家加以讨论:
- 保持原样不动,反正现在能用。
- 内置一个全校IP段到ac_id转换表。(能否覆盖?是否会容易发生改变、导致过时?)
- 与解决准入代认证问题一起,攻克新usereg的验证码(如配置可选的验证码解析模型),然后在已登录状态下去usereg里拿ac_id。(必要性在哪里?而且如果没登录的话usereg应该拿不到acid,还是没能实现统一且稳定的acid获取渠道的需求)。
与信息化老师沟通得知 tauth 可能 只是双系统并行时的临时方案,在新系统全面上线后可能 auth 会变成新系统。需要确认。
By 2025.4.18,经过测试,现在在未登录状态下,重定向页面给出的已经又是auth{4/6}.tsinghua.edu.cn了。tauth仍能访问,而且auth和tauth访问的到的内容相同、登录态也是共享的。结合上述信息,判断tauth只是应对新旧系统切换期间的临时解决方案。
由于重定向链接已经变回auth,可能存在着某天tauth下线甚至未通知下线的可能性,现 be240959 将访问的域名从tauth切换回auth。
最好还是能有一个不受是否已登录影响、保证能够稳定获取ac_id的渠道,很遗憾目前暂无这样的渠道,欢迎热心人士进行提供。
可以问问信息化的老师看看能不能提供一个接口(?)
信息化老师回复,
有线网地址都是固定bras的 嗯,不行就每台bras都发一下
虽然很难绷, 但是确实是可行的手段 (学校的 BRAS 应该不算太多). 所有的 BRAS ID 列表过两天发在这.
周一把所有的 ac id 给你发一份
信息化老师回复, 校园网启用的 ac_id 范围目前是 159-174, 且不会频繁变更.
目前来看,适配大致完成,只有验证码的问题尚未解决,但通常可以直接指定 ac id 来解决。