@vecentral/user-auth
v1.0.0
Published
Plug-and-play MongoDB user registration and login for Node.js
Maintainers
Readme
plug-auth-mongo
Plug-and-play user registration and login package for Node.js + MongoDB.
No custom API boilerplate required. Just initialize and call functions.
Suggested npm package name
plug-auth-mongo
Other good alternatives:
easy-register-mongomongo-auth-readynode-auth-plug
Features
- Dynamic MongoDB connection (
mongoUri) - Dynamic user schema support
- Built-in registration logic (
registerUser) - Required field + email + password validation
- Password hashing with
bcryptjs - Duplicate user protection (email check)
- Optional login and JWT generation
Installation
npm install plug-auth-mongoProject Structure
src/
index.js
db.js
register.js
schema.js
utils/
validator.js
hash.js
package.json
README.mdQuick Start
const { initAuth, registerUser } = require("plug-auth-mongo");
async function run() {
await initAuth({
mongoUri: "mongodb://localhost:27017/test",
schema: {
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true }
},
minPasswordLength: 6,
bcryptRounds: 10
});
const user = await registerUser({
name: "John",
email: "[email protected]",
password: "123456"
});
console.log(user);
}
run().catch(console.error);API
initAuth(options)
Initializes MongoDB connection and creates dynamic user model.
Options:
mongoUri(string, required)schema(object, required)modelName(string, optional, default:AuthUser)bcryptRounds(number, optional, default:10)minPasswordLength(number, optional, default:6)jwtSecret(string, optional; required only if you want JWT)jwtExpiresIn(string, optional, default:1d)
registerUser(data)
Registers a user by:
- validating required fields
- validating email format
- validating password length
- hashing password
- saving in MongoDB
loginUser({ email, password })
Optional login helper:
- verifies credentials
- returns sanitized user
- includes JWT token if
jwtSecretis configured
closeAuth()
Gracefully closes MongoDB connection.
getUserModel()
Returns initialized mongoose user model.
Error Handling
The package throws AuthError with:
messagestatusCodecode
Common error codes:
AUTH_ERRORDUPLICATE_USERMISSING_CREDENTIALSINVALID_CREDENTIALS
