Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 58862|Respuesta: 3

[Fuente] Aprende a entender JWT (JSON Web Tokens).

[Copiar enlace]
Publicado en 21/5/2018 15:56:52 | | | |
Introducción a JWT: JSON Web Token (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y autónoma de transferir información de forma segura entre partes en objetos JSON. Esta información puede ser verificada y confiable mediante firmas digitales. Los JWT pueden firmarse usando secretos (usando el algoritmo HMAC) o usando los pares de claves públicas/privadas de RSA.


Algunos escenarios en los que los JSON Web Tokens son útiles:

Verificación de identidad:Este es el caso más común de usar JWT. Una vez que el usuario inicia sesión, cada solicitud posterior contendrá un JWT que permite acceder a las rutas, servicios y recursos permitidos por ese token. El inicio de sesión único es una función ampliamente utilizada hoy en día debido a su bajo sobretrabajo y a su capacidad de fácil uso en diferentes dominios.

Intercambio de información:Los JSON Web Tokens son una excelente forma de transferir información de forma segura entre partes. Como los JWT pueden firmarse —por ejemplo, usando pares de claves públicas/privadas— es posible asegurarse de que el remitente es quien dice ser. Además, dado que la firma se calcula usando cabeceras y cargas útiles, también puedes verificar que el contenido no ha sido manipulado.


Página web oficial:El inicio de sesión del hipervínculo es visible.

Consulta la información de JWT en líneaEl inicio de sesión del hipervínculo es visible.



Analizar parámetros JWT en línea  El inicio de sesión del hipervínculo es visible.

Mi comprensión de JWT a continuación es errónea, por favor dadme algún consejo

En primer lugar, esto no se recomienda usarlo en la web de MVC, puedes usarlo en webapi, la ubicación de este dispositivo es API, no una sesión de la web de reemplazo.

asp.net tutorial de uso de webapi:El inicio de sesión del hipervínculo es visible.No voy a rehacer la rueda, ver cómo está escrito este artículo está bien.

La composición de JWT

JWT está compuesto por tres partes: Cabecera, Carga útil y Firma, con símbolos de puntos entre ellos para formar la forma de xx.yy.zz.


Ten en cuenta que para los tokens firmados, esta información puede ser leída por cualquiera, a pesar de la protección contra manipulaciones. No coloques información sensible en el contenido válido o en los elementos de encabezado del JWT a menos que esté cifrado.

Por ejemplo:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

{
alg: "HS256",
typ: "JWT"
}.
{
sub: "1234567890",
name: "John Doe",
iat: 1516239022
}.
[firma]

En términos sencillos, cualquiera puede descifrar este token, pero la autenticidad de esta información no puede verificarse; solo el servidor que generó este token puede verificar la autenticidad, así que no almacenes información sensible en él.


Aquí hay un problema, es decir, si el usuario cambia la contraseña o se le prohíbe iniciar sesión, ¿cómo puede JWT resolver la validez del token?

Mi idea es añadir una cadena tipo guid en la sección de carga útil, y luego existir en la caché; al verificar la identidad del usuario, no solo verificar el jwt, sino también la información de la carga útil en el jwt, podemos controlar la validez controlando la caché.







Anterior:Marco de código abierto C# (Reimpresión)
Próximo:Estás usando el modo de actualización segura y has intentado actualizar un t
Publicado en 22/8/2018 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Estas son un conjunto de declaraciones predefinidas que no son obligatorias, pero que se recomiendan para proporcionar un conjunto útil e interoperable de declaraciones. Algunos de ellos son: ISS (emisor), exp (tiempo de caducidad), sub (tema), aud (audiencia), etc.

https://jwt.io/introduction/


 Propietario| Publicado en 27/4/2021 10:59:48 |
Cabezazo (después de base64)
Carga útil (después de base64)
Secreto

la cuerda base64 es menor que un múltiplo de 4, y necesitas llenar =
 Propietario| Publicado en 21/1/2022 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com