Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

sign token is not equal with https://jwt.io/

Abierto
#918 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, node.js

Línea de trabajo

Comienza con la reproducción inline de crypto.generateKeyPairSync, jwt.sign y jwt.verify; no se nombra ningún archivo del repositorio ni ninguna prueba. Compara los dos tokens y sus payloads decodificados, y luego rastrea las entradas de firma y verificación. El issue se resuelve cuando se explica la diferencia reportada y el comportamiento esperado queda cubierto por una prueba reproducible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmqThNdOtauJpQ8jmaSfM
gx4RCw/E1dX27/h25P3CSsVRVXITEiPKgyk7ZW/WNp97gc2wGch28FJTK+ULZk9D
G4Y2xzUcy666FwDkii8JAQa56jSppt3G9OPfp5iaYnynVpHHWyvNqTi9hfwtShsW
ObirZfjFVc25A+RwuBcOgHvNus6EEm13nldbL/dWqY+dWG0Us/jOoSZuAiaLAxwM
eJcwHM1rJj+6eUc8Bj41+U1Hdizn+U67BrolVnCtaWpnzGHyYDJlMakyJfoDqYEB
1bgWLcYuShvv//k2gdN+KMRueOfVFhbUiCG1eZy14FIvgJQt/0K4zYmfLF5YjUr4
SQIDAQAB
-----END PUBLIC KEY-----

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCapOE1061q4mlD
yOZpJ8yDHhELD8TV1fbv+Hbk/cJKxVFVchMSI8qDKTtlb9Y2n3uBzbAZyHbwUlMr
5QtmT0MbhjbHNRzLrroXAOSKLwkBBrnqNKmm3cb049+nmJpifKdWkcdbK82pOL2F
/C1KGxY5uKtl+MVVzbkD5HC4Fw6Ae826zoQSbXeeV1sv91apj51YbRSz+M6hJm4C
JosDHAx4lzAczWsmP7p5RzwGPjX5TUd2LOf5TrsGuiVWcK1pamfMYfJgMmUxqTIl
+gOpgQHVuBYtxi5KG+//+TaB034oxG5459UWFtSIIbV5nLXgUi+AlC3/QrjNiZ8s
XliNSvhJAgMBAAECggEADzmuQCbO9zvjHgS+tanw01RvnGGRMTXzjeEOMKGwwjyO
000rxkCOmM8DjWs/QYm+ZtNd1A4F8seCL4tJjek+G8zBIigPJZkWcnsYpSe4GNkl
DwNgFCEX7Gauj5FBWvK3pXjtEiN8CD4BP9qqCValH6n4Ow4M/LOIVJMmS2OevoS6
s2CwQ6/2hCIt3rhcSrmU+vgop4RBRVr35LNQpEKsTsHivzwSEqS0YuYVmEQ3CA+n
Gno6r0OepoHkhGgl1i4rjR2tesVjv/6RRP+KBa3Nv5brFnmjQmd0vfCVxAjxwCPY
3BxhzcD8rO2MO/uDIfakmk26RQn8uHwS0csXj7KRMQKBgQDNpMi8f/9mHlya5U1U
BAFqYQpVV+S5fl9X+5LXJVx7GaxL0sS1KdBaOYs3IOlV+hOWbi3ULrSdagm2hcTA
qGvUePmnJQhXqVxoHGdjm4Dfjf4EBWnzhfQZtRugSK4W/5Pzib9wicPULpodwrQT
wZwZnOtIOY3pvXvZj22xW6k1sQKBgQDAgxMXCBzf6rVQcivr9X3JAupycS8xtmt8
V3TtACi8B4o1Mn+5gPRYuzmbS8VVL9hYuURyuEZaxDqYoYVV/A5K6DIUJ2VyKyJ6
2k/qUrwoeUjcPPj6N8GHSwk9yD3dyWeCh1uJolt3BZ9U9aaBPXGZLAyUMHPTQ7MK
0SlGiczaGQKBgDYYmxW7NhxO8F1u5KCtTRIG5Qj+ThTdwYcLjt053tIjNsfbchOW
JFEXwh+GcNtFJdH0uemPP8QJGPUCy3dC1trV2Ba4DzHAQ6a/khMJ3STx3ViBdBWz
rzr0AYhwlhtGsEzod4vLMdCnUbNyfJyV2dKDDQG64jISvnnE2T5GtoSBAoGAC+3T
WAEDsQhdNd/tQtDSe4s3teG3l/AC1xCgSTNSUtxwvv0jFv6bpYfseOgIEVBGqrDI
QgeTLHquWtjfZ0WYKSIcQE10ps9vcodmnlGEIUnqruMEVpTv5A9NQkvPMZgSVu9G
R9AMtOJfTiduquGA0Yn+OYyLENNIG+p8EUfmrrkCgYEAtPmui7iRncnJTjPQwGxO
lqWGpz3XJmLmucGoxEu4JJY7K5pH9sJxS/9dpTO8p+4pcDf5RiW2VllAnIn3ulbl
QIMmNvn/tcRiQbpFhOFXSbCDoV9KfxBMaX0UZJDYYc/VC5J6z9pMV+vhwFsNeypd
RQ8Ih8JV4T3Rae0dKlnhQtg=
-----END PRIVATE KEY-----

const payload = { sub: 'user123', role: 'admin' };
const token = jwt.sign(payload, privateKey, { algorithm: 'RS256' });

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNjg4MTAxNzI4fQ.D3Pio6RmSnGsP3vhz50aJX8XPB5tRA4EdO8k2gTzpzh9gBms-8TJhTM0uez4THzUgT3PDjAYsQ0i-HGrRf74AcwMmm1Bc0zGwr3_MYNgx3fW7X12P-9ow9BzEF9bDH07cXulMqK2RDa-lvbD6ngGP926KKF9Jse9MIo3jGZ5377Ro0MpbB6bYktjDdo-y_U8oqsICdDO7YeVVshDwuxKboFGZAsbV1sYO1XU-15DfhkA0yF5i_lk6dhqsCco0KpIpmNQHAzWZCYSMZZ5DPd6kY9v7MCUDGfKcK_Gnx_KPo92_0k7IRMMNytZrhBsm0jasGIkE3XrLIsmo9588mvUbg

https://jwt.io/ token

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNjg4MTAxMzAwfQ.K7SToDIrmsAoXTny08R5HQPvkFTOZUVpudXzNuqk8L_JnBSVVlMys4cypK1CngUDiyZhrPwmqJEOcfOUlTEmWM1jorjgwz6KjleRcVzvEnSnzWOG2Gvh7LPm0taT8glSLtwXdSDYCMREwZgv2aVlberbZ8Br08SitxLp47askktIPlOz4IbvoixcUhrhCN2WpZGefcC5QaDQKjR2ca6ptjaAe3l-YRwCecqMSHqkeCHC2xQaoi2DXjS3ed5dDXF0sydql-Z9U9xv_2jO634jzEg4XFEVbKPmgvqZneCr6m5b44CQapxdv4RgIaHHtlunaqRCroKLV0zIx2UpK5Gd6Q

const crypto = require('crypto');
const jwt = require('jsonwebtoken');

const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', {
    modulusLength: 2048,
    privateKeyEncoding: {
        type: 'pkcs8',
        format: 'pem'
    },
    publicKeyEncoding: {
        type: 'spki',
        format: 'pem'
    },
});


const payload = { sub: 'user123', role: 'admin' };
const token = jwt.sign(payload, privateKey, { algorithm: 'RS256' });
console.log("token=", token);

jwt.verify(token, publicKey, function (err, user) {
    console.log("=====")
    console.log(err)
    console.log(user) // user info from the token
    console.log("=====")
});
Lenguaje dominante
JavaScript
Estrellas
18.2k
Forks
1.3k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de auth0/node-jsonwebtoken

Todos los issues de auth0/node-jsonwebtoken

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.