He escrito este código aquí
jwt.verify(token.split(':')[1], 'testTest')Y estoy tratando de verificar esto para que pueda volver verdadero y seguir adelante. El punto en el que jwt viene como un ejemplo de carga útil
¿Cómo puedo verificar este jwt tan
`token.split(':')[1] can match testTest`jwt.verify no hace eso. Verifica el jwt con la clave secreta o pública. Si no desea verificarlo y solo obtener la carga útil, lo que desea hacer es decodificar el jwt, luego recuperar el valor y hacer una comparación de cadenas.
let decoded = jwt.decode(token); if(decoded.sub == "testTest") { //Do your stuff... }Puedes leer más sobre jwt en su página de github
Mi enfoque es mantener el método de verificación solo para verificar que el token no se haya modificado:
jwt.verify(token, JWT_SECRET); Y use el método de decode para obtener la carga útil:
const payload = jwt.decode(token, JWT_SECRET);Después de eso, puede verificar el valor de su carga útil
Primera pregunta importante: ¿quién es el emisor del token?
¿Y desea verificar la validez del token Y/O simplemente comparar el contenido del token con un valor dado?
la verificación (y decodificación) se realiza con
var decoded = jwt.verify(token, '<public key for verification>'); if(decoded.sub == "<value to match>"){ // TODO: implement match case }(suponiendo que esté utilizando el paquete jsonwebtoken)
Debe proporcionar la clave pública para la verificación que proporciona el emisor del token.
Si desea probarlo correctamente, propongo generar un token en jwt.io -> puede generar por adelantado un par de claves pública/privada por su cuenta y usarlo para codificar y verificar antes de decodificar.
También es posible simplemente decodificar el token, pero sin la verificación con la clave pública proporcionada por el emisor, cualquiera podría enviarle tokens que no se guardarán por su parte.
Los mejores deseos