75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
|
|
const axios = require('axios');
|
|||
|
|
|
|||
|
|
// 配置axios实例
|
|||
|
|
const api = axios.create({
|
|||
|
|
baseURL: 'http://localhost:5352/api',
|
|||
|
|
timeout: 10000,
|
|||
|
|
headers: {
|
|||
|
|
'Content-Type': 'application/json'
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 测试退出登录功能
|
|||
|
|
async function testLogout() {
|
|||
|
|
console.log('开始测试退出登录功能...');
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
// 1. 首先登录获取token
|
|||
|
|
console.log('1. 登录获取token...');
|
|||
|
|
const loginResponse = await api.post('/auth/login', {
|
|||
|
|
username: 'admin',
|
|||
|
|
password: '123456'
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
if (loginResponse.data.code !== 200) {
|
|||
|
|
console.error('登录失败,无法继续测试退出登录:', loginResponse.data.message);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const token = loginResponse.data.data.token;
|
|||
|
|
console.log('登录成功,获取到token:', token);
|
|||
|
|
|
|||
|
|
// 2. 使用获取到的token发送退出登录请求
|
|||
|
|
console.log('\n2. 测试退出登录...');
|
|||
|
|
const logoutResponse = await api.post('/auth/logout', {}, {
|
|||
|
|
headers: {
|
|||
|
|
'Authorization': `Bearer ${token}`
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
console.log('退出登录响应:', logoutResponse.data);
|
|||
|
|
|
|||
|
|
if (logoutResponse.data.code === 200) {
|
|||
|
|
console.log('退出登录成功!');
|
|||
|
|
|
|||
|
|
// 3. 验证token是否仍然有效(尝试用相同token获取用户信息)
|
|||
|
|
console.log('\n3. 验证退出登录后token是否失效...');
|
|||
|
|
try {
|
|||
|
|
const userInfoResponse = await api.get('/auth/userinfo', {
|
|||
|
|
headers: {
|
|||
|
|
'Authorization': `Bearer ${token}`
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
console.log('用户信息响应:', userInfoResponse.data);
|
|||
|
|
|
|||
|
|
if (userInfoResponse.data.code === 200) {
|
|||
|
|
console.warn('警告: 退出登录后token仍然有效,建议实现token黑名单机制');
|
|||
|
|
} else {
|
|||
|
|
console.log('验证成功: 退出登录后token已失效');
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
console.log('验证成功: 退出登录后token已失效');
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
console.error('退出登录失败:', logoutResponse.data.message);
|
|||
|
|
}
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('测试过程中发生错误:', error.response ? error.response.data : error.message);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 运行测试
|
|||
|
|
console.log('准备运行退出登录功能测试...');
|
|||
|
|
testLogout().then(() => {
|
|||
|
|
console.log('\n退出登录功能测试完成');
|
|||
|
|
});
|