O que é JWT e como essa tecnologia protege seus documentos

4 outubro 2022By Klaibson

Existem maneiras de proteger os arquivos ativamente – usando criptografia, marcas d’água, permissões de acesso restritivas. Mas a segurança dos documentos não termina aí. Leia este post para descobrir o JWT, uma importante ferramenta de proteção de acesso habilitada por padrão no ONLYOFFICE desde a versão 7.2.

O que é JWT e como essa tecnologia protege seus documentos

O que é JWT

JSON Web Token é um padrão aberto para troca segura de informações online usado principalmente para dois propósitos – autorização e transferência de dados.

Um objeto JSON compacto contém as informações de autenticação e fornece a capacidade de verificar usuários legítimos do serviço, quando aplicado em aplicativos da web. Em poucas palavras, isso ajuda o aplicativo a confirmar que o remetente das informações é quem eles afirmam ser.

JWT é um objeto autocontido na forma de uma string que consiste em três partes: cabeçalho, carga útil e assinatura. O cabeçalho contém as informações sobre o token e como a assinatura é gerada, a carga útil contém as declarações sobre o usuário necessárias para conceder permissão de acesso e a assinatura valida o usuário.

O token pode ser assinado com uma chave secreta que ajuda a validar a origem dos dados transferidos.

Como o ONLYOFFICE usa tokens de segurança

No ONLYOFFICE, o JWT protege o fluxo de dados entre o editor e o usuário. Ele ajuda a verificar os usuários que entram nas sessões de edição no Documentos e tentam realizar determinadas ações nos documentos. Para cada solicitação HTTP de e para o servidor de documentos ONLYOFFICE, um token é gerado e adicionado aos parâmetros.

Aqui, diferentes JWTs são gerados para diferentes ações do usuário. Embora os tokens sejam assinados com o mesmo segredo em cada caso, as informações que ajudam a autorizar a entrada são diferentes. Por exemplo, um token separado é criado para abrir o editor, para inserir uma imagem no arquivo, para abrir o histórico de versões do documento, etc.

Por exemplo, para adicionar uma imagem PNG ao arquivo hospedado em www.example.com, os seguintes parâmetros serão incluídos no token:

{
    "fileType": "png",
    "url": "https://example.com/url-to-example-image.png"
}

E é assim que o token de amostra ficará:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxlVHlwZSI6InBuZyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vdXJsLXRvLWV4YW1wbGUtaW1hZ2UucG5nIn0.FXuC3GUvPq3japwyzo4i-utUe3g1rfSDt1ytuK_VyCc

Para assinar o JWT, um segredo personalizado é usado em cada serviço de compartilhamento em que o ONLYOFFICE Docs está integrado.

Onde recuperar a chave secreta

Nas versões anteriores do ONLYOFFICE Docs, o segredo JWT precisava ser gerado por um administrador do serviço de host (ou seja, Nextcloud) e enviado ao ONLYOFFICE Document Server manualmente por meio de configurações para habilitá-lo.

A partir da versão 7.2 o JWT é habilitado por padrão. Um segredo aleatório é gerado automaticamente e só precisa ser adicionado ao lado do aplicativo host. Você pode obter o segredo JWT padrão e substituí-lo por uma chave personalizada, se necessário.

Observação: se você já estiver usando o ONLYOFFICE Docs com JWT, a chave original permanecerá em sua configuração. A exceção é a instalação do Docker: se no Document Server instalado as variáveis env não estiverem definidas ou os parâmetros JWT não estiverem definidos, um segredo aleatório será gerado após a atualização.

Instalação de servidores Linux e Windows

Você pode obter o segredo JWT padrão do arquivo local.json usando o seguinte caminho:

Para Linux: /etc/onlyoffice/documentserver/local.json

Para Windows: %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json

Você pode encontrar o segredo em services.CoAuthoring.secret.browser.string parameter.

Instalação do Docker

Se o ONLYOFFICE Docs estiver instalado usando o Docker, execute o script a seguir para obter o segredo:

sudo docker exec f00ad6e66a40 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'

Para substituir o segredo padrão por uma chave personalizada, leia a documentação.

Instruções individuais para cada método de instalação também estarão disponíveis no página de lançamento do ONLYOFFICE Docs depois da instalação.

Onde o JWT está disponível?

O JWT é compatível com quase todos os aplicativos de integração oficiais do ONLYOFFICE:

  • Nextcloud
  • ownCloud
  • Alfresco
  • Moodle
  • Mattermost
  • Chamilo
  • HumHub
  • Confluence
  • Plone
  • Strapi
  • Liferay
  • Jira
  • Nuxeo
  • Redmine
  • WordPress

Você pode navegar por todas as integrações disponíveis em nosso website e encontre guias de configuração de tokens nas respectivas páginas do GitHub.

Se você deseja criar um aplicativo de integração do ONLYOFFICE para seu próprio aplicativo, é possível adicionar suporte para os tokens de segurança usando nosso guia da API.