Support Authorization field with ****** stripping in Ye2Tool

This commit is contained in:
copilot-swe-agent[bot]
2026-07-07 02:36:05 +00:00
committed by GitHub
parent 2aeb64b87c
commit 8bd9830e04
2 changed files with 160 additions and 2 deletions
@@ -188,9 +188,16 @@ public class Ye2Tool extends PanBase {
private Future<String> resolveTokenFuture() {
MultiMap auths = (MultiMap) shareLinkInfo.getOtherParam().get("auths");
if (auths != null && auths.contains("token")) {
String providedToken = auths.get("token");
if (auths != null) {
String raw = null;
if (auths.contains("token")) {
raw = auths.get("token");
} else if (auths.contains("Authorization")) {
raw = auths.get("Authorization");
}
String providedToken = normalizeBearerToken(raw);
if (StringUtils.isNotEmpty(providedToken)) {
log.info("使用配置token,前8位: {}...", providedToken.substring(0, Math.min(8, providedToken.length())));
TokenCache.putToken(cacheKey, providedToken);
return Future.succeededFuture(providedToken);
}
@@ -203,6 +210,17 @@ public class Ye2Tool extends PanBase {
return Future.succeededFuture(cached);
}
private String normalizeBearerToken(String raw) {
if (StringUtils.isBlank(raw)) {
return null;
}
String token = raw.trim();
if (token.regionMatches(true, 0, "Bearer ", 0, 7)) {
token = token.substring(7).trim();
}
return StringUtils.isNotEmpty(token) ? token : null;
}
private Future<String> loginAndGetToken() {
MultiMap auths = (MultiMap) shareLinkInfo.getOtherParam().get("auths");
if (auths == null) {