Hỏi về token autheticate



  • Hiện tại e đang gặp 1 số vấn đề về authentication ứng dụng của mình
    Em đã tìm hiểu bài viết này https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens
    Dùng 1 module có tên là 'jsonwebtoken' để authenticate
    E hiểu được khi mình login , hệ thống sẽ check username và password trong database nếu ngon thì dùng module 'jsonwebtoken' này để encode ra 1 token trả về cho client , thằng client này sẽ lưu vào localstorage , mỗi lần request nó lại gửi kèm theo cái token này

    Điều em ko hiểu là khi ta login thì module 'jsonwebtoken' nó lấy thằng nào để so sánh với token mình đã gửi lên để mà verify

    Mong mn support :(



  • This post is deleted!


  • Trong ví dụ x-access-token trong query/header có giá trị bằng token của bạn sẽ gửi lên server, module jsonwebtoken sẽ check token đó để verify.



  • Khi gửi token lên server , bạn sẽ phải dùng jwt để decoded cái token đấy ra rồi verify .



    • Khi login xong bạn lấy dc thông tin user, sau đó dùng hàm mã hoá của nó
      var token = jwt.sign(response.get('accountID'), app.get('superSecret'), {
      issuer: 'LogiFleet'
      });
      res.json(token);
      mã hoá dc token rồi trả về cho client
    • khi thực hiện gọi api đến server thì bạn gửi cái token đó lên theo, thường hay gửi vào header
      trên server bạn verify cái token đó ra

    jwt.verify(token, app.get('superSecret'), function(err, decoded) {
    if (err) {
    return res.sendStatus(403);
    } else {
    // if everything is good, save to request for use in other routes
    req.decoded = decoded;
    next(); // make sure we go to the next routes and don't stop here
    }
    });
    Nếu ok thì cho thực hiện tiếp, k thì return invalid token thôi


Log in to reply