Repository navigation
Expand file tree
/
Copy pathtest-refresh-token.js
More file actions
64 lines (52 loc) · 1.96 KB
/
Copy pathtest-refresh-token.js
File metadata and controls
64 lines (52 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// 测试刷新token功能
const axios = require('axios');
// 配置
const API_BASE_URL = 'http://localhost:8080/api';
const USERNAME = 'admin';
const PASSWORD = 'AdminPass123!';
// 创建axios实例
const apiClient = axios.create({
baseURL: API_BASE_URL,
timeout: 10000,
withCredentials: true
});
async function testRefreshToken() {
try {
console.log('开始测试刷新token功能...');
// 1. 首先登录获取token
console.log('\n1. 尝试登录...');
const loginResponse = await apiClient.post('/auth/login', {
username: USERNAME,
password: PASSWORD
});
console.log('登录成功!');
console.log('Access Token:', loginResponse.data.access_token ? '已获取' : '未获取');
console.log('Refresh Token:', loginResponse.data.refresh_token ? '已获取' : '未获取');
// 2. 使用refresh token刷新access token
console.log('\n2. 尝试刷新token...');
const refreshResponse = await apiClient.post('/auth/refresh', {
refresh_token: loginResponse.data.refresh_token
});
console.log('刷新token成功!');
console.log('新Access Token:', refreshResponse.data.access_token ? '已获取' : '未获取');
console.log('新Refresh Token:', refreshResponse.data.refresh_token ? '已获取' : '未获取');
// 3. 验证新token是否有效
console.log('\n3. 验证新token...');
const verifyResponse = await apiClient.get('/auth/me', {
headers: {
'Authorization': `Bearer ${refreshResponse.data.access_token}`
}
});
console.log('新token验证成功!');
console.log('用户信息:', verifyResponse.data.username);
console.log('\n✅ 刷新token功能测试通过!');
} catch (error) {
console.error('\n❌ 测试失败:', error.message);
if (error.response) {
console.error('响应状态:', error.response.status);
console.error('响应数据:', error.response.data);
}
}
}
// 执行测试
testRefreshToken();