Token de sessão opaco

Definição

Um identificador que não tem significado para quem o possui — ele referencia o estado no servidor em vez de descrevê-lo, portanto um cliente não pode lê-lo, modificá-lo ou adivinhar um valor vizinho.

O contraste é com um identificador transparente. Se um visualizador acessa documentos por /view?file=/records/2026/patient-4417.pdf, o cliente descobre a estrutura de diretórios, sua convenção de nomenclatura e que o paciente 4416 provavelmente existe. Incrementar um inteiro é o bug de vazamento de documentos mais antigo que existe, e ainda é explorado hoje.

Um token opaco elimina toda a categoria. O servidor mantém o mapeamento do token para o documento; o cliente possui uma string que não pode interpretar. A enumeração deixa de ser possível porque não há nada para enumerar.

Opaco não significa inofensivo. Um token ainda autoriza o acesso ao que quer que ele referencie, portanto deve ser tratado como uma credencial de curta duração: não registrado, não inserido em URLs que acabam em análises, não persistido no cliente além da duração da visualização.

No Doconut

Viewer.OpenDocumentAsync() retorna um token opaco que o widget JavaScript apresenta para buscar páginas. Não é um identificador de documento e nunca deve ser registrado, armazenado em cache no cliente além do visualizador, ou reutilizado entre sessões.

Veja como funciona na prática

As definições só levam você até certo ponto. Uma licença temporária roda na sua própria máquina, contra seus próprios documentos.