Home / Companies / MongoDB / Blog / Post Details
Content Deep Dive

Password Authentication with Mongoose (Part 2): Account Locking

Blog post from MongoDB

Post Details
Company
Date Published
Author
MongoDB
Word Count
1,644
Company Posts That Month
2
Language
English
Hacker News Points
-
Post removed?
No
Summary

Password Authentication with Mongoose (Part 2): Account Locking aims to prevent brute-force attacks against a site's login form by enforcing a maximum number of failed login attempts, thereby locking the account for a specified amount of time. The implementation involves adding two new properties to the User model: `loginAttempts` to track consecutive failures and `lockUntil` to store a timestamp indicating when the lock will expire. A faux-enum is also defined to represent reasons for failed login attempts. The login process is encapsulated within a single static method, `getAuthenticated`, which checks credentials against the stored hashed password and updates the `loginAttempts` and `lockUntil` fields accordingly. The method returns null along with an appropriate reason code if authentication fails or succeeds. To use this implementation, a user model is created with these new features, allowing for secure username/password authentication with account locking to prevent brute-force attacks.

Trends Found in this Post

No tracked trend matches for this post yet.

Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.