feat: 优化token验证逻辑,添加异常处理以增强稳定性

This commit is contained in:
2026-03-06 13:20:41 +08:00
parent 53204291ce
commit fb58d91e50

View File

@@ -56,22 +56,28 @@ export class UserSecret {
if (oauth.getTokenType(token) === 'jwks') {
// 先尝试作为jwt token验证如果验证成功则直接返回用户信息
console.log('[jwksManager] 验证token');
const verified = await jwksManager.verify(token);
if (verified) {
const sub = verified.sub;
const userId = sub.split(':')[1];
const user = await User.findByPk(userId);
if (!user) {
console.warn(`[jwksManager] 验证token成功但用户不存在userId: ${userId}`);
try {
const verified = await jwksManager.verify(token);
if (verified) {
const sub = verified.sub;
const userId = sub.split(':')[1];
const user = await User.findByPk(userId);
if (!user) {
console.warn(`[jwksManager] 验证token成功但用户不存在userId: ${userId}`);
return null;
}
const oauthUser = oauth.getOauthUser({
id: user.id,
username: user.username,
type: user.type,
});
return oauthUser;
} else {
return null;
}
const oauthUser = oauth.getOauthUser({
id: user.id,
username: user.username,
type: user.type,
});
return oauthUser;
} else {
} catch (e) {
console.error('[jwksManager] 验证token失败', e);
return null;
}
}