При интеграции ONLYOFFICE с вашим приложением на Vue 3 и использовании Docker важно убедиться, что все настройки сделаны правильно. Ошибка, с которой вы сталкиваетесь, может быть связана с несколькими аспектами, связанными с JWT, URL и конфигурацией. Давайте рассмотрим основные шаги, которые вы можете предпринять, чтобы решить проблемы с интеграцией ONLYOFFICE.
### 1. Настройка сервера ONLYOFFICE
Сначала убедитесь, что сервер ONLYOFFICE правильно настроен и функционирует с конфигурацией JWT.
#### Запуск Docker-контейнера
Если вы хотите отключить JWT, вы можете запустить контейнер с параметром:
```bash
docker run -i -t -d -p 80:80 -e JWT_ENABLED=false onlyoffice/documentserver
```
Если вы хотите использовать JWT (что рекомендуется для повышения безопасности), убедитесь, что вы указали `JWT_SECRET` при запуске контейнера, например:
```bash
docker run -i -t -d -p 80:80 -e JWT_ENABLED=true -e JWT_SECRET=my_secret_key onlyoffice/documentserver
```
Замените `my_secret_key` на ваш собственный секретный ключ.
### 2. Настройте конфигурацию Vue компонента
Если вы используете JWT, ключ должен быть правильно сформирован. Убедитесь, что вы правильно передаете JWT-токен из вашего Vue-приложения.
Вот пример того, как вы можете создать JWT-токен с использованием вашего секретного ключа:
```javascript
import jwt from "jsonwebtoken";
const secretKey = "my_secret_key"; // Убедитесь, что это тот же секретный ключ, что и в ONLYOFFICE
const payload = {
// Любые необходимые данные для вашего документа
id: "document_id",
title: "Example Document Title",
};
// Создание токена
const token = jwt.sign(payload, secretKey, { expiresIn: '1h' });
```
Теперь вы можете использовать этот `token` в параметре `key` документа:
```javascript
data() {
return {
config: {
document: {
fileType: "docx",
key: token, // Используйте токен здесь
title: "Example Document Title.docx",
url: "https://example.com/url-to-example-document.docx",
},
documentType: "word",
editorConfig: {
callbackUrl: "https://example.com/url-to-callback.ashx",
},
},
};
},
```
### 3. Проверьте Callback URL
Убедитесь, что `callbackUrl` указывает на правильный адрес на вашем сервере. ONLYOFFICE будет отправлять данные о сохранении документа по этому URL. Убедитесь, что ваш сервер принимает эти запросы.
### 4. Проверка окружения
Перепроверьте конфигурации вашего окружения Docker и вашего Vue-приложения. Убедитесь, что URL, которые вы используете (для сервера и документов), доступны и правильно настроены.
### 5. Логи и отладка
Если ошибка сохраняется, проверьте логи сервера ONLYOFFICE. Они могут дать больше информации о том, что именно происходит. Логи можно найти с помощью команды `docker logs <container_id>`.
### 6. Заключение
Следуя этим шагам, вы должны быть в состоянии решить проблемы с интеграцией ONLYOFFICE в ваше Vue 3 приложение. Если после настройки конфигурации вы все еще сталкиваетесь с ошибками, сообщите, какие конкретно сообщения вы видите и на каком этапе возникают проблемы.