Инструменты пользователя

Инструменты сайта


instrukcija_po_registracii_servisa_na_platforme

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

instrukcija_po_registracii_servisa_na_platforme [2026/05/03 09:00] – создано sharixadmininstrukcija_po_registracii_servisa_na_platforme [2026/05/03 09:15] (текущий) sharixadmin
Строка 1: Строка 1:
-====== Подключение установленного ShariX Open к Платформе ShariX ======+====== Подключение своего ShariX Open к Платформе ShariX ======
  
-Эта инструкция описывает порядок действий для владельца сервиса, у которого уже установлен и работает экземпляр **ShariX Open**, и который хочет подключить его к **Платформе ShariX**.+Инструкция для владельца сервиса, у которого уже установлен ShariX Open и который хочет подключить его к Платформе ShariX. 
 + 
 +===== Что получится после настройки =====
  
 После подключения: После подключения:
  
-  * пользователи смогут регистрироваться на сервисе с синхронизацией профиля через платформу+  * сервис появится на платформе; 
-  * пользователь платформы сможет подключить сервис через интерфейс платформы+  * владелец сервиса получит права администратора сервиса; 
-  * платформа сможет создавать пользователя на сервисе через API+  * пользователи смогут подключать сервис через платформу
-  * изменения профиля и пароля смогут синхронизироваться между платформой и подключенными сервисами; +  * новые пользователи смогут регистрироваться на сервисе с синхронизацией профиля
-  * владелец сервиса будет назначен единственным пользователем с ролью ''METASERVICE-ADMIN'' на сервисе.+  * изменения профиля и пароля смогут передаваться через платформу на другие подключенные сервисы.
  
-===== 1. Термины =====+===== 1. Подготовьте сервис =====
  
-^ Термин ^ Что означает ^ +Выполняется на сервере, где установлен ShariX Open.
-| Сервис | Установленный экземпляр ShariX Open. Например, ''https://open.example.org/''. | +
-| Платформа | Центральная платформа ShariX. Например, ''https://platform.example.org/''. | +
-| ''METASERVICE_ID'' | ID записи сервиса на платформе. Создается платформой после регистрации сервиса. | +
-| ''PLATFORM_API_URL'' | API URL платформы, настроенный на сервисе вручную. Например''https://platform.example.org/my/api/''. | +
-| ''PLATFORM_API_KEY'' | Ключ, который платформа выдает сервису для доступа сервиса к API платформы. | +
-| Ключ доступа платформы к сервису | Ключ, который генерируется на сервисе и переносится на платформу в поле ''dbsynce_key''. | +
-| ''api_url'' сервиса на платформе | URL API установленного сервиса. Например, ''https://open.example.org/my/api/''. | +
-| ''dbsynce_key'' на платформе | Ключ доступа платформы к API сервиса. Генерируется на сервисе|+
  
-<note important> +Откройте файл ''.env'' сервиса и проверьте настройки.
-Не путайте два разных направления доступа:+
  
-  * **Сервис → Платформа**: сервис использует ''PLATFORM_API_URL'' и ''PLATFORM_API_KEY''+Для первичного подключения рекомендуется:
-  * **Платформа → Сервис**: платформа использует ''api_url'' сервиса и ключ, сгенерированный на сервисе. +
-</note> +
- +
-===== 2. Что должно быть уже готово ===== +
- +
-Перед подключением убедитесь, что: +
- +
-  - ShariX Open установлен и открывается в браузере. +
-  - На сервисе есть пользователь, который может зайти в кабинет администратора сервиса. +
-  - На платформе есть пользователь, который будет создавать запись сервиса. +
-  - Установлены и применены миграции всех подключенных модулей. +
-  - Сервис доступен с платформы по сети. +
-  - На сервисе в ''.env'' указан корректный ''PLATFORM_API_URL''+
- +
-Пример настройки на сервисе:+
  
 <code> <code>
 +DEBUG=True
 PLATFORM_INTEGRATION=2 PLATFORM_INTEGRATION=2
-PLATFORM_API_URL=https://platform.example.org/my/api/+PLATFORM_API_URL=https://адрес-платформы/my/api/
 DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT
 +SYSTEMD_SERVICE_NAME=sharix_main
 </code> </code>
  
-Рекомендуемый режим для первичной настройки:+Что означает каждая настройка:
  
-<code> +^ Настройка ^ Что указать ^ 
-PLATFORM_INTEGRATION=2 +| ''DEBUG=True'' | Удобно на этапе разворачивания: сервис сможет показывать сгенерированный ключ для переноса на платформу. После настройки лучше вернуть ''False''. | 
-</code>+| ''PLATFORM_INTEGRATION=2'' | Подготовительный режим. Сервис уже пробует синхронизацию, но еще не считается полностью активным. | 
 +| ''PLATFORM_API_URL'' | Адрес API платформы. Пример: ''https://testpm1.sharix-app.org/my/api/''. | 
 +| ''DEFAULT_CLIENT_ROLE'' | Роль пользователя при самостоятельной регистрации на сервисе. Обычно ''METASERVICE-CLIENT''. | 
 +| ''SYSTEMD_SERVICE_NAME'' | Имя systemd-сервиса без ''.service''. Нужно для перезапуска через веб-интерфейс. Например, если systemd-сервис называется ''sharix_main.service'', укажите ''sharix_main''. |
  
-Это подготовительный режим. В нем можно настраивать интеграцию, проверять ключи и API, не считая сервис полностью активным.+Возможные значения ''DEFAULT_CLIENT_ROLE'':
  
-После успешной проверки можно перейти в активный режим:+^ Значение ^ Когда использовать ^ 
 +| ''METASERVICE-CLIENT'' | Обычный вариант. Зарегистрированный пользователь становится клиентом сервиса. | 
 +| ''METASERVICE-GUEST'' | Пользователи создаются только локально, без синхронизации с платформой. | 
 +| ''METASERVICE-CORPCLIENT'' | Регистрация используется как заявка на корпоративное обслуживание. |
  
-<code> +После изменения ''.env'' перезапустите сервис.
-PLATFORM_INTEGRATION=1 +
-</code>+
  
-===== 3. Режимы интеграции =====+Если доступен веб-интерфейс администратора:
  
-^ Значение ^ Название ^ Смысл ^ +  - Войдите в Django admin сервиса. 
-| ''0'' | off | Интеграция отключена. Сервис работает автономно| +  - Откройте раздел ''Visual settings''. 
-| ''1'' | active | Активная интеграция. Изменения синхронизируются между сервисом и платформой. | +  Нажмите кнопку ''Перезапустить сервис''
-''2'' | setup | Подготовительный режимAPI-синхронизация возможна, но сервис еще не считается активным для пользователей платформы. | +  - Подтвердите перезапуск.
-''3'' | error | Аварийный режим. Используется, если активный сервис перестал корректно синхронизироваться. | +
-| ''4'' | deleted | Удалено / больше не используется. Применяется на платформе|+
  
-<note warning> +Если кнопка перезапуска не работает, проверьте ''SYSTEMD_SERVICE_NAME'' в ''.env''. Значение должно совпадать с именем systemd-сервиса без ''.service''.
-''PLATFORM_INTEGRATION'' на сервисе — это настройка администратора сервисаПлатформа не должна автоматически менять это значение в ''.env''. +
-</note>+
  
-===== 4. Шаг 1. Настроить сервис перед подключением к платформе ===== +Пример:
- +
-Выполняется **на сервере сервиса ShariX Open**. +
- +
-Откройте ''.env'' установленного сервиса и проверьте:+
  
 <code> <code>
-PLATFORM_INTEGRATION=+SYSTEMD_SERVICE_NAME=sharix_main
-PLATFORM_API_URL=https://platform.example.org/my/api/ +
-DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT+
 </code> </code>
  
-Если сервис должен регистрировать обычных пользователей как клиентов сервиса:+Для ручного перезапуска через сервер:
  
 <code> <code>
-DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT+systemctl restart sharix_main.service
 </code> </code>
  
-Если сервис должен регистрировать пользователей только локально, без синхронизации: +===== 2. Сгенерируйте на сервисе ключ для платформы =====
- +
-<code> +
-DEFAULT_CLIENT_ROLE=METASERVICE-GUEST +
-</code> +
- +
-Если сервис должен принимать заявки корпоративных клиентов: +
- +
-<code> +
-DEFAULT_CLIENT_ROLE=METASERVICE-CORPCLIENT +
-</code> +
- +
-<note important> +
-Если указано ''METASERVICE-GUEST'', пользователи при ручной регистрации создаются локально, без записи ''Client'' и без синхронизации с платформой. +
-</note> +
- +
-===== 5. Шаг 2. Сгенерировать на сервисе ключ доступа для платформы =====+
  
-Выполняется **в интерфейсе сервиса ShariX Open**.+Выполняется в интерфейсе сервиса ShariX Open.
  
-  - Войдите на сервис под пользователем с правами администратора сервиса.+  - Войдите на сервис под администратором.
   - Откройте кабинет метасервиса.   - Откройте кабинет метасервиса.
   - Нажмите кнопку генерации API-ключа для платформы.   - Нажмите кнопку генерации API-ключа для платформы.
   - Скопируйте полученный ключ.   - Скопируйте полученный ключ.
  
-Этот ключ нужен платформе, чтобы обращаться к API сервиса.+Этот ключ нужен платформе, чтобы обращаться к вашему сервису.
  
-Пример того, куда платформа потом будет обращаться:+Если ''DEBUG=True'', ключ может отображаться в кабинете сервиса, чтобы его было удобно скопировать.
  
-<code> +Если ''DEBUG=False'', ключ может быть показан только один раз сразу после генерацииСкопируйте его сразу.
-GET   https://open.example.org/my/api/v1/platform/health/ +
-PATCH https://open.example.org/my/api/v1/platform/settings/ +
-POST  https://open.example.org/my/api/v1/platform/users/register/ +
-PATCH https://open.example.org/my/api/v1/platform/users/profile/ +
-</code>+
  
-<note warning> +===== 3. Создайте сервис на платформе =====
-В рабочем режиме ключ может быть показан только один раз после генерации. Скопируйте его сразу.+
  
-В отладочном режиме ''DEBUG=True'' ключ может дополнительно отображаться в кабинете сервиса, чтобы его было удобно перенести на платформу. +Выполняется на Платформе ShariX.
-</note>+
  
-===== 6. Шаг 3. Создать сервис на платформе ===== +  - Войдите на платформу под пользователем, который будет владельцем сервиса.
- +
-Выполняется **на Платформе ShariX**. +
- +
-  - Войдите на платформу под пользователем, который будет владельцем/представителем сервиса.+
   - Откройте раздел создания сервиса.   - Откройте раздел создания сервиса.
-  - Заполните данные сервиса+  - Создайте сервис и заполните основные данные: 
-    * название сервиса;+    * название;
     * юридическое название;     * юридическое название;
     * ИНН;     * ИНН;
     * реквизиты;     * реквизиты;
     * описание;     * описание;
-    * URL сайта сервиса; +    * адрес сайта сервиса.
-    * API URL сервиса+
-    * ключ доступа платформы к сервису.+
  
-Ключевые поля для интеграции:+На этапе первичного создания на платформе может не быть поля для ключа синхронизации. Это нормально.
  
-^ Поле на платформе ^ Что указать ^ +Сначала создайте сервис. После создания откройте карточку или форму редактирования сервиса и внесите данные интеграции.
-| ''api_url'' | API URL установленного сервисаНапример, ''https://open.example.org/my/api/''. | +
-| ''dbsynce_key'' | Ключкоторый был сгенерирован на сервисе для доступа платформы к API сервиса|+
  
-Пример:+===== 4. Заполните на платформе данные для связи с сервисом =====
  
-<code> +Выполняется на платформе, в карточке или форме редактирования созданного сервиса.
-api_url=https://open.example.org/my/api/ +
-dbsynce_key=ключ_сгенерированный_на_сервисе +
-</code>+
  
-После сохранения платформа создает запись сервиса и выдает сервису собственный API-ключ для обратного доступа:+Нужно заполнить два значения.
  
-<code> +^ Что заполнить на платформе ^ Что туда вставить ^ 
-PLATFORM_API_KEY +| API URL сервиса | Адрес API вашего сервиса. Например: ''https://open.example.org/my/api/''. | 
-</code>+| Ключ доступа к сервису ключ синхронизации | Ключ, который вы сгенерировали на сервисе на шаге 2. |
  
-Этот ключ нужен сервису, чтобы обращаться к API платформы. +Пример:
- +
-===== 7. Что платформа делает автоматически после сохранения сервиса ===== +
- +
-Если на платформе заполнены: +
- +
-  * ''api_url''; +
-  * ''dbsynce_key''; +
-  * платформенный API-ключ для сервиса, +
- +
-то платформа автоматически пытается выполнить настройку сервиса. +
- +
-==== 7.1. Передача настроек на сервис ==== +
- +
-Платформа вызывает API сервиса:+
  
 <code> <code>
-PATCH /my/api/v1/platform/settings/+API URL сервиса: https://open.example.org/my/api/ 
 +Ключ доступа к сервису: скопированный_ключ_с_сервиса
 </code> </code>
  
-На сервис передаются только:+Сохраните карточку сервиса.
  
-<code> +===== 5. Передайте сервису ключ платформы =====
-+
-  "metaservice_id": "<ID сервиса на платформе>", +
-  "platform_api_key": "<ключ, выданный платформой сервису>" +
-+
-</code>+
  
-Сервис записывает в свой ''.env'':+После создания сервиса платформа генерирует ключ, с которым ваш сервис сможет обращаться к API платформы.
  
-<code> +Этот ключ должен попасть на сервис в ''.env'':
-METASERVICE_ID=<ID сервиса на платформе> +
-PLATFORM_API_KEY=<ключ, выданный платформой сервису> +
-</code> +
- +
-<note important> +
-Платформа не перезаписывает ''PLATFORM_API_URL'' на сервисе. Этот URL задается администратором сервиса вручную. +
-</note> +
- +
-==== 7.2. Назначение METASERVICE-ADMIN на сервисе ==== +
- +
-После обновления настроек платформа вызывает API сервиса и передает текущего пользователя платформы как администратора сервиса:+
  
 <code> <code>
-POST /my/api/v1/platform/users/register/+PLATFORM_API_KEY=ключ_выданный_платформой
 </code> </code>
  
-С ролью:+Также сервис должен знать свой ID на платформе:
  
 <code> <code>
-METASERVICE-ADMIN+METASERVICE_ID=ID_сервиса_на_платформе
 </code> </code>
  
-Сервис должен:+Есть два способа заполнить эти значения.
  
-  * создать пользователя, если его еще нет; +==== Способ 1. Автоматически через кнопку на платформе ====
-  * назначить ему роль ''METASERVICE-ADMIN''; +
-  * снять ''METASERVICE-ADMIN'' с тестового пользователя ''2101'', если он был; +
-  * снять лишние права ''METASERVICE-ADMIN'' с других пользователей; +
-  * оставить только одного ''METASERVICE-ADMIN''.+
  
-==== 7.3. Проверка состояния сервиса ====+Используйте этот способ, если уже заполнены:
  
-Платформа вызывает:+  * API URL сервиса; 
 +  * ключ доступа платформы к сервису; 
 +  * сервис доступен с платформы.
  
-<code> +В карточке или форме редактирования сервиса на платформе нажмите кнопку обновления настроек сервиса, если она доступна.
-GET /my/api/v1/platform/health/ +
-</code>+
  
-И проверяет:+После этого платформа сама запишет на сервис в ''.env'':
  
 <code> <code>
-metaservice_admin_is_valid true +METASERVICE_ID=ID_сервиса_на_платформе 
-metaservice_admin_count 1+PLATFORM_API_KEY=ключ_выданный_платформой
 </code> </code>
  
-Если на сервисе больше одного ''METASERVICE-ADMIN'', активная интеграция считается некорректной.+После записи настроек перезапустите сервис.
  
-===== 8. Шаг 4. Проверить результат на сервисе =====+На сервисе это можно сделать через:
  
-Выполняется **на сервисе ShariX Open**.+  - Django admin; 
 +  - ''Visual settings''; 
 +  - кнопку ''Перезапустить сервис''.
  
-Проверьте ''.env'' сервиса:+==== Способ 2. Вручную через .env ====
  
-<code> +Если автоматическая кнопка недоступна или не сработалавнесите значения вручную в ''.env'' сервиса:
-PLATFORM_INTEGRATION=2 +
-PLATFORM_API_URL=https://platform.example.org/my/api/ +
-METASERVICE_ID=<ID сервиса на платформе> +
-PLATFORM_API_KEY=<ключ, выданный платформой сервису> +
-</code> +
- +
-Проверьте, что в сервисе: +
- +
-  * появился или обновился пользователь-владелец сервиса; +
-  * у него есть роль ''METASERVICE-ADMIN''; +
-  * у пользователя ''2101'' больше нет роли ''METASERVICE-ADMIN'', если она была+
-  * в кабинете метасервиса нет предупреждения о нескольких ''METASERVICE-ADMIN''+
- +
-Если используется Testkit, можно проверить endpoint:+
  
 <code> <code>
-GET /my/api/v1/platform/health/+METASERVICE_ID=ID_сервиса_на_платформе 
 +PLATFORM_API_KEY=ключ_выданный_платформой
 </code> </code>
  
-Ожидаемый смысл ответа:+После этого перезапустите сервис.
  
-<code> +===== 6. Назначьте администратора сервиса =====
-status=ok +
-metaservice_admin_is_valid=true +
-metaservice_admin_count=+
-platform_api_key_configured=true +
-</code>+
  
-===== 9. Шаг 5. Активировать сервис =====+После того как платформа может обращаться к сервису, она назначает владельца сервиса администратором сервиса.
  
-После успешной настройки можно перевести сервис из подготовительного режима в активный.+Обычно это происходит после сохранения настроек интеграции на платформе.
  
-На сервисе в ''.env'':+В результате на сервисе должно быть так:
  
-<code> +  * пользователь-владелец сервиса создан или обновлен; 
-PLATFORM_INTEGRATION=1 +  * у него есть роль ''METASERVICE-ADMIN''; 
-</code>+  * тестовый пользователь ''2101'' больше не является ''METASERVICE-ADMIN''; 
 +  * других лишних ''METASERVICE-ADMIN'' нет.
  
-После изменения ''.env'' перезапустите приложение сервиса.+Проверьте это в кабинете метасервиса на сервисе.
  
-На платформе сервис также должен быть в активном статусе интеграции.+Если на сервисе найдено больше одного ''METASERVICE-ADMIN'', в кабинете должно появиться предупреждение и кнопки для снятия лишних прав.
  
-===== 10. Регистрация пользователей после подключения =====+Оставьте одного администратора сервиса.
  
-==== 10.1. Пользователь регистрируется на сервисе ====+===== 7. Проверьте состояние подключения =====
  
-Если на сервисе+На сервисе проверьте ''.env'':
- +
-<code> +
-DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT +
-PLATFORM_INTEGRATION=1 +
-</code> +
- +
-или:+
  
 <code> <code>
 PLATFORM_INTEGRATION=2 PLATFORM_INTEGRATION=2
 +PLATFORM_API_URL=https://адрес-платформы/my/api/
 +METASERVICE_ID=ID_сервиса_на_платформе
 +PLATFORM_API_KEY=ключ_выданный_платформой
 </code> </code>
  
-то при регистрации пользователь может выбрать синхронизацию с платформой.+На платформе в карточке сервиса проверьте:
  
-Если пользователь выбрал синхронизацию:+  * API URL сервиса заполнен; 
 +  * ключ доступа к сервису заполнен; 
 +  * сервис не находится в аварийном режиме; 
 +  * текущий владелец сервиса соответствует администратору на сервисе.
  
-  * сервис пытается создать пользователя на платформе; +На сервисе проверьте:
-  * если платформа успешно создала пользователя, на сервисе создается ''Client'' с ''is_global = true''; +
-  * если платформа недоступна, пользователь создается локально, а ''Client.is_global'' остается ''false''; +
-  * если пользователь уже существует на платформе, сервис предлагает перейти на платформу и подключить сервис там.+
  
-==== 10.2. Пользователь уже есть на платформе ====+  * кабинет метасервиса открывается; 
 +  * нет предупреждения о нескольких ''METASERVICE-ADMIN''; 
 +  * Testkit, если подключен, открывается; 
 +  * регистрация пользователя работает.
  
-Если пользователь уже существует на платформе и хочет подключить сервис:+===== 8. Переведите сервис в активный режим =====
  
-  - пользователь авторизуется на платформе; +Когда все проверки прошли успешноизмените на сервисе ''.env'':
-  - открывает список активных сервисов; +
-  - выбирает нужный сервис; +
-  - нажимает подключение сервиса. +
- +
-После этого платформа вызывает API сервиса и создает/обновляет пользователя на сервисе. +
- +
-==== 10.3. Корпоративный клиент ==== +
- +
-Если на сервисе:+
  
 <code> <code>
-DEFAULT_CLIENT_ROLE=METASERVICE-CORPCLIENT+PLATFORM_INTEGRATION=1
 </code> </code>
  
-то при регистрации:+Перезапустите сервис.
  
-  * создается пользователь; +После этого сервис работает в активном режиме синхронизации.
-  * назначается роль корпоративного клиента; +
-  * создается ''Client'' в неактивном состоянии; +
-  * создается заявка ''CorpClient''; +
-  * текущий пользователь становится представителем корпоративного клиента.+
  
-===== 11Синхронизация профиля пользователя =====+===== 9Проверьте регистрацию пользователя =====
  
-Состояние синхронизации пользователя на сервисе хранится в записи ''Client'':+Проверьте сценарий самостоятельной регистрации на сервисе.
  
-^ Значение ^ Смысл ^ +Если в ''.env'':
-| ''Client.is_global = true'' | Профиль пользователя синхронизируется с платформой. | +
-| ''Client.is_global = false'' | Пользователь работает локально на сервисе. | +
- +
-Если у пользователя нет записи ''Client'', он считается локальным пользователем сервиса. +
- +
-Пользователь может управлять синхронизацией в своем профиле, если: +
- +
-  * сервис подключен к платформе; +
-  * ''PLATFORM_INTEGRATION'' равен ''1'' или ''2''; +
-  * у пользователя есть запись ''Client''; +
-  * базовая роль регистрации допускает создание клиента. +
- +
-===== 12. Смена профиля и пароля ===== +
- +
-Если у пользователя включена синхронизация: +
- +
-  * изменение профиля на сервисе отправляется на платформу; +
-  * смена пароля на сервисе отправляется на платформу; +
-  * платформа обновляет данные у себя; +
-  * платформа пробует отправить изменения на другие сервисы, с которыми пользователь связан и где включена синхронизация. +
- +
-Если один из связанных сервисов не принял изменение: +
- +
-  * операция для пользователя-инициатора не откатывается; +
-  * профиль или пароль на инициирующем сервисе уже изменены; +
-  * платформа переводит проблемный сервис в аварийный режим; +
-  * пользователю может быть показано предупреждение со списком сервисов, где синхронизация не удалась. +
- +
-===== 13. Аварийный режим ===== +
- +
-Если активный сервис должен синхронизироваться с платформой, но API сервиса недоступен или возвращает ошибку, платформа может перевести сервис в статус:+
  
 <code> <code>
-3+DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT 
 +PLATFORM_INTEGRATION=1
 </code> </code>
  
-Это означает:+то на форме регистрации пользователь сможет выбрать синхронизацию с платформой.
  
-<code> +Ожидаемое поведение:
-error +
-</code>+
  
-В аварийном режиме сервис не считается корректно синхронизированным.+^ Ситуация ^ Что должно произойти ^ 
 +| Пользователь выбрал синхронизацию, и на платформе его еще нет | Пользователь создается на сервисе и на платформе. | 
 +| Пользователь выбрал синхронизацию, но уже есть на платформе | Сервис предлагает перейти на платформу и подключить сервис там. | 
 +| Пользователь не выбрал синхронизацию | Пользователь создается локально на сервисе. | 
 +| Платформа временно недоступна | Пользователь создается локальносинхронизация отключается, показывается предупреждение|
  
-Чтобы вернуть сервис в рабочее состояние:+===== 10. Проверьте подключение существующего пользователя платформы =====
  
-  - проверьте доступность API сервиса; +Выполняется на платформе.
-  - проверьте ''api_url'' на платформе+
-  - проверьте ''dbsynce_key'' на платформе; +
-  - проверьте ''PLATFORM_API_URL'' на сервисе; +
-  - проверьте ''METASERVICE_ID'' и ''PLATFORM_API_KEY'' на сервисе; +
-  - проверьте, что на сервисе ровно один ''METASERVICE-ADMIN''; +
-  - после исправления переведите статус интеграции обратно в активный.+
  
-===== 14. Минимальный чек-лист подключения =====+  - Войдите на платформу под пользователем, который уже существует на платформе. 
 +  - Откройте список сервисов. 
 +  Найдите ваш сервис. 
 +  - Нажмите подключение сервиса.
  
-==== На сервисе ====+Ожидаемое поведение:
  
-  - Установлен ShariX Open. +  * платформа создаст или обновит пользователя на сервисе; 
-  - В ''.env'' указан ''PLATFORM_API_URL''+  на платформе появится активная связь пользователя с сервисом
-  - В ''.env'' указан ''PLATFORM_INTEGRATION=2'' для первичной настройки. +  * на сервисе у пользователя появится запись клиента; 
-  - Сгенерирован ключ доступа платформы к сервису+  * синхронизация профиля будет включена.
-  - Скопирован сгенерированный ключ.+
  
-==== На платформе ====+===== 11. Проверьте синхронизацию профиля =====
  
-  - Создана запись сервиса. +На сервисе откройте профиль пользователя.
-  - Заполнен ''api_url'' сервиса. +
-  - В ''dbsynce_key'' вставлен ключ, сгенерированный на сервисе. +
-  - Платформа выдала сервису ''PLATFORM_API_KEY''+
-  - Платформа успешно записала на сервис ''METASERVICE_ID'' и ''PLATFORM_API_KEY''+
-  - Платформа назначила текущего пользователя единственным ''METASERVICE-ADMIN'' на сервисе. +
-  - Health-check сервиса проходит успешно.+
  
-==== После настройки ==== +Если синхронизация доступна, в профиле должна быть кнопка включения или отключения синхронизации с платформой.
- +
-  - На сервисе в ''.env'' появились ''METASERVICE_ID'' и ''PLATFORM_API_KEY''+
-  - ''PLATFORM_API_URL'' остался заданным вручную. +
-  - На сервисе ровно один ''METASERVICE-ADMIN''+
-  - Пользователь-владелец сервиса может зайти в кабинет сервиса. +
-  - Сервис можно перевести из ''PLATFORM_INTEGRATION=2'' в ''PLATFORM_INTEGRATION=1''+
- +
-===== 15. Типовые ошибки ===== +
- +
-==== Платформа не может связаться с сервисом ====+
  
 Проверьте: Проверьте:
  
-  * правильно ли заполнен ''api_url'' на платформе; +  - Включите синхронизацию. 
-  * доступен ли сервис из сети платформы; +  - Измените имя или email. 
-  * заканчивается ли ''api_url'' на ''/my/api/''; +  - Сохраните профиль. 
-  * не блокирует ли доступ firewall; +  - Проверьте, что изменение появилось на платформе.
-  * корректен ли ключ ''dbsynce_key''.+
  
-==== Сервис не может связаться с платформой ====+Если пользователь подключен к нескольким сервисам, платформа попробует передать изменение на остальные сервисы.
  
-Проверьте на сервисе:+Если какой-то сервис не принял изменение:
  
-<code> +  * изменение у пользователя не откатывается; 
-PLATFORM_API_URL +  * проблемный сервис переводится в аварийный режим; 
-METASERVICE_ID +  * пользователю показывается предупреждение.
-PLATFORM_API_KEY +
-PLATFORM_INTEGRATION +
-</code>+
  
-==== Пользователь уже существует на платформе ====+===== 12. Проверьте смену пароля =====
  
-Это не всегда ошибка.+На сервисе смените пароль пользователя.
  
-Если пользователь выбрал синхронизацию на сервисе, но уже существует на платформе, он должен:+Если синхронизация включена:
  
-  авторизоваться на платформе+  * пароль меняется на сервисе; 
-  открыть список сервисов; +  * сервис передает изменение на платформу
-  - подключить нужный сервис через интерфейс платформы.+  * платформа пробует передать изменение на другие подключенные сервисы.
  
-==== На сервисе несколько METASERVICE-ADMIN ====+Если один из связанных сервисов недоступен:
  
-Сервис в таком состоянии не считается корректно настроенным для активной интеграции.+  * пароль у пользователя все равно меняется; 
 +  * недоступный сервис переводится в аварийный режим; 
 +  * пользователь получает предупреждение о проблеме синхронизации.
  
-Нужно оставить одного администратора сервиса и снять роль ''METASERVICE-ADMIN'' с остальных пользователей.+===== 13. Если сервис попал в аварийный режим =====
  
-В кабинете метасервиса должно отображаться предупреждение и кнопки для снятия лишних прав.+Аварийный режим означает, что платформа пыталась синхронизироваться с сервисом, но сервис не ответил корректно.
  
-==== Таблицы Testkit не созданы ==== +Проверьте по порядку:
- +
-Если при открытии Testkit появляется ошибка вида: +
- +
-<code> +
-relation "testkit_run" does not exist +
-</code>+
  
-нужно убедиться, что миграции модуля Testkit применены.+  - Открывается ли сервис в браузере. 
 +  - Правильно ли указан API URL сервиса на платформе. 
 +  - Правильно ли вставлен ключ доступа к сервису на платформе. 
 +  - Правильно ли указан ''PLATFORM_API_URL'' на сервисе. 
 +  - Есть ли на сервисе ''METASERVICE_ID''
 +  - Есть ли на сервисе ''PLATFORM_API_KEY''
 +  - Ровно ли один пользователь имеет роль ''METASERVICE-ADMIN''
 +  - Перезапущен ли сервис после изменения ''.env''.
  
-Обычно достаточно выполнить общий update/install, который запускает миграции. Если модуль был подключен позднее, проверьте, что приложение ''sharix_testkit'' действительно включено в настройки проекта и что его миграции применены.+После исправления снова сохраните настройки интеграции на платформе или повторите проверку подключения.
  
-===== 16Рекомендуемый порядок для запуска =====+===== 14Короткий порядок действий =====
  
-  - На сервисе установить ''PLATFORM_INTEGRATION=2''+  - На сервисе в ''.env'' указать ''DEBUG=True'', ''PLATFORM_INTEGRATION=2'', ''PLATFORM_API_URL'', ''DEFAULT_CLIENT_ROLE'', ''SYSTEMD_SERVICE_NAME''
-  - На сервисе указать ''PLATFORM_API_URL''.+  - Перезапустить сервис.
   - На сервисе сгенерировать ключ доступа платформы к сервису.   - На сервисе сгенерировать ключ доступа платформы к сервису.
-  - На платформе создать запись сервиса+  - На платформе создать сервис. 
-  - На платформе указать ''api_url'' сервиса. +  - На платформе открыть созданный сервис и заполнить API URL сервиса. 
-  - На платформе вставить ключ сервиса в ''dbsynce_key''+  - На платформе вставить ключсгенерированный на сервисе
-  - Сохранить сервис на платформе+  - Сохранить сервис
-  - Дождаться автоматической записи ''METASERVICE_ID'' и ''PLATFORM_API_KEY'' на сервис. +  - На платформе обновить настройки сервиса, чтобы на сервис попали ''METASERVICE_ID'' и ''PLATFORM_API_KEY''
-  - Проверить, что текущий пользователь стал единственным ''METASERVICE-ADMIN'' на сервисе. +  - Перезапустить сервис. 
-  - Проверить health-check.+  - Проверить, что владелец стал единственным ''METASERVICE-ADMIN'' на сервисе. 
 +  - Проверить регистрацию пользователя. 
 +  Проверить подключение пользователя с платформы. 
 +  - Проверить изменение профиля. 
 +  - Проверить смену пароля.
   - Перевести сервис в ''PLATFORM_INTEGRATION=1''.   - Перевести сервис в ''PLATFORM_INTEGRATION=1''.
-  - Провести тестовую регистрацию пользователя. +  - Перезапустить сервис.
-  - Провести тестовое подключение уже существующего пользователя платформы к сервису. +
-  - Провести тестовое изменение профиля и пароля.+
instrukcija_po_registracii_servisa_na_platforme.1777798841.txt.gz · Последнее изменение: sharixadmin

© 2022 ShariX