Luego de mucho trabajar pudimos encontrar el resultado de este conflicto que ciertos usuarios de este espacio tienen. Si tienes algún detalle que compartir no dudes en dejar tu comentario.
Solución:
Parece que estás usando JWT. Para decodificar este tipo de tokens, simplemente puede usar la biblioteca jwt-decode. Por ejemplo en ReactJS:
import jwt from 'jwt-decode' // import dependency
...
// some logic
await axios.post(`$axios.defaults.baseURL/auth`, email, password )
.then(res =>
const token = res.data.token;
const user = jwt(token); // decode your token here
localStorage.setItem('token', token);
dispatch(actions.authSuccess(token, user));
)
.catch(err =>
dispatch(actions.loginUserFail());
);
Suponiendo que su encabezado es algo así como Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
luego, después de la línea 2, tiene un espacio inicial. Vea el siguiente ejemplo para ver la diferencia que hace el espacio inicial. Recortar el espacio inicial debería resolver su problema.
var jwt = require("jsonwebtoken");
var token1 = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
var token2 = " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
var decode1 = jwt.decode(token1);
var decode2 = jwt.decode(token2);
console.log("without leading space");
console.log(decode1);
// sub: '1234567890', name: 'John Doe', iat: 1516239022
console.log("with leading space");
console.log(decode2);
// null
Te invitamos a añadir valor a nuestro contenido informacional participando con tu experiencia en las anotaciones.