Перейти к основному содержимому

Настроить список имён и восстановление пароля

Эта настройка нужна администратору, если пользователи должны выбирать имя из списка или восстанавливать пароль до входа. Для обычного входа с известным именем и паролем она не обязательна.

Для готовящегося веб-ЛК 4.0.34. Нужны права администратора 1С и веб-сервера, работающая основная публикация и проверенная совместимость.

Подготовьте служебного пользователя​

  1. В УИТ откройте «Администрирование → Настройки пользователей и прав → Профили групп доступа». Создайте профиль, содержащий только роль «Публичные методы API».
  2. В «Группах доступа» создайте группу с этим профилем.
  3. Создайте служебного пользователя, например ApiPublic, с аутентификацией 1С и надёжным паролем, включите его только в подготовленную группу. Проверьте, что ему не назначены другие роли, в том числе наследуемые.

Пользователи кабинета под этой учётной записью не работают. Её пароль хранится только в защищённой конфигурации веб-сервера — не в config.json, URL или сообщении в поддержку.

Создайте отдельную публичную публикацию​

Основной и публичный API должны вести в одну и ту же информационную базу. Для веб-ЛК, где оба адреса задаются в config.json, пример основного пути — /base/, публичного — /base-public/. Если этой же базой пользуется мобильное приложение, учитывайте его порядок: из /base/ оно вычисляет публичный адрес /base_public/hs/api_public/v2/. Для мобильного приложения настройте публикацию или маршрутизацию именно по вычисляемому адресу. Название каталога само по себе этого не гарантирует: проверьте строку подключения.

  1. Создайте отдельную папку публикации и подготовьте в ней default.vrd на основе рабочей публикации. На IIS также нужен соответствующий файл публикации web.config — это файл публикации 1С, а не deploy/iis/web.config статического ЛК.
  2. В default.vrd измените base на путь публичной публикации. В строке ib сохраните подключение к той же базе и добавьте Usr/Pwd служебного пользователя.
  3. В httpServices оставьте единственный сервис:
<httpServices>
<service name="APIПубличный" rootUrl="api_public" enable="true"/>
</httpServices>

Не переносите остальные HTTP-сервисы, веб-сервисы ws или OData: эта публикация доступна клиенту без предварительного входа. Ограничьте доступ к самому default.vrd, содержащему пароль.

В атрибуте ib серверной базы сохраняется такая форма записи; значения в верхнем регистре замените своими:

ib="Srvr=&quot;СЕРВЕР_1С&quot;;Ref=&quot;ИМЯ_БАЗЫ&quot;;Usr=&quot;ApiPublic&quot;;Pwd=&quot;ПАРОЛЬ_СЛУЖЕБНОГО_ПОЛЬЗОВАТЕЛЯ&quot;;"

Для файловой базы сохраните её существующее подключение File, не заменяйте его примером Srvr. Полный образец default.vrd есть в архиве, docs/Публичный API личного кабинета.md. Перед сохранением проверьте XML и экранирование кавычек; значение примера не является готовым паролем.

  1. На Apache настройте отдельные Alias и <Directory> для публичного каталога с обработчиком 1c-application и ManagedApplicationDescriptor, указывающим его default.vrd. Используйте рабочую схему основной публикации, но измените адреса и пути. После проверки синтаксиса примените настройки.
  2. На IIS преобразуйте публичную папку в приложение с пулом, совместимым с основной публикацией 1С. Разрешите анонимный доступ только для публичного приложения и отключите там проверки, требующие входа браузера. Аутентификацию основной публикации не меняйте. Учётные данные подключения к 1С уже находятся в ib.

Включите нужные возможности в УИТ​

Откройте «Администрирование → Сервис → Настройки параметров учёта → Личный кабинет → Вход и восстановление доступа». Включите нужные функции списка логинов и/или восстановления пароля. По умолчанию они могут быть выключены; список имён не обязателен для восстановления.

Для восстановления настройте системную отправку почты и почтовые адреса пользователей. В настройках восстановления проверьте параметры кода и письма. Испытайте получение письма только на согласованной тестовой учётной записи.

Подключите публичный адрес к кабинету​

Запишите полный адрес публичного API в config.json. Затем проверьте список имён до входа, а восстановление — на согласованной тестовой учётной записи. Успешный список имён не подтверждает отправку писем.

Если после включения появляется отказ 401/403, проверьте отдельную публикацию и её служебного пользователя. Не расширяйте ему роли наугад. Пароль не помещают в файлы сайта и не пересылают поддержке.

Вернуться к подготовке базы и адресов. Первая версия этого порядка не установлена.