Week11Task Program
Week11Task Program
index.js
// Middleware
app.use(cors());
app.use(bodyParser.json());
db.connect(err => {
if (err) {
console.error("Error connecting to MySQL:", err);
return;
}
console.log("MySQL connected");
});
// Routes
// User Registration
app.post("/register", async (req, res) => {
const { username, password } = req.body;
const query = "INSERT INTO users (username, password) VALUES (?, ?)";
db.query(query, [username, hashedPassword], (err, result) => {
if (err) {
return res.status(400).json({ error: err.message });
}
res.status(201).json({ message: "User registered successfully" });
});
});
// User Login
app.post("/login", (req, res) => {
const { username, password } = req.body;
// Compare password
const isMatch = await bcrypt.compare(password, user.password);
if (!isMatch) return res.status(401).json({ message: "Invalid credentials" });
// Generate JWT
const token = jwt.sign({ id: user.id, username: user.username }, SECRET_KEY, { expiresIn:
"1h" });
res.json({ token });
});
});
Procedure:
We need a users table to store login credentials. Run this SQL command in MySQL:
Run:
node index.js
http://localhost:5000/register
http://localhost:5000/login