Saltar al contenido

Guardar en localStorage con nodejs

Posterior a consultar con expertos en esta materia, programadores de deferentes ramas y profesores hemos dado con la respuesta al dilema y la compartimos en esta publicación.

Solución:

No puede guardar en localStorage en Node.js, pero puede hacerlo en un navegador, posiblemente después de enviar desde un servidor, para su caso desde un servidor en Node.js.

Debe enviar el token desde el servidor (que se ejecuta en Node.js) al cliente (navegador) que tiene un window objeto, teniendo la localStorage y relacionado getItem y setItem métodos, puede hacer referencia desde su código JavaScript para el cliente (navegador). Node.js no tiene ningún window referirse. Entonces, al hacer referencia a él en el código de Node.js, obtendrá un undefined error que ha encontrado.

Simplemente colóquelo en una cookie y envíelo, o envíelo a través de una respuesta json. Luego, en el navegador del cliente, guárdelo en window.localStorage.

siguiente es el código de ejemplos para la última forma; enviando a través de una respuesta:

// 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")
      )
  )

Comentarios y puntuaciones del artículo

Si te gusta este mundo, tienes la habilidad dejar una división acerca de qué le añadirías a este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *