my-dynamic-auth-system-v1
v1.0.4
Published
Reusable authentication system for multiple projects
Readme
my-dynamic-auth-system-v1 - A Simple Authentication Library
📌 Introduction
my-dynamic-auth-system-v1 is a flexible authentication package for Node.js applications. It provides easy-to-use functions for user registration, login, authentication middleware, password reset, and email verification. The package allows you to define your own user schema dynamically.
🚀 Installation
npm install my-dynamic-auth-system-v1🔧 Configuration
Before using the package, configure it with your desired settings.
const { setConfig } = require("my-dynamic-auth-system-v1");
setConfig({
userSchema: {
name: String,
email: { type: String, unique: true, required: true },
phone: { type: String, unique: true },
password: { type: String, required: true },
},
jwtSecret: "your_secret_key",
jwtExpiry: "7d",
emailUser: "[email protected]",
emailPass: "your-email-password",
emailService: "gmail",
baseUrl: "https://yourwebsite.com",
});🏗️ Usage
✅ Register a User
const { register } = require("my-dynamic-auth-system-v1");
const newUser = await register({ email: "[email protected]", password: "securepass" });
console.log(newUser);🔑 Login a User
const { login } = require("my-dynamic-auth-system-v1");
const user = await login({ email: "[email protected]", password: "securepass" });
console.log(user);🔐 Authentication Middleware
const { isAuthMiddleware } = require("my-dynamic-auth-system-v1");
app.get("/protected", isAuthMiddleware, (req, res) => {
res.json({ message: "You have access!", user: req.user });
});🚪 Logout a User
const { logout } = require("my-dynamic-auth-system-v1");
app.post("/logout", logout);📧 Request Password Reset
const requestPasswordReset = async () => {
const response = await auth.RequestResetPassword({ body: { email: "[email protected]" } });
console.log(response);
};🔄 Confirm New Password
const confirmReset = async () => {
const response = await auth.confirmResetPassword({
body: {
token: "reset_token_here",
newPassword: "new_secure_password",
},
});
console.log(response);
};🌟 Features
- 🔐 JWT-based authentication
- 🔄 Password hashing with bcrypt
- 📧 Email-based password reset
- 🔧 Dynamic user schema support
- 🚀 Easy integration with Express.js
📜 License
MIT License.
🤝 Contributing
Pull requests are welcome! Feel free to improve the package.
📌 Made with ❤️ for developers!
