Saving into localStorage with nodejs

You cannot save to localStorage on Node.js, but you can do it on a browser, possibly after sending from a server, for your case from a server on Node.js.

You should send the token from the server (running on Node.js) to the client (browser) which has a window object, having the localStorage and related getItem and setItem methods, you can reference from your JavaScript code for client (browser). Node.js does not have any window to reference. So, by referencing it in Node.js code you will get an undefined error you have encountered.

Just put it into a cookie and send, or send it via a json response. Then on the client browser save it into window.localStorage.

following is the examples code for the latter way; sending via a response:

// SERVER-SIDE Code
// say `app` is your app server on node.js
// this is a url handler on your server-side code
// you just have sent your user credentials from a browser
// typically via a form in the body of your http request
app.post('/auth', function (req, res) {
  // you may have here some jwt token creation things
  // ...
  // and send it as your response to the client (probably a web browser) ..
  // with your prefrred name as the key, say 'my_token', ..
  // where you will save it to localStorage (ie. window.localStorage)
  res.json({my_token: 'asdfgh-anything-jw-token-qwerty'})
})

// CLIENT-SIDE Code (may be a web browser)
// You have just sent a request to the server..
// ..with user credentials for authentication in the request body
// in the request body may be a window.FormData object or a json etc.
http.post('auth', userCredentials)
  // probably the request mechanism you make http..
  // ..requests asynchronously, maybe using a library,..
  // ..will return a Promise, and you will have a similar code below.
  .then(response => {
    response.json()
      .then(responseJson => {
        // set localStorage with your preferred name,..
        // ..say 'my_token', and the value sent by server
        window.localStorage.setItem('my_token', responseJson.my_token)
        // you may also want to redirect after you have saved localStorage:
        // window.location.assign("http://www.example.org")
      })
  })