fix: not process error (code: 401)

This commit is contained in:
Levi Yan
2025-03-23 21:59:57 +08:00
parent a858f80164
commit c47739a718

View File

@@ -17,31 +17,40 @@ export default class DevstarAPIHandler {
}
}
public async verifyToken(token: string, username: string): Promise<string> {
return new Promise(async (resolve) => {
fetch(this.devstarDomain + `/api/devcontainer/user`, {
public async verifyToken(token: string, username: string): Promise<boolean> {
try {
const response = await fetch(this.devstarDomain + `/api/devcontainer/user`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'token ' + token
}
})
.then(response => {
response.json().then(async data => {
if (response.ok) {
if (data.username == username) {
resolve('ok')
});
// 处理非200响应状态码
if (!response.ok) {
const text = await response.text(); // 先读取文本防止json解析失败
if (text === 'verify') {
console.error('Token错误')
return false;
} else {
utils.showErrorNotification('Token与用户名不符')
console.error('Token: ', token, ' Username: ', username)
throw new Error(`HTTP Error: ${response.status} - ${text}`);
}
} else {
utils.showErrorNotification('Token错误')
console.error('Error token: ', token)
}
})
})
})
const data = await response.json();
// 验证用户名匹配
if (data.username !== username) {
console.error('Token与用户名不符');
return false
}
return true;
} catch (error) {
console.error(error)
return false
}
}
// 上传公钥