Bonjour,
J'ai un souci d'authentification sur mes routes post , par contre pour tout le reste cela fonctionne. J'ai créé un middleware d'authentification :
j'ai donc ajouter à mes routes 'auth ' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 module.exports = async (req, res, next) => { try { const token = req.headers.authorization.split(' ')[1]; const decodedToken = jwt.verify(token, process.env.JWT_TOKEN); const id_user = decodedToken.id_user; if (req.body.id_user && req.body.id_user !== id_user) { throw 'User id non valide ! '; } else { next() } }catch (error) { res.status(401).json({ error: error , message: 'Requête non authentifiée !'}); } };
pour toutes mes autres routes : get, delete, et put l'authentification fonctionne , j'arrive à tester sur postman en entrant le token dans les paramètre prévu pour. Mes sur ma route post direct j'ai l'erreur du middleware d'authentification qui me revient : 'user id non valide' et 'requête non identifié' . Et lorsque je retire 'auth' de ma route pour l'authentification j'arrive à faire ma passer ma requête sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 router.post('/',auth, multer, postCtrl.createPost); router.put('/:id',auth, multer, postCtrl.modifyPosts); router.get('/',auth, postCtrl.getAllPosts); router.get('/:id',auth, postCtrl.getOnePosts); router.delete('/:id',auth, postCtrl.deletePosts);
Voici mon code pour la route post :
Voilà je vous remercie par avance pour votre aide .
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 exports.createPost = function (req, res, next){ const imageUrl = req.file ? `${req.protocol}://${req.get('host')}/images/${req.file.filename}` : null; const username = req.body.username; const title = req.body.title; const postUser = req.body.postUser; const id_user = req.body.id_user const insertSql = `INSERT INTO posts (id_user,username, title, images, postUser, date_post) VALUES ('${id_user}','${username}', '${title}', '${imageUrl}', '${postUser}', NOW())`; connection.query(insertSql, function (error, results, fields){ if(results){ res.status(201).json({results }) }else{ res.status(401).json({error: error, message: 'la publication à échouée !' }) } }) };
Partager