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 :
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 !'});   
    } 
};
j'ai donc ajouter à mes routes 'auth ' :

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);
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.

Voici mon code pour la route post :

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 !' })
        }
    })
};
Voilà je vous remercie par avance pour votre aide .