Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
Manejo del token JWT en las aplicaciones Javascript del cliente: httpOnly Cookie vs LocalStorage

La mayoría de las publicaciones de blog que he leído sugieren usar cookies httpOnly para almacenar de forma segura el token jwt en el lado del cliente (aplicaciones javascript). Tengo algunas preguntas con respecto a esto (que no pude encontrar en esas publicaciones de blog).

  1. Si el token jwt se almacena en la cookie httpOnly, la aplicación JavaScript no puede acceder al token y no puede conocer el estado de autenticación del usuario actual. Como manejamos esto ?
  2. ¿El "usar la cookie httpOnly" cumple con la apatridia de REST en el lado de la API?
  3. ¿Está bien "usar localStorage para token jwt"? ¿Solo tenemos que tener cuidado con XSS?
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La sugerencia de usar httpOnly es evitar código malicioso (por ejemplo, XSS, inyección de secuencias de comandos) para poder leer el JWT. Eso es bajo el supuesto de que la autenticación se realiza únicamente en el lado del back-end y si el código Javascript necesita extraer alguna información de JWT, httpOnly no funciona.

No creo que tenga que ver nada con la apatridia del REST.

El uso de localStorage tiene este riesgo, pero si es necesario, sí, debe tener cuidado.

about 4 years ago · Juan Pablo Isaza Relatório

0

Si el token jwt se almacena en la cookie httpOnly, la aplicación JavaScript no puede acceder al token y no puede conocer el estado de autenticación del usuario actual. Como manejamos esto ?

El token puede estar oculto para el cliente, pero eso no significa que el cliente no pueda tener ninguna información. Cuando el cliente realiza una solicitud exitosa al servidor y el servidor autentica al cliente, la respuesta puede incluir el JWT en una cookie HttpOnly, y el cliente, al ver que tuvo éxito, establece una marca en, digamos, almacenamiento local, indicando que existe una cookie (aunque JS no pueda acceder a ella), o indicando la fecha de caducidad de la cookie.

El cliente podría usar este valor en el almacenamiento en futuras cargas de página para ver si la solicitud al servidor probablemente tendrá éxito (es decir, que existe una cookie HttpOnly y que contiene un JWT válido). Si el valor existe, el cliente puede realizar una solicitud, el servidor puede validar la cookie y devolver información al cliente, sin que el cliente tenga acceso JavaScript directo al JWT.

Dicho esto, este enfoque es un poco engorroso y solo es realmente adecuado cuando puede haber otro código no necesariamente confiable ejecutándose en la página. Este es el enfoque que utilizo cuando una de mis aplicaciones se ejecuta en una página en un dominio externo que no controlo, con otros scripts sobre los que no sé lo suficiente: el uso de una cookie HttpOnly significa que mi servidor puede almacenar de forma segura la información del cliente allí. sin tener que preocuparse tanto por lo que podrían estar haciendo otros scripts en la página.

Si la página en la que se ejecuta la aplicación es la suya, puede optar por almacenar el JWT en una cookie simple (no HttpOnly) o en el almacenamiento local, y acceder a él a través de JavaScript.

¿Está bien "usar localStorage para token jwt"? ¿Solo tenemos que tener cuidado con XSS?

Si está en su propia página, sí, en su mayor parte. Si se puede acceder al JWT con JavaScript, JavaScript malicioso puede rasparlo, esa es la única preocupación.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda