E o que significa que eles estão em um "formato proprietário"? Estou lendo sobre os tokens de atualização JWT e eles são opacos, mas não entendo o termo.
E o que significa que eles estão em um "formato proprietário"? Estou lendo sobre os tokens de atualização JWT e eles são opacos, mas não entendo o termo.
Respostas:
Um JWT possui conteúdo legível, como você pode ver, por exemplo, em https://jwt.io/ . Todos podem decodificar o token e ler as informações nele contidas. O formato está documentado na RFC 7519 .
Um token opaco, por outro lado, tem um formato que não se destina a ser lido por você. Somente o emissor conhece o formato.
O significado da palavra já dá uma dica:
opaco / ə (ʊ) ˈpeɪk / adjetivo
incapaz de ser visto através; não é transparente.
Aqui está uma citação de https://auth0.com/docs/tokens :
Tokens opacos: tokens em um formato proprietário que normalmente contêm algum identificador de informações no armazenamento persistente de um servidor. Para validar um token opaco, o destinatário do token precisa chamar o servidor que o emitiu.
Um "token de atualização JWT opaco" é uma contradição conforme a definição acima. O que realmente significa aqui é que, em algumas estruturas JWT, apenas o token de autenticação é um JWT, mas como token de atualização, eles usam tokens opacos.
opaque token
é descrito como uma sequência aleatória que serve apenas como ponteiro para as informações armazenadas no servidor. Esse tipo de token é descrito aqui como reference token
considerando que um opaque token
pode realmente conter informações criptografadas (legíveis apenas para o emissor original). Portanto, existem definições ligeiramente diferentes das quais devemos estar cientes.
Aqui, o termo "opaco" significa que a string (que serve como token) é como uma referência (em OOPs), ou ponteiro (em C) ou chaves estrangeiras (em DBs relacionais). Você precisa de um conteúdo externo para resolvê-lo.
Simples versus Composto:
A cadeia é uma cadeia "simples", em oposição ao JWS, onde é "composta"; Tem peças "dentro" dele.
Dentro versus Fora:
Você pode extrair uma carga útil (com reivindicações, etc.) dela sem se referir a um servidor ou armazenamento externo, "fora" dessa sequência.
Como um token opaco é uma sequência simples, é apenas uma referência; portanto, naturalmente, seu formato é inteiramente arbitrariamente determinado pelo servidor que o emite (daí o termo "formato proprietário"). A sequência de tokens é determinada no momento da criação do conteúdo subjacente (referido), ou seja, quando é emparelhado (associado) ao conteúdo a que esse token (como referência ou chave estrangeira) se refere.