Настройка JWT для ONLYOFFICE Docs
Для защиты документов от несанкционированного доступа редакторы ONLYOFFICE используют JSON веб-токен (JWT). Токен добавляется в конфигурацию при инициализации Редактора документов и при обмене командами между внутренними сервисами ONLYOFFICE Docs. Секретный ключ используется для подписи веб-токена JSON и проверки токена при запросе к ONLYOFFICE Docs.
Начиная с ONLYOFFICE Docs v.7.2, JWT включен по умолчанию, а секретный ключ генерируется автоматически. Вы всегда можете изменить эти параметры на свое усмотрение. При обновлении с более ранней версии все секретные ключи, настроенные вручную, сохраняются.
Для защиты ваших документов укажите свой секретный ключ в файле конфигурации ONLYOFFICE Docs, затем укажите этот же секретный ключ в настройках коннектора. Если вы используете версию ниже 7.2, также необходимо включить проверку токена.
Для Linux/Windows: настройка ONLYOFFICE Docs
-
Откройте файл
local.jsonв любом доступном текстовом редакторе.- Для Linux —
/etc/onlyoffice/documentserver/local.json - Для Windows —
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json
- Для Linux —
-
Если вы используете версию ниже 7.2, включите проверку токена, изменив значение
falseнаtrueв трех разделах:services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
Укажите свой секретный ключ, заменив значение secret собственной текстовой строкой в трех разделах. Секретный ключ должен быть одинаковым во всех трех разделах.
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.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>"}}}}} -
Сохраните изменения.
-
Перезапустите службы, чтобы изменения вступили в силу:
Linux:
systemctl restart ds-converter ds-docservice ds-metricsWindows:
Get-Service | Where-Object { $_.DisplayName -like "*ONLYOFFICE*" } | Restart-Service -Force
Для Docker: использование переменных окружения
Для развертываний в Docker используйте переменные окружения в команде docker run, а не редактируйте файл local.json напрямую.
Если вручную изменить автоматически сгенерированный секретный ключ или отключить JWT в файле /etc/onlyoffice/documentserver/local.json, при перезапуске сервера JWT вновь включится и секретный ключ будет сгенерирован повторно. Для настройки JWT в развертываниях Docker всегда используйте переменные окружения.
Чтобы применить новые переменные окружения, необходимо пересоздать контейнер. Остановите и удалите существующий контейнер, затем запустите новый с обновленными параметрами:
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
Чтобы отключить JWT, используйте вместо этого -e JWT_ENABLED=false.