Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2018
    Messages : 61
    Points : 57
    Points
    57

    Par défaut Récupérer un token dans le header de la requête

    Bonjour,

    Je suis bloque dans mon projet, je n'arrive pas à récuperer mon token pour gérer mon système d'auth
    l
    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
     
    exports.login = (req, res) => {
      let emailLogin = req.body.email;
      let passwordLogin = req.body.password.toString();
     
      if (emailLogin !== '' || passwordLogin !== '') {
        sequelize.query(`SELECT id, password FROM user WHERE email = '${emailLogin}' LIMIT 1`, { type: sequelize.QueryTypes.SELECT })
        .then(user => {
          bcrypt.compare(passwordLogin, user[0].password, (error, success) => {
            if(error) console.log(error);
            if (success === true) {
              generateToken(user[0].id).then(token => {
                res.header('x-token', token).send('PASSWORD_MATCH');
              });
            }
          })
        }); 
      } 
     
    } // # login()

    mon middleware:
    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
     
    const jwt = require('jsonwebtoken');
    const security_token = require('../config/security-token');
     
    var auth = (req, res, next) => {
        var token ="";
        console.log(req.header('X-auth'))
     
        if (token) {
         try {
             var decoded = jwt.verify(token, security_token.TOKEN_SECURITY);
             console.log("decoded "+ decoded)
               next();
             } catch (e) {
               res.status(401).send('invalid token');
             }
        } else {
            res.status(401).send('no token');
        }
    }
     
    module.exports = {
        auth
    }
    le console log me retourne undefined je ne comprends pas pourriez-vous m'aider svp

  2. #2
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    4 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 4 088
    Points : 16 620
    Points
    16 620

    Par défaut

    Les headers http ne sont pas case sensitives mais bon ... T'as vérifié que c'était bien X-auth et pas x-auth par exemple ? Je dis ça parce que je vois un autre header qui est nommé x-token, du coup c'est incohérent.

    Tiens d'ailleurs c'est normal d'avoir X-auth d'un côté et x-token de l'autre ?

    Sinon en passant je ne sais pas avec quelle version de Node tu travailles mais le code est vraiment abominable. Ça fait mal au cœur de voir ça en 2019, des var des callbacks, brrrr.

    Ah aussi ton code SQL est vulnérable aux injections. Pas bien.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2018
    Messages : 61
    Points : 57
    Points
    57

    Par défaut

    Désolé de la réponse tardive, j'ai eu pas mal de soucis, pour mon code je suis en train apprendre je n'ai pas d'experience tu peux me dire comment rendre mon code meilleur, quand je teste ma requete sur Postman, ça se passe bien et j'arrive à voir mon header.

    Apres j'ai un front en ionic/angular peut être que c'est à cause de ça que je n'arrive pas à accéder à mon header de node js.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/03/2013, 17h41
  2. Récupérer le POST dans le header
    Par ricain59 dans le forum Services Web
    Réponses: 0
    Dernier message: 20/12/2011, 15h54
  3. Réponses: 8
    Dernier message: 22/10/2011, 12h41
  4. Réponses: 11
    Dernier message: 02/12/2010, 15h35
  5. [MFC] image dans un header de CListCtrl
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2003, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo