修复登录bug

This commit is contained in:
2025-08-05 22:42:02 +08:00
parent a3264be5f6
commit 0edceecfe5
5 changed files with 37 additions and 22 deletions

View File

@@ -239,7 +239,7 @@ export const authController = {
},
// 用户登出
async logout(req: AuthRequest, res: Response) {
async logout(req: Request, res: Response) {
const token = req.headers.authorization?.substring(7);
if (token) {
@@ -249,18 +249,26 @@ export const authController = {
});
}
// Create audit log
if (req.user) {
await prisma.auditLog.create({
data: {
userId: req.user.id,
action: 'USER_LOGOUT',
resource: 'user',
resourceId: req.user.id,
ipAddress: (req.headers['x-forwarded-for'] as string) || req.socket.remoteAddress || null,
userAgent: req.get('User-Agent') ?? null,
// Create audit log (if we have user info from token)
try {
if (token) {
const decoded = jwt.verify(token, "pandora") as any;
if (decoded && decoded.userId) {
await prisma.auditLog.create({
data: {
userId: decoded.userId,
action: 'USER_LOGOUT',
resource: 'user',
resourceId: decoded.userId,
ipAddress: (req.headers['x-forwarded-for'] as string) || req.socket.remoteAddress || null,
userAgent: req.get('User-Agent') ?? null,
}
});
}
});
}
} catch (error) {
// Token无效不记录审计日志
console.log('登出时token无效跳过审计日志记录');
}
res.json({ message: '登出成功' });

View File

@@ -27,7 +27,7 @@ router.post('/login', [
], authController.login);
// Logout
router.post('/logout', authMiddleware, authController.logout);
router.post('/logout', authController.logout);
// Get current user
router.get('/me', authMiddleware, authController.getCurrentUser);