Files
claude-relay-service/test-fixed-auto-link.js
iRubbish 82f545c3b0 保存当前API Key管理功能的修改
- 统一用户创建和admin创建API Key的逻辑
- 修复admin更新用户创建的API Key功能
- 用户创建API Key名称改为displayName
- 默认无限制配置

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 13:42:02 +08:00

54 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const jwt = require('jsonwebtoken');
const config = require('./config/config');
const fetch = require('node-fetch');
// 模拟创建一个包含displayName的JWT token
const userInfo = {
type: 'ad_user',
username: 'zhangji',
displayName: '张佶',
email: 'zhangji@weidian.com',
groups: ['CN=Weidian-IT组,OU=Weidian Groups,OU=微店,DC=corp,DC=weidian-inc,DC=com'],
loginTime: new Date().toISOString()
};
const token = jwt.sign(userInfo, config.security.jwtSecret, {
expiresIn: '8h'
});
console.log('测试修正后的自动关联功能');
console.log('用户displayName: 张佶');
async function testFixedAutoLink() {
try {
console.log('\n=== 测试获取用户API Keys ===');
const response = await fetch('http://localhost:3000/admin/ldap/user/api-keys', {
headers: {
'Authorization': `Bearer ${token}`
}
});
const result = await response.json();
console.log('\n结果:', JSON.stringify(result, null, 2));
if (result.success && result.apiKeys && result.apiKeys.length > 0) {
console.log('\n✅ 成功找到了关联的API Key:');
result.apiKeys.forEach(key => {
console.log(`- ID: ${key.id}`);
console.log(`- Name: ${key.name}`);
console.log(`- Key: ${key.key.substring(0, 10)}...${key.key.substring(key.key.length-10)}`);
console.log(`- Limit: ${key.limit}`);
console.log(`- Status: ${key.status}`);
});
} else {
console.log('\n❌ 没有找到关联的API Key');
}
} catch (error) {
console.error('测试错误:', error.message);
}
}
testFixedAutoLink();