Если Nextcloud сообщает «Токен недействителен» при подключении к ONLYOFFICE Docs, убедитесь, что секретный ключ JWT коннектора совпадает с секретным ключом, который фактически использует Document Server. В ONLYOFFICE Docs 7.2 и более поздних версиях проверка JWT включена по умолчанию, и секретный ключ генерируется автоматически; изменение только параметра Nextcloud или редактирование сгенерированного конфигурационного файла контейнера Docker может привести к рассинхронизации данных между двумя сторонами.
Не забывайте оставлять JWT включенным. Сначала определите активный секрет и тип развертывания, обновите правильную конфигурацию, затем выполните проверку соединения коннектора. Проверка должна показать успешное соединение; открытие редактора в браузере само по себе не доказывает работоспособность загрузки документов и обратных вызовов.
Что означает эта ошибка?
JWT (JSON Web Token) — это подписанный токен, используемый для проверки доверия к запросу между Nextcloud и ONLYOFFICE Docs. Коннектор подписывает запросы с помощью своего настроенного секрета, а Document Server проверяет их, используя свой настроенный секрет. Если секреты подписи различаются, подпись токена не может быть проверена, и запрос отклоняется.
Наиболее распространенными причинами являются секрет, скопированный из старой установки, автоматически сгенерированный секрет, который никогда не был введен в Nextcloud, измененная переменная среды Docker, которая не была применена при пересоздании контейнера, или несогласованные значения секрета в конфигурации Document Server. Пользовательский заголовок JWT также может вызвать несоответствие, если коннектор и Document Server используют разные имена заголовка.
В этой статье рассматривается несоответствие JWT. Если же ошибка указывает на недоступность сервера, недействительный сертификат или невозможность загрузки документа, следует отдельно проверить адреса серверов, TLS-сертификат и сетевой путь от Nextcloud до сервера документов. Исправление JWT не устранит эти проблемы.
1. Найдите активный секретный ключ сервера документов.
Используйте конфигурацию работающего сервера документов. Не следует предполагать, что секрет, запомненный из предыдущего контейнера или сервера, все еще активен.
- Linux: inspect
/etc/onlyoffice/documentserver/local.json.
- Windows: проверить
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json.
- Docker: чтение секрета из запущенного контейнера. Официальный образ также поддерживает чтение секрета сессии с помощью этой команды:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
Замените <containerID>на фактическое имя или идентификатор контейнера. Рассматривайте возвращаемое значение как учетные данные: не вставляйте его на форумы поддержки, скриншоты или в публичные журналы.
local.jsonСравните значения в services.CoAuthoring.secret.inbox.string, services.CoAuthoring.secret.outbox.string, и . В services.CoAuthoring.secret.session.stringэтой стандартной конфигурации они должны быть идентичными. Также убедитесь, что проверка токена включена для браузера, входящих и исходящих запросов. В версиях документации до 7.2 проверка токена должна быть включена явно; в более поздних версиях она включена по умолчанию.
2. Обновите коннектор ONLYOFFICE в Nextcloud.
- Войдите в систему как администратор Nextcloud и откройте «Настройки» > «Администрирование» > «ONLYOFFICE» .
- В настройках сервера введите в поле «Секретный ключ» точное значение секретного ключа, найденное на работающем сервере документов . Избегайте пробелов в начале и конце ключа и не добавляйте кавычки, если они не являются частью самого секретного ключа.
- Проверьте настройку заголовка JWT, если в вашей системе используется пользовательский заголовок. Настройка коннектора
jwt_headerи настроенный заголовок токена сервера документов должны совпадать. Если вы не изменяли заголовок намеренно, не делайте этого в рамках данного исправления.
- Сохраните настройки. Оставьте JWT включенным с обеих сторон.
Настройки коннектора, указанные в документации, также можно изменить с помощью команды Nextcloud occиз каталога установки Nextcloud:
sudo -u www-data php occ config:app:set onlyoffice jwt_secret --value='YOUR_SECRET'
Замените YOUR_SECRETна фактическое значение. Использование кавычек в командной оболочке помогает сохранить пунктуацию, но для секретов, содержащих одинарные кавычки, требуется более безопасный метод, чем их прямая вставка в командную строку. Аргументы командной строки также могут быть видны привилегированным процессам или истории командной оболочки. По возможности отдавайте предпочтение административному интерфейсу, а затем проверяйте сохраненное значение, не раскрывая его.
3. Внесите изменения правильно, в соответствии с особенностями вашей установки.
Docker или Docker Compose
Для развертывания в Docker настраивайте JWT через среду контейнера, а не редактируйте автоматически сгенерированный файл вручную local.json. Установите тот же секретный ключ в определении службы Document Server:
environment:
- JWT_ENABLED=true
- JWT_SECRET=YOUR_SECRET
После внесения изменений в файл Compose, создайте контейнер Document Server заново, чтобы изменения вступили в силу. Например, из каталога, содержащего файл Compose:
docker compose up -d --force-recreate <documentserver-service>
Замените имя службы в своем файле Compose. Обычный перезапуск не применяет измененное значение среды к существующему контейнеру. Если вы используете команду `compose` docker run, создайте контейнер заново с обновленными значениями JWT_ENABLED`compose` и JWT_SECRET`compose`, сохранив его существующие порты, тома и другие необходимые параметры. Не удаляйте производственный контейнер, пока не подтвердите эти настройки и монтирование постоянных данных.
После запуска контейнера повторно считайте его активный секрет с помощью указанной выше команды и убедитесь, что значение по-прежнему совпадает с Nextcloud. Избегайте размещения производственного секрета в общедоступном файле Compose или репозитории исходного кода.
Установка пакета Linux или Windows.
Если вы намеренно задали пользовательский секретный ключ local.json, убедитесь, что три поля секретного ключа совпадают и что включены необходимые значения проверки токена. Примените изменения, перезапустив соответствующие службы сервера документов. В текущих инструкциях ONLYOFFICE указаны службы ds-converter, ds-docservice, и ds-metricsв Linux; для установок, управляемых другим диспетчером служб, может потребоваться метод перезапуска, соответствующий данной конфигурации. В Windows перезапустите службы ONLYOFFICE после сохранения конфигурации.
Несоответствие, возникающее после перезапуска, обычно означает, что сгенерированная конфигурация или среда развертывания переопределяют отредактированный файл. В случае Docker переместите исправление в переменные среды и пересоздайте контейнер. В случае развертывания пакетов проверьте активную конфигурацию и конфигурацию запуска службы, прежде чем вносить дополнительные изменения в параметры.
Проверьте ремонт
- В каталоге установки Nextcloud выполните проверку официального коннектора:
sudo -u www-data php occ onlyoffice:documentserver --check
Если это не так, используйте учетную запись веб-сервера, соответствующую вашей установке www-data. Команда должна сообщить об успешном подключении. Если она по-прежнему сообщает о недействительном токене, еще раз убедитесь, что активный секрет работающего Document Server точно совпадает с Nextcloud и что любой пользовательский заголовок JWT соответствует ему.
- Откройте небольшой тестовый документ из Nextcloud с помощью ONLYOFFICE. Убедитесь, что редактор загружается, внесите небольшое изменение, сохраните его, закройте редактор и снова откройте файл, чтобы убедиться, что изменения сохранились.
- Если проверка теперь выдает ошибку сети или сертификата, прекратите изменять значения JWT. Убедитесь, что Nextcloud может связаться с адресом Document Server и что Document Server может связаться с адресом обратного вызова Nextcloud. По возможности используйте доверенный TLS-сертификат; отключение проверки сертификата — небезопасное обходное решение, которое не исправляет проверку токена.
Эти проверки подтверждают работоспособность настроенного соединения и базового пути сохранения. Они не доказывают корректность каждого маршрута обратного прокси, конфигурации внешнего хранилища или многосерверной топологии; проверяйте эти пути отдельно, если ваша система их использует.
Официальные ссылки
Конфигурационные данные были проверены по официальной документации ONLYOFFICE и репозиторию коннекторов 9 октября 2026 года. Метки пользовательского интерфейса и управление службами могут различаться в зависимости от коннектора, операционной системы и метода развертывания.