Pular para o conteúdo principal

Configurando JWT para ONLYOFFICE Docs

Para proteger documentos de acesso não autorizado, os editores ONLYOFFICE usam o JSON Web Token (JWT). O token é adicionado na configuração quando o Editor de Documentos é inicializado e durante a troca de comandos entre os serviços internos do ONLYOFFICE Docs. A chave secreta é usada para assinar o token web JSON e validar o token mediante a solicitação ao ONLYOFFICE Docs.

observação

A partir do ONLYOFFICE Docs v.7.2, o JWT é habilitado por padrão e a chave secreta é gerada automaticamente. Você sempre pode alterar os parâmetros para os que você necessitar. Ao atualizar de uma versão anterior, todas as chaves secretas configuradas manualmente serão preservadas.

Para proteger seus documentos, especifique sua própria chave secreta no arquivo de configuração do ONLYOFFICE Docs e, depois, especifique a mesma chave secreta nas configurações do conector. Se você estiver usando uma versão anterior à 7.2, também precisará habilitar a validação de token.

Para Linux/Windows: Configure o ONLYOFFICE Docs​

  1. Abra o arquivo local.json com qualquer editor de texto disponível.

    • Para Linux — /etc/onlyoffice/documentserver/local.json
    • Para Windows — %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json
  2. Se você estiver usando uma versão anterior à 7.2, habilite a validação de token alterando o valor false para true em três seções:

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. Especifique sua própria chave secreta substituindo o valor secreto por sua própria string de texto em três seções. A chave secreta deve ser a mesma nas três seções.

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
    {
    "services": {
    "CoAuthoring": {
    "token": {
    "enable": {
    "request": {
    "inbox": true,
    "outbox": true
    },
    "browser": true
    }
    },
    "secret": {
    "inbox": {
    "string": "<your_secret_key>"
    },
    "outbox": {
    "string": "<your_secret_key>"
    },
    "session": {
    "string": "<your_secret_key>"
    }
    }
    }
    }
    }
  4. Salve suas alterações.

  5. Reinicie os serviços para que as alterações de configuração entrem em vigor:

    Linux:

    systemctl restart ds-converter ds-docservice ds-metrics

    Windows:

    Get-Service | Where-Object { $_.DisplayName -like "*ONLYOFFICE*" } | Restart-Service -Force

Para Docker: Use variáveis de ambiente​

Para implantações Docker, use variáveis de ambiente no comando docker run em vez de editar o local.json diretamente.

Aviso

Se você alterar a chave secreta gerada automaticamente ou desabilitar o JWT manualmente em /etc/onlyoffice/documentserver/local.json, o JWT será habilitado novamente e a chave secreta será gerada novamente durante a reinicialização do servidor. Sempre use variáveis de ambiente para configurar o JWT em implantações Docker.

Para aplicar novas variáveis de ambiente, você precisa recriar o contêiner. Pare e remova o contêiner existente e, em seguida, execute um novo com os parâmetros atualizados:

sudo docker stop documentserver
sudo docker rm documentserver
sudo docker run -i -t -d -p 80:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=<your_secret_key> \
onlyoffice/documentserver

Para desabilitar o JWT, use -e JWT_ENABLED=false em vez disso.