¿Qué es una ficha opaca?


9

¿Y qué significa que están en un "formato propietario"? Estoy leyendo sobre los tokens de actualización JWT y son tokens opacos, pero no entiendo el término.

Respuestas:


14

Un JWT tiene contenido legible, como puede ver, por ejemplo, en https://jwt.io/ . Todos pueden decodificar el token y leer la información que contiene. El formato está documentado en RFC 7519 .

Un token opaco, por otro lado, tiene un formato que no debe ser leído por usted. Solo el emisor conoce el formato.

El significado de la palabra ya da una pista:

opaco / ə (ʊ) ˈpeɪk / adjetivo

no puede ser visto a través de; no transparente.

Aquí hay una cita de https://auth0.com/docs/tokens :

Tokens opacos: tokens en un formato propietario que generalmente contiene algún identificador de información en el almacenamiento persistente de un servidor. Para validar un token opaco, el destinatario del token debe llamar al servidor que emitió el token.

Un "token de actualización JWT opaco" es una contradicción según la definición anterior. Lo que realmente se quiere decir aquí es que, en algunos marcos JWT, solo el token de autenticación es un JWT, pero como token de actualización usan tokens opacos.


Gracias. Creo que lo que me confundió es la parte de la firma, que está encriptada, por lo que no es realmente legible per se. También he encontrado una excelente explicación aquí: community.apigee.com/questions/21139/jwt-vs-oauth.html
sloneorzeszki

1
@sloneorzeszki En la explicación que vinculó, una opaque tokense describe como una cadena aleatoria que solo sirve como puntero a la información almacenada del lado del servidor. Este tipo de token se describe aquí , reference tokenmientras opaque tokenque, de hecho, podría contener información encriptada (solo legible para el emisor original). Por lo tanto, hay definiciones ligeramente diferentes de las cuales debemos ser conscientes.
jps

0

Aquí, el término "opaco" significa que la cadena (que sirve como token) es como una referencia (en OOP), o puntero (en C), o claves foráneas (en DB relacionales). es decir, necesita un contenido externo para resolverlo.

Simple versus compuesto:

La cadena es una cadena "simple", a diferencia de JWS, donde es "compuesta"; Tiene partes "adentro".

Dentro versus fuera:

Puede extraer una carga útil (con reclamos, etc.) sin hacer referencia a un servidor externo o almacenamiento, "fuera" de esta cadena.

Dado que un token opaco es una cadena simple, es solo una referencia, por lo tanto, naturalmente, su formato está determinado arbitrariamente por el servidor que lo emite (de ahí el término "formato propietario"). La cadena de token se determina en el momento de la creación del contenido subyacente (referido), es decir, cuando está emparejado (asociado) con los contenidos a los que se refiere este token (como referencia o clave externa).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.