Descripción general
Conceptos clave
- Consulte información sobre los JSON Web Tokens (JWT) que Auth0 usa para los tokens de acceso, ID, de actualización y de cierre de sesión.
- Revise los algoritmos de firma para entender qué es la firma de un token.
- Valide los JWT para asegurarse de que nadie los haya manipulado.
- Use los SDK de Auth0, middleware o alguna de las bibliotecas de terceros de JWT.io para validar JWT.
Para inspeccionar visualmente un JWT, visite JWT.io o use la extensión JWT Debugger para Chrome).
Analizar y validar
- Usando cualquier middleware existente para su framework web.
- Eligiendo una biblioteca de terceros de JWT.io.
- Implementando manualmente las comprobaciones descritas en la especificación RFC 7519 > 7.2 Validating a JWT.
Middleware
Bibliotecas de terceros
algorithms para personalizar los algoritmos permitidos (asegúrese de no permitir none), un argumento secretOrPublicKey que se completa con el secreto o la clave pública RSA (según el algoritmo de firma seleccionado), y otros argumentos de entrada que le permiten personalizar la validación de claims. Si el análisis falla, la biblioteca devuelve un error JsonWebTokenError con el mensaje jwt malformed, tras lo cual debe rechazar la solicitud asociada.
Recomendaciones generales para usar bibliotecas de terceros:
- Para obtener claims de un JWT, use el método
verify()para validar los claims y la firma. Evite usar el métododecode()para validar un token, especialmente si proviene de un . - Siga cuidadosamente todas las instrucciones sobre cómo usar la biblioteca elegida. La biblioteca podría depender de valores o configuraciones predeterminados que podrían generar riesgos de seguridad.
Realice comprobaciones manualmente
Verifique los tokens firmados con RS256
- Vaya a Dashboard > Applications.
- Vaya a la vista Settings y abra Advanced Settings.
- Vaya a la vista Certificates, busque el campo Signed Certificate y copie la Public Key.
- Vaya al sitio web JWT.io, busque la lista desplegable Algorithm y seleccione RS256.
- Busque la sección Verify Signature y pegue la clave pública que copió anteriormente en lugar del contenido del campo que comienza con
-----BEGIN PUBLIC KEY-----.
https://{yourDomain}/.well-known/jwks.json