Professional Documents
Culture Documents
JWT Avec Authentification User With Nodejs: On Commence Par Installer Le Module Jsonwebtoken
JWT Avec Authentification User With Nodejs: On Commence Par Installer Le Module Jsonwebtoken
JWT Avec Authentification User With Nodejs: On Commence Par Installer Le Module Jsonwebtoken
models/user.js
import mongoose from "mongoose"
var userSchema = mongoose.Schema({
nom:{
type:String,
required:"nom is required"
} ,
email:{
type:String,
required:"Email is required",
unique:true
} ,
password:{
type:String,
required:"password is required"
} ,
});
const User=mongoose.model('User',userSchema)
export default User
Routes/user.route.js
router.post('/', createUser);
// localhost:3001/api/users/login
router.post('/login', getuserBYEmail);
1
Fichier Controllers/user.js
}
export const getuserBYEmail = async (req, res) => {
try {
const{email,password}=req.body;
const user = await User.find({email,password});
if(user==""){ res.status(401).send('utilisateur non existant');
return} ;
const accessToken = generateAccessToken(user);
res.status(200).json({
accessToken
})
} catch (error) {
res.status(404).json({ message: error.message });
}
}
9- Créer middlewares/auth.js le fichier qui vérifiera qu’on détient le jeton.
middlewares/auth.js
2
}
jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err, user) => {
if (err) {
return res.sendStatus(401);
}
req.user = user;
next();
});
}
Fichier .env
ACCESS_TOKEN_SECRET=azerty
app.use('/api/users', userRouter);
dans le fichier article.route.js ; si on veut afficher la liste des articles mais avec JWT ont doit importer le
module auth
3
Après 30 secondes, le token ne sera plus valable