O que é DAT? ​

DAT (Distributed Access Token) é uma especificação de token de acesso usada por um serviço emissor e um serviço verificador que compartilham o mesmo certificado. Como a verificação não precisa consultar novamente o serviço emissor nem um armazenamento central de sessões, o resultado da autenticação pode ser transmitido com menos acoplamento entre serviços.

expire
uint64
.
cid
uint64
.
plain
bytes
.
secure
bytes
.
signature
bytes
Os campos separados por pontos formam um DAT.

Componentes ​

DAT ​

É uma string enviada por um usuário ou serviço junto com a solicitação. Inclui o horário de expiração e o ID do certificado, e pode conter dados públicos e criptografados ao mesmo tempo.

Certificado ​

Contém os algoritmos, as chaves e o intervalo de tempo necessários para criar e conferir um DAT. O ID do certificado, cid, não muda; use um novo cid ao rotacionar as chaves.

Gerenciador ​

O gerenciador da biblioteca cliente armazena certificados, cria DAT com um certificado atualmente apto a emitir e verifica cada DAT com o certificado correspondente ao seu cid.

DAT CMS ​

É um servidor opcional que cria, armazena e entrega certificados aos serviços. Pode fornecer certificados completos aos serviços emissores e certificados exclusivos para verificação aos serviços que apenas verificam.

Emissão e verificação ​

person Usuário
workspace_premium DAT CMS
Gerenciamento de certificados
Sincronização baseada em versões
login Serviço emissor
apps Serviço verificador

O serviço emissor define os dados plain e secure e cria o DAT. O serviço verificador confere o horário de expiração, a assinatura e o conteúdo criptografado antes de entregar as duas áreas de dados à aplicação. plain é assinado, mas não criptografado, portanto não deve conter segredos nem dados pessoais.

Por que a verificação continua funcionando quando o certificado muda? ​

Quando um novo certificado fica apto a emitir, os DAT seguintes usam o novo cid. O certificado anterior permanece disponível para verificação até o fim do TTL dos DAT já emitidos. Assim, a rotação de chaves pode coexistir com o período de verificação dos tokens anteriores.

Ambientes adequados ​

  • Ambientes em que a autenticação e o recurso real são atendidos por serviços diferentes
  • Ambientes em que vários runtimes emitem ou verificam o mesmo token
  • Ambientes que transmitem informações de autorização de curta duração sem consultar uma sessão central
  • Ambientes que precisam separar informações públicas de roteamento e dados protegidos em um único token

O DAT não define a política de autorização. O fato de um DAT ser válido e a decisão da aplicação de permitir uma solicitação são questões distintas.

Próximos documentos ​