Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cannot set headers after they are sent to client

NodeJS Error

    16 juillet 2019 à 11:19:29

    Bonjour à tous,

    J'ai un problème que j'ai du mal à comprendre et à résoudre : je suis en train de développer une application dont l'authentification est basé sur l'Active Directory. 

    Cependant lorsque je cherche à m'authentifier, j'ai cette erreur en sortie de terminal de mon serveur : [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client.

    Voici le code côté serveur de l'authentification avec le package activedirectory : https://www.npmjs.com/package/activedirectory#authenticate

    securityRoute.post('/login', async(req,res)=>{
        try {
            var login = req.body.login;
            var password = req.body.password;
            const config = {
                url: 'ldap://dc1.dc2.com',
                baseDN: 'DC=dc1,DC=dc2,DC=com',
                username: 'hmassicot@dc1.dc2.com
            }
            var username = login + '@dc1.dc2.com';
            var group = 'myGroup';
            var ad = new ActiveDirectory(config);
            ad.isUserMemberOf(username, group, function(err, isMember) {
                console.log(isMember)
                if (err) {
                    console.log('ERROR: ' + JSON.stringify(err));
                    return;
                }
                if (!isMember) {
                    console.log('ERROR: ' + username + ' is not in ' + group);
                    return;
                }
                else {
                    console.log('inGroup');
                    //output inGroup
                    const secondConfig = {
                        url: 'ldap://dc1.dc2.com',
                        baseDN: 'DC=dc1,DC=dc2,DC=com,OU=myOrganisationUnit',
                        username: username
                    }
                    var ad2 = new ActiveDirectory(secondConfig);
                    ad2.authenticate(config.username,password, (err,auth)=> {
                        if (err) {
                            console.log("Erreur de traitement");
    
                            return;
                        }
                        if (auth) {
                            console.log(config.login + ' connecté');
                            return res.json(auth);
                        }
                        else {
                            console.log("Authentification impossible");
                            return res.json(auth);
                        }
                    })
                }
            });
        } catch(err) {
            console.error(err);
        }
    });

    Je poste donc ce message pour savoir si quelqu'un aurait les connaissances ou des pistes pour m'aider à trouver une solution à mon problème.

    Bonne journée!

    -
    Edité par hippomssc 16 juillet 2019 à 14:48:35

    • Partager sur Facebook
    • Partager sur Twitter

    Cannot set headers after they are sent to client

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown