title: Node.js passport-jwt how to send token in a cookie?
body: <p>1) Once user is authenticated, How can I set the token in a cookie so that user does not send username password in each request?</p>
  
  <p>2) What is the ideal way of sending token to the client side?</p>
  
  <pre><code>    apiRoutes.post('/authenticate', function (req, res) {
          User.findOne({
              email: req.body.email
          }, function (err, user) {
              if (err) throw err;
  
              if (!user) {
                  res.send({ success: false, message: 'Authentication failed. User not found.' });
              } else {
                  // Check if password matches
                  user.comparePassword(req.body.password, function (err, isMatch) {
                      if (isMatch &amp;&amp; !err) {
                          // Create token if the password matched and no error was thrown
                          var claims = {
                              sub: user._id,
                              email:user.email,
                              iss: 'https://NodeLogin.com',
                              permissions: user.role
                          };
  
                          var token = jwt.sign(claims, config.secret, {
                              expiresIn: 60 // in seconds
                          });
                          res.json({ success: true, token: 'JWT ' + token });
                      } else {
                          res.send({ success: false, message: 'Authentication failed. Passwords did not match.' });
                      }
                  });
              }
          });
      });
  
      apiRoutes.get('/dashboard',
          passport.authenticate('jwt', { session: false }), function (req, res) {
          res.send('Worked' + req.user._id + '.');
      });
  </code></pre>