Администрирование · 11 мин
Аутентификация OpenID в 1С: что это и как работает
Что такое аутентификация OpenID в 1С, как работает протокол, где применяется в 1С:Предприятии и как настроить вход через внешнего провайдера.
OpenID-аутентификация в 1С — это способ входа пользователя в информационную базу через внешнего поставщика удостоверений, а не через пару «логин-пароль», хранящуюся в самой базе. Вместо проверки пароля платформа обращается к доверенному серверу (провайдеру OpenID), который подтверждает личность пользователя и возвращает подписанное утверждение об успешной аутентификации. Такой подход снимает с администратора 1С необходимость хранить пароли и позволяет централизовать управление доступом.
Механизм поддерживается платформой 1С:Предприятие и чаще всего используется в связке с веб-клиентом и веб-сервисами: пользователь открывает публикацию базы в браузере, перенаправляется на страницу провайдера, вводит там свои учётные данные и возвращается в 1С уже авторизованным. Для тонкого клиента и конфигуратора также предусмотрены сценарии проверки, но наиболее естественная среда для OpenID — именно веб-доступ.
В практике внедрений OpenID в 1С применяют в двух ситуациях: когда нужно организовать единый вход (SSO) для сотрудников через корпоративный сервер аутентификации и когда требуется дать доступ внешним пользователям — контрагентам, клиентам портала — без заведения отдельных паролей в каждой базе. Ниже разберём, как устроен протокол, что нужно подготовить и как настроить связку без ошибок.
Что такое OpenID и как он работает в связке с 1С
OpenID — открытый протокол децентрализованной аутентификации. Его основная идея: пользователь доказывает свою личность один раз на сервере провайдера, а все сайты и системы, которые доверяют этому провайдеру, принимают результат проверки без повторного ввода пароля. В терминах протокола 1С выступает «зависимой стороной» (relying party), а внешний сервер — «провайдером OpenID».
Последовательность обмена выглядит так. Пользователь открывает адрес опубликованной базы. Платформа видит, что для него задана аутентификация OpenID, и перенаправляет браузер на сервер провайдера с запросом. Пользователь вводит логин и пароль уже на странице провайдера — 1С этот пароль не видит и не обрабатывает. Провайдер подписывает ответ своим ключом и возвращает пользователя обратно в 1С. Платформа проверяет подпись, извлекает идентификатор пользователя и сопоставляет его с записью в списке пользователей информационной базы.
Важно понимать разграничение: OpenID отвечает только за вопрос «кто вы», то есть за аутентификацию. Вопрос «что вам разрешено» — авторизацию — по-прежнему решает сама 1С через роли и права, назначенные пользователю в конфигураторе. Поэтому учётная запись в базе должна существовать в любом случае, меняется только способ подтверждения личности.
Где OpenID-аутентификация применяется в 1С
Наиболее частый сценарий — публикация информационной базы на веб-сервере с доступом через браузер. Сотрудники филиалов или удалённые работники заходят по корпоративной учётной записи, а пароли остаются на центральном сервере аутентификации. При увольнении сотрудника достаточно заблокировать его запись у провайдера — доступ во все связанные базы прекратится автоматически.
Второй сценарий — клиентские порталы и личные кабинеты контрагентов, построенные на базе 1С. Внешним пользователям не нужно заводить и запоминать отдельный пароль базы: они подтверждают личность через привычный им сервис. Это снижает число обращений «забыл пароль» и упрощает сопровождение.
Третья область — доступ к веб-сервисам и HTTP-сервисам, опубликованным средствами 1С. Механизм OpenID Connect (современное развитие протокола поверх OAuth 2.0) позволяет внешним приложениям обращаться к сервисам базы от имени конкретного пользователя с проверяемым токеном. Это актуально для интеграций, где важно протоколировать, кто именно инициировал вызов.
Что подготовить перед настройкой
До изменения настроек убедитесь, что выполнены базовые условия. Информационная база должна быть опубликована на веб-сервере (Apache или IIS), и публикация должна открываться в браузере в штатном режиме. Нужен доступ к конфигуратору с правами администратора, чтобы менять свойства пользователей. Потребуется работающий провайдер OpenID: это может быть корпоративный сервер аутентификации или отдельная база 1С, настроенная как провайдер.
Отдельно проверьте адреса. URL провайдера и URL возврата (адрес, на который провайдер отправляет пользователя после входа) должны быть доступны с рабочих мест пользователей. Если база опубликована только во внутренней сети, а провайдер — во внешней, или наоборот, сценарий не заработает без корректной маршрутизации и сертификатов.
Как настроить OpenID-аутентификацию для пользователя
Настройка выполняется в два этапа: сначала задаются параметры публикации, затем — свойства конкретных пользователей. Точный набор полей зависит от версии платформы, но общая логика одинакова.
В файле публикации default.vrd указываются параметры, связанные с OpenID: адрес провайдера и параметры доверия. При публикации через диалог «Публикация на веб-сервере» часть настроек формируется автоматически, но для нестандартных сценариев файл приходится редактировать вручную. После любого изменения default.vrd веб-сервер нужно перезапустить или обновить публикацию, иначе старые параметры продолжат действовать.
Затем в конфигураторе откройте «Администрирование — Пользователи», выберите нужного пользователя и в свойствах аутентификации включите вариант OpenID. В поле идентификатора укажите тот идентификатор, который провайдер возвращает для этого пользователя, — обычно это URL или строка, выданная провайдером. Парольную аутентификацию для этого пользователя можно оставить как запасной вариант или отключить, если политика безопасности этого требует.
- 1Убедитесь, что база опубликована на веб-сервере и открывается в браузере с обычной аутентификацией
- 2Настройте или получите доступ к провайдеру OpenID и зафиксируйте его адрес и идентификаторы пользователей
- 3Укажите параметры провайдера в файле публикации default.vrd и перезапустите веб-сервер
- 4В конфигураторе откройте свойства пользователя и включите аутентификацию OpenID с указанием идентификатора
- 5Сохраните запасную учётную запись администратора с парольным входом
- 6Откройте базу в браузере под тестовым пользователем и проверьте перенаправление на провайдера и возврат в 1С
Как проверить, что вход работает правильно
Проверку начинайте с тестового пользователя, а не с рабочей учётной записи администратора. Откройте адрес публикации в браузере в режиме, где нет сохранённых сессий, — так вы увидите полный цикл: перенаправление на страницу провайдера, ввод учётных данных, возврат в 1С и открытие начальной страницы. Если после возврата открывается интерфейс с ожидаемыми правами, связка настроена корректно.
Обязательно проверьте негативный сценарий: введите у провайдера неверный пароль и убедитесь, что 1С не пускает пользователя, а также что пользователь, заблокированный у провайдера, теряет доступ к базе. Это подтверждает, что решение о входе действительно принимает провайдер, а не кэшированные данные на стороне 1С.
Как проверить результат
Браузер уходит на страницу провайдера и после входа возвращается в базу
Сразу открывается форма ввода пароля 1С или ошибка перенаправления
После возврата открывается сеанс именно того пользователя, чей идентификатор указан
Ошибка «пользователь не найден» — идентификатор в 1С не совпадает с тем, что возвращает провайдер
Заблокированный пользователь не может войти в базу
Доступ сохраняется — проверьте кэш сессий и настройки доверия
Типичные ошибки и ограничения
Самая частая ошибка — несовпадение идентификатора. Провайдер возвращает идентификатор в одном виде (например, с завершающим слэшем или с другим регистром), а в свойствах пользователя 1С записан другой. Внешне всё настроено, но вход завершается ошибкой «пользователь не найден». Лечится точным копированием идентификатора из ответа провайдера.
Вторая группа проблем — адреса и сертификаты. Если URL возврата в настройках провайдера не совпадает с фактическим адресом публикации, провайдер отклонит запрос или отправит пользователя «не туда». При работе по HTTPS самоподписанный сертификат без установки в доверенные на стороне клиента приводит к сбоям, которые трудно диагностировать без журналов веб-сервера.
Из ограничений стоит помнить: OpenID-аутентификация требует постоянной доступности провайдера — при его отказе войти в базу не сможет никто из пользователей с этим способом входа. Кроме того, механизм ориентирован прежде всего на веб-доступ; для тонкого клиента и отдельных режимов работы возможности ограничены и зависят от версии платформы.
Альтернативы OpenID в 1С
OpenID — не единственный способ организовать вход без локального пароля. В зависимости от инфраструктуры могут оказаться удобнее другие варианты, и выбирать стоит по задаче, а не по привычке.
Сравнение вариантов входа
Подходит для небольших баз без внешних пользователей. Простая настройка, но пароли хранятся в базе и управляются вручную в каждой базе отдельно
Удобна в доменной сети для тонкого и толстого клиента: вход прозрачный, без ввода пароля. Ограничение — требует домена Windows и не работает для браузерного доступа извне
Оптимален для веб-доступа, единого входа и внешних пользователей. Требует работающего провайдера и корректной настройки адресов и сертификатов
Если вся работа идёт внутри доменной сети и через установленные клиенты, аутентификация ОС обычно проще и надёжнее. Если же нужен доступ через браузер извне или единая точка входа для нескольких систем, OpenID даёт именно ту гибкость, ради которой его внедряют.
Что важно запомнить
OpenID в 1С переносит проверку пароля на внешнего провайдера: 1С принимает подписанное подтверждение личности и сопоставляет его с пользователем базы. Настройка состоит из параметров публикации и свойств пользователя, а ключевые риски — недоступность провайдера, рассинхронизация идентификаторов и потеря доступа администратора без запасной учётной записи.
Частые вопросы
Чем OpenID отличается от OpenID Connect?
OpenID — исходный протокол децентрализованной аутентификации. OpenID Connect — более поздний стандарт, построенный поверх OAuth 2.0: он передаёт данные о пользователе в формате JWT-токенов и лучше подходит для API и мобильных приложений. В документации платформы 1С встречаются оба термина; при выборе ориентируйтесь на то, что поддерживает ваша версия платформы и ваш провайдер.
Можно ли использовать OpenID в файловой базе без веб-сервера?
Для полноценного сценария с перенаправлением браузера нужна публикация на веб-сервере. В файловой базе, открываемой напрямую тонким клиентом, классический веб-сценарий OpenID не применяется — там чаще используют парольную аутентификацию или аутентификацию операционной системы.
Что будет, если сервер провайдера OpenID недоступен?
Пользователи с OpenID-аутентификацией войти не смогут: 1С не проверяет их пароль самостоятельно. Поэтому критично держать резервную учётную запись администратора с парольным входом и продумывать отказоустойчивость провайдера.
Нужно ли после настройки OpenID заново назначать права пользователям?
Нет. Права и роли хранятся в самой информационной базе и привязаны к пользователю, а не к способу входа. Смена способа аутентификации влияет только на процедуру подтверждения личности.
Может ли одна база 1С сама выступать провайдером OpenID для других баз?
Да, платформа позволяет настроить информационную базу в роли провайдера и использовать её как центральную точку аутентификации для других баз. Это типовой приём для построения единого входа внутри группы баз 1С без стороннего ПО.
Как узнать, какой идентификатор возвращает провайдер для пользователя?
Самый надёжный способ — посмотреть фактический ответ провайдера в журналах веб-сервера или провайдера при тестовом входе. Идентификатор нужно скопировать в свойства пользователя 1С посимвольно, включая регистр и завершающие символы.