Repository navigation
PCL Lite 1.7.0-snapshot-2
Pre-releasePCL Lite 1.7.0-snapshot-2。
快照版,只有选了「快照」或更激进通道的用户会收到。稳定版通道请继续用 1.6.4-hotfix-5。
改了什么
一、登录多了「粘贴凭据」这条路
以前只能走设备码:打开 microsoft.com/link、输码、选账号。现在登录页底下多了一个
「使用令牌登录」,粘进去就行,三种凭据自动识别:
| 粘进去的东西 | 会发生什么 | 能续期 |
|---|---|---|
| Refresh Token | 换出整套新令牌,和正常登录完全等价 | 能,一直有效 |
| Minecraft 令牌 | 直接用,不换 | 不能,24 小时后失效 |
| 微软 Cookie | 走授权码流程换出整套令牌 | 能 |
输入框改成了多行、可滚动,长令牌不会再被截断(以前 MaxLength 是 1000,
一段 refresh token 经常一千多字符,粘进去被静默切掉尾巴,报错还看不出原因)。
二、续期记住了「谁签发的」
Refresh Token 是绑死在签发它的 Azure 应用上的。以前不管哪来的令牌,续期都拿 PCL 自己的
身份去换,微软直接回 AADSTS70000(令牌是发给别的客户端的),档案就废了。
现在档案里记一个 RefreshClientId,续期时用同一个身份换。依次试三个已知签发方:
- PCL Lite 自己
- Lunar 启动器(
4358653d-…) - In-Game Account Switcher(
54fd49e4-…)
三个都不是,就明确告诉你「这个令牌换不了」,而不是丢一个错误码让人猜。
三、重复的正版档案自动合并
同一个号反复登录会一直往下堆新条目,列表里出现好几个一模一样的名字。根因是合并时
只比 UUID,不看登录方式 —— 同一个号用设备码登一次、用令牌导入一次,就成了两条。
现在按「UUID + 登录方式」判断,同号同方式只留一条。留哪条:先看有没有 Refresh Token
(有才续得下去),再看到期时间。反过来只看时间的话,一条快过期的令牌档案会把能续期的挤掉。
启动时自动跑一次,历史遗留的重复条目会自己消失。
档案列表里现在也会标出这条是怎么登进来的:设备代码 / Access Token / Refresh Token / Cookie。
四、Lunar 页面
- 账号下拉框每一项改成两行:上面账号名,下面 UUID。同名的号一眼分不清,UUID 才是一对一能对上的
- 支持「Minecraft 令牌导入」的 Lunar 身份账号:能启动,但 24 小时后要重新导入(这种账号没有 refreshToken)
- 令牌过期又续不了,现在直接报错说清楚,不再拿个死令牌进游戏卡在
Connecting... - 令牌不是 Lunar 应用签的(
aid对不上),日志里会警告,省得一路走到卡住才让人猜 - 左边栏的账号信息跟着选中项刷新,以前右边换完号左边还写着上一个
- 老配置里的
pcl:<ProfileId>前缀和 1.5.0 之前的裸 localId 会被归一化,不会再出现「选中的账号没了」
怎么用
进登录页,点最下面那行「使用令牌登录」,粘进去,回车。
三种凭据里 Refresh Token 最省事:一次粘进去能一直用,效果和正常登录一样。
校验
SHA-256(签名后):BC7388195B9906E4D2996181F58AC81C5C591DACBB87FD11E007C0F2D8ADA994
大小:19,373,352 字节
已知问题
- Cookie 那条路还没在真实登录态下验证过。代码路径是通的(授权码 +
prompt=none),
但手上没有一份真实可用的 Cookie 去实测,可能会回login_required。真遇到了就先用
Refresh Token 或设备码,别在 Cookie 上耗时间 - 令牌导入的账号 24 小时后必须重新导入,这是微软定的,没有绕法