mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-08-27 20:12:02 +00:00
fix: 123网盘捐赠账号无需临时auth参数即可自动生效,修复token前缀与脏数据问题
- 前端: getCurrentPanType() 补全123网盘域名匹配正则(share.123pan.cn等子域名) - 前端: 临时认证弹窗补充123云盘(YE)选项及提示文案 - 前端: submitDonateAccount() 按当前authType只提交相关字段,避免切换认证方式后 残留的用户名/密码脏数据被一并提交 - 后端: URLParamUtil.addParam() 不再无条件用静态yml配置覆盖已生效的临时认证/ 自动捐赠账号回退(增加 __TEMP_AUTH_ADDED 判断) - 后端: CacheServiceImpl 新增 applyDonatedAccountFallback(),请求未带auth参数 且无静态配置时自动从捐赠账号池随机取一个可用账号使用,并在解析失败时记录/ 自动禁用失败账号 - 后端: DbServiceImpl.getRandomDonatedAccount() 对非password类型账号强制丢弃 历史遗留的username/password字段,避免被误当账号密码登录 - 解析器: Ye2Tool 清理token/authorization前缀中的"Bearer ",避免拼接成 'Bearer Bearer xxx' 导致123接口返回 tokenstring should not contain bearer 已通过本地实测验证: 捐赠123账号后,不带auth参数直接请求 /json/parser?url=https://1815268665.share.123pan.cn/123pan/iaKtVv-r4aCd 可正常返回200及直链
This commit is contained in:
@@ -99,10 +99,26 @@ public class Ye2Tool extends PanBase {
|
||||
return null;
|
||||
}
|
||||
String token = auths.get("token");
|
||||
if (StringUtils.isNotEmpty(token)) {
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
token = auths.get("authorization");
|
||||
}
|
||||
return stripBearerPrefix(token);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户/捐赠账号提供的 token 经常是从浏览器开发者工具里连同 "Bearer " 前缀一起复制过来的,
|
||||
* 如果不做清理,后续 header.set("Authorization", "Bearer " + token) 会拼出
|
||||
* "Bearer Bearer xxx",导致123网盘接口报错 tokenstring should not contain 'bearer '。
|
||||
*/
|
||||
private String stripBearerPrefix(String token) {
|
||||
if (StringUtils.isBlank(token)) {
|
||||
return token;
|
||||
}
|
||||
return auths.get("authorization");
|
||||
String trimmed = token.trim();
|
||||
if (trimmed.regionMatches(true, 0, "Bearer ", 0, 7)) {
|
||||
trimmed = trimmed.substring(7).trim();
|
||||
}
|
||||
return trimmed;
|
||||
}
|
||||
|
||||
private boolean isTokenExpired() {
|
||||
|
||||
Reference in New Issue
Block a user