Bonjour tout le monde, j'ai fais un script de connexion sous node et pour que ça fonctionne j'ai du suivre un doc pour décomposer mon header qui possédait un Bearer token. Dans cette fonction il y a un "next", mais je ne comprends pas du tout son usage, et je ne comprends pas non plus pourquoi un simple return ne fonctionne pas... Si vous avez une idée j'en serais très heureux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 exports.getUserInfos = async (req, res) => { jwt.verify(req.token, SECRET, (err, decoded) => { if (err) { res.status(200).json({ success: false, message: "Veuillez vous connecter pour accéder à ce contenu", }); } else { User.findByPk(decoded.userId) .then((user) => { res.status(200).json({ success: true, surname: user.surname, userId: user.id, email: user.email, }); }) .catch((err) => { res.status(403).json({ success: false, message: "Utilisateur non existant", }); }); } }); };
Et ici le code avec le next() qui est appelé avant le code d'au dessus
merci à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 exports.verifyToken = (req,res,next) => { const bearerHeader = req.headers['authorization']; if (typeof bearerHeader !== 'undefined') { const bearer = bearerHeader.split(' '); const bearerToken = bearer[1]; req.token = bearerToken; next(); } else { res.sendStatus(403); return false;exports.verifyToken = (req,res,next) => { const bearerHeader = req.headers['authorization']; if (typeof bearerHeader !== 'undefined') { const bearer = bearerHeader.split(' '); const bearerToken = bearer[1]; req.token = bearerToken; next(); } else { res.sendStatus(403); return false; } } } }
love.
Partager