feat(auth): add LoginAttempt schema and record login attempts with failure rate limit

- Added `LoginAttempt` Mongoose schema to store login history
- Integrated login attempt recording into login flow (success/failure)
- Created `rateLimitByAccount` middleware to block login if 10 failed attempts in 10 minutes
This commit is contained in:
Vincent23412 committed 2025-04-27 15:57:34 +08:00
1 parent 13fb8737a3
commit af2f1ef707
7 files changed
+123 -11

No files matched your search

+1
View File
@@ -4,6 +4,7 @@ export { User, IUser } from './user.js'
export { Session, ISession } from './session.js'
export { Command, ICommand } from './command.js'
export { UserProfile, IUserProfile, IProgress } from './userProfile.js'
export { ILoginAttempt, LoginAttempt } from './loginAttempt.js'
export async function connectDB(uri: string) {
const db = await mongoose.connect(uri)