Files
ai/backend/src/routes/auth.ts
bluish 437522232c revert 0edceecfe5
revert 修复登录bug
2025-11-17 15:09:32 +00:00

41 lines
1.2 KiB
TypeScript

import { Router } from 'express';
import { body } from 'express-validator';
import { validateRequest } from '../middleware/validateRequest';
import { authController } from '../controllers/authController';
import { authMiddleware } from '../middleware/authMiddleware';
const router = Router();
// Register
router.post('/register', [
body('username').isLength({ min: 3, max: 30 }).matches(/^[a-zA-Z0-9_]+$/),
body('password').isLength({ min: 8 }),
body('confirmPassword').isLength({ min: 8 }).custom((value, { req }) => {
if (value !== req.body.password) {
throw new Error('密码和确认密码不匹配');
}
return true;
}),
validateRequest
], authController.register);
// Login
router.post('/login', [
body('username').isLength({ min: 3, max: 30 }),
body('password').notEmpty(),
validateRequest
], authController.login);
// Logout
router.post('/logout', authMiddleware, authController.logout);
// Get current user
router.get('/me', authMiddleware, authController.getCurrentUser);
// Refresh token
router.post('/refresh', authController.refreshToken);
// Debug session (for development)
router.get('/debug-session', authMiddleware, authController.debugSession);
export default router;