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

257
Visualizações
¿Cuál debería ser el "secreto" en JWT?

Voy a aplicar JWT en mi API REST desarrollada con Java-Jersey. Estoy usando esta biblioteca para JWT - https://github.com/auth0/java-jwt

Tengo algunas preguntas sobre el JWT - Secreto

  1. ¿Este Secret tiene que ser único?
  2. ¿Debo usar la versión codificada de la contraseña del usuario para el secreto? (Entonces no es único de todos modos) Esto se debe a que cuando el usuario cambia su contraseña, su token automáticamente no será válido.
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

  1. ¿Este Secret tiene que ser único?

Debe ser único para su aplicación (después de todo, debe ser un secreto ), pero no será único para cada token. Más bien, debe tener una cantidad relativamente pequeña de claves secretas en un momento dado (p. ej., generalmente solo tiene una clave, pero tiene períodos breves en los que tiene dos claves a medida que cambia de una a la siguiente).

  1. ¿Debo usar la versión codificada de la contraseña del usuario para el secreto?

No, por dos razones:

  1. Suponga que su usuario tiene una contraseña relativamente insegura, como GoPackers123 . Usar la contraseña en su secreto significa que alguien puede probar fácilmente una contraseña potencial determinada para ver si da como resultado la firma correcta; y, más concretamente, pueden probar fácilmente una gran cantidad de contraseñas potenciales para ver si alguna de ellas da la firma correcta. Este es un ataque fuera de línea, por lo que nunca sabrás que sucedió.
  2. Esto requeriría que distribuya todos los hash de contraseñas de sus usuarios a todos los sistemas que necesitan mantener el secreto. Si tiene más que un número trivial de usuarios, esto puede convertirse en una carga bastante seria para su mecanismo de distribución de secretos.
over 4 years ago · Santiago Trujillo Relatório

0

JWT y la biblioteca java-jwt admiten algoritmos simétricos y asimétricos para la firma:

  • Si elige algoritmos simétricos como HS256, solo tendrá una clave para firmar y verificar la firma.

  • Si considera algoritmos asimétricos como RS256, tendrá una clave pública y otra privada. Mantenga la clave privada segura en el servidor y utilícela para firmar el token. Use la clave pública para verificar la firma (también se puede compartir con quien necesite verificar la firma).

¡ Nunca comparta la clave utilizada para firmar el token!

Y nada te impide tener un conjunto de claves diferentes para firmar tus tokens. En esta situación, el parámetro de encabezado kid se puede usar para indicar qué clave se usó para firmar el token. Se supone que esta notificación lleva un identificador de clave y no la clave en sí.

Consulte esta respuesta para obtener más detalles sobre el reclamo de kid .

over 4 years ago · Santiago Trujillo Relatório

0

Utilice RSA256, es decir, un par de claves privada/pública (no se requiere 'secreto'). De esa manera, puede mantener la clave privada en secreto y segura (solo se usará para firmar el token) y puede usar la clave pública para verificar que la firma sea correcta.

Puede dar la clave pública a cualquier persona o servicio que necesite verificar que la firma del token sea correcta.

over 4 years ago · Santiago Trujillo 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