routes/authRoutes.js
Sun Apr 06 2025 17:56:00 GMT+0000 (Coordinated Universal Time)
Saved by
@exam3
const express = require('express');
const jwt = require('jsonwebtoken');
const router = express.Router();
const users = [];
router.post('/register', (req, res) => {
const user = req.body;
users.push(user);
res.send({ message: 'User registered' });
});
router.post('/login', (req, res) => {
const { username, password } = req.body;
const user = users.find(u => u.username === username && u.password === password);
if (!user) return res.status(401).send('Invalid credentials');
const token = jwt.sign({ username }, 'secretkey', { expiresIn: '1h' });
res.send({ token });
});
router.get('/profile', verifyToken, (req, res) => {
res.send({ message: 'Welcome to your profile!', user: req.user });
});
function verifyToken(req, res, next) {
const token = req.headers['authorization'];
if (!token) return res.status(403).send('No token provided');
jwt.verify(token, 'secretkey', (err, decoded) => {
if (err) return res.status(401).send('Invalid token');
req.user = decoded;
next();
});
}
module.exports = router;
content_copyCOPY
Comments