Администрирование · 12 мин
OpenID Connect в 1С: что это и как использовать
OpenID Connect в 1С: что это за протокол, как работает аутентификация через внешних провайдеров, настройка, типичные ошибки и ограничения.
OpenID Connect (OIDC) — это протокол аутентификации, построенный поверх OAuth 2.0, который позволяет пользователям входить в прикладные решения 1С через внешнего поставщика удостоверений вместо ввода логина и пароля самой информационной базы. В экосистеме 1С поддержка OpenID Connect появилась в платформе «1С:Предприятие 8» и используется в двух сценариях: 1С может выступать клиентом внешнего провайдера (например, корпоративного Keycloak или сервисов «1С:Предприятие через Интернет»), а также сама платформа способна работать как провайдер OpenID Connect для других систем.
На практике это решает задачу единого входа (Single Sign-On): сотрудник один раз проходит аутентификацию в корпоративной системе и дальше работает в 1С, веб-портале и других приложениях без повторного ввода пароля. Для организаций с десятками учётных записей это снижает нагрузку на администраторов и уменьшает риск утечки паролей, хранящихся в каждой системе отдельно.
Механизм особенно востребован при публикации базы на веб-сервере и работе через тонкий клиент по HTTP, а также в облачных сценариях, где доступ к базе выполняется извне корпоративной сети. Ниже разобраны принципы работы протокола, варианты применения в 1С, порядок настройки и типичные ошибки.
Как работает OpenID Connect: суть протокола простыми словами
При классической аутентификации 1С проверяет имя пользователя и пароль по списку пользователей информационной базы или через аутентификацию операционной системы. При использовании OpenID Connect проверка пароля выносится на сторонний сервер — провайдер удостоверений (Identity Provider, IdP). Информационная база доверяет этому серверу на основании предварительно настроенных параметров.
Упрощённо процесс выглядит так: пользователь открывает клиент 1С, платформа перенаправляет его на страницу входа провайдера, пользователь вводит свои учётные данные там, провайдер возвращает платформе подписанный токен (ID Token в формате JWT), платформа проверяет подпись и сопоставляет идентификатор из токена с пользователем информационной базы. Если соответствие найдено — сеанс открывается без ввода пароля 1С.
Ключевые элементы протокола, которые встречаются при настройке:
- Issuer (издатель) — адрес провайдера удостоверений, которому доверяет база;
- Client ID и Client Secret — регистрационные данные приложения 1С у провайдера;
- Redirect URI — адрес, на который провайдер возвращает пользователя после входа;
- Claim (утверждение) — поле в токене, по которому определяется пользователь, обычно sub или email;
- ID Token — подписанный JWT-токен с данными о прошедшем аутентификацию пользователе.
Какие сценарии OpenID Connect поддерживает платформа 1С
Платформа «1С:Предприятие 8» реализует две роли. Первая — 1С как клиент OIDC: информационная база принимает аутентификацию от внешнего провайдера. Вторая — 1С как провайдер: платформа сама выдаёт токены сторонним приложениям, которые хотят проверять пользователей 1С. Вторая роль используется реже и требует отдельной настройки публикации.
В роли клиента поддерживаются такие варианты провайдеров: корпоративные решения вроде Keycloak, Active Directory Federation Services (AD FS), а также сервисы фирмы «1С» — например, аутентификация через учётную запись портала 1С:ИТС в облачных сервисах. Конкретный список совместимых провайдеров зависит от версии платформы, поэтому перед внедрением стоит сверяться с документацией на используемый релиз.
Сравнение вариантов аутентификации в 1С
Простейшая настройка, но пароли хранятся в базе, нет единого входа, сложно управлять доступом при увольнениях
Удобна в доменной сети, но не работает для веб-клиента и внешних пользователей вне домена
Единый вход через внешнего провайдера, работает в тонком и веб-клиенте, но требует развёртывания и сопровождения IdP
Высокая защищённость, но нужна инфраструктура выдачи и отзыва сертификатов
Когда внедрение OIDC в 1С оправдано, а когда избыточно
OpenID Connect имеет смысл внедрять, если в организации уже действует централизованный провайдер удостоверений, пользователей много, база публикуется в интернете или есть требование отключать доступ уволенных сотрудников мгновенно и централизованно. В этих условиях OIDC сокращает рутинную работу администратора и повышает управляемость доступом.
Для небольшой базы на 3–5 пользователей внутри локальной сети развёртывание отдельного провайдера удостоверений чаще всего избыточно: проще использовать парольную аутентификацию или аутентификацию операционной системы. Дополнительный сервер IdP — это ещё одна точка отказа, которую нужно резервировать и обновлять.
Как выбрать действие
Порядок настройки OpenID Connect в 1С
Настройка выполняется в два этапа: сначала регистрируется приложение на стороне провайдера, затем параметры вносятся в информационную базу. Действия выполняются в конфигураторе или средствами администрирования, в зависимости от версии платформы и способа публикации.
На стороне провайдера удостоверений создаётся клиентское приложение: указывается тип клиента (конфиденциальный), разрешённые Redirect URI базы 1С, выдаются Client ID и Client Secret. Эти значения понадобятся дальше, их следует сохранить в защищённом хранилище, а не в открытом виде в документации.
В 1С настраивается хранилище аутентификации OpenID Connect: указывается адрес издателя (Issuer), Client ID и Secret, выбирается claim, по которому токен сопоставляется с пользователем. У каждого пользователя базы в свойствах заполняется соответствующий идентификатор аутентификации OIDC — именно по нему платформа находит учётную запись после проверки токена.
- 1Разверните или выберите провайдера удостоверений и убедитесь, что он доступен по HTTPS с валидным сертификатом
- 2Зарегистрируйте в провайдере клиентское приложение для 1С: задайте Redirect URI, получите Client ID и Client Secret
- 3В настройках информационной базы создайте хранилище аутентификации OpenID Connect и укажите Issuer, Client ID и Secret
- 4Определите claim токена (sub или email), по которому будет выполняться сопоставление с пользователями
- 5В карточке каждого пользователя 1С заполните идентификатор аутентификации OIDC
- 6Проверьте вход тестовым пользователем через тонкий и веб-клиент, затем убедитесь, что при отключении учётной записи в IdP доступ в 1С прекращается
Особенности для веб-клиента и публикации на веб-сервере
При работе через веб-клиент публикация базы на веб-сервере должна быть настроена на использование OIDC: в файле публикации указывается соответствующий параметр аутентификации. Redirect URI, зарегистрированный у провайдера, должен точно совпадать с адресом публикации, включая протокол и порт — расхождение даже в одном символе приводит к ошибке на стороне IdP.
Сопоставление пользователей
Самая частая причина неработающего входа — несовпадение идентификатора из токена с тем, что записан в карточке пользователя 1С. Если в качестве claim выбран email, а у провайдера пользователь заведён с другим адресом, платформа не найдёт соответствие и откажет во входе, даже если аутентификация у провайдера прошла успешно. Рекомендуется заранее выгрузить список идентификаторов из IdP и сверить с данными в базе.
Требования к инфраструктуре и ограничения
Обязательное условие — HTTPS на всех участках: провайдер удостоверений и публикация 1С должны работать по защищённому соединению с сертификатами, которым доверяют клиентские машины. Самоподписанные сертификаты без установки в доверенные на каждом клиенте приводят к ошибкам проверки токена.
Важно учитывать зависимость от доступности провайдера: если сервер IdP недоступен, пользователи не смогут войти в базу, даже если сама 1С работает. Для критичных систем провайдер развёртывается с резервированием, а для аварийного доступа оставляют служебную учётную запись с локальной парольной аутентификацией.
Также следует помнить, что OIDC решает только задачу аутентификации — кто пользователь. Авторизация, то есть права на объекты базы, по-прежнему настраивается ролями внутри 1С. Токен не передаёт роли 1С автоматически, если отдельно не реализована синхронизация групп.
Проверка результата и типичные ошибки
После настройки проверяется полный цикл: вход нового пользователя, повторный вход в рамках действующей сессии провайдера (единый вход), выход и отзыв доступа. Полезно проверить сценарий увольнения: учётная запись блокируется в IdP, и пользователь должен потерять возможность открыть новый сеанс 1С.
Как проверить результат
После входа у провайдера открывается сеанс 1С без запроса пароля базы
Ошибка сопоставления пользователя или возврат на страницу входа
Адрес возврата совпадает с регистрацией у провайдера до символа
Ошибка invalid_redirect_uri на стороне IdP
HTTPS-соединение без предупреждений на клиенте
Ошибки проверки подписи токена или недоверенный сертификат
После блокировки учётной записи в IdP новый сеанс не открывается
Пользователь продолжает входить — проверьте время жизни токенов
Перед массовым заполнением идентификаторов OIDC у пользователей выгрузите из провайдера список учётных записей и сверьте его со списком пользователей базы. Расхождения в регистре символов и доменных суффиксах email — самая частая причина того, что «всё настроено, но не пускает».
Часто задаваемые вопросы
Чем OpenID Connect отличается от OAuth 2.0?
OAuth 2.0 — протокол авторизации: он отвечает на вопрос, к каким ресурсам приложению разрешён доступ. OpenID Connect — надстройка над OAuth 2.0, которая добавляет аутентификацию: подтверждение личности пользователя через ID Token. Для входа в 1С используется именно OIDC, а не «чистый» OAuth.
Работает ли OpenID Connect в толстом клиенте и конфигураторе?
Основные поддерживаемые сценарии — тонкий клиент и веб-клиент при работе через сервер. Для конфигуратора и отдельных режимов поддержка ограничена, поэтому административную учётную запись с доступом в конфигуратор обычно оставляют на парольной аутентификации.
Можно ли использовать одновременно OIDC и парольную аутентификацию?
Да. У каждого пользователя в карточке включаются нужные виды аутентификации. Это удобно на переходном этапе: основная масса переводится на единый вход, а служебные учётные записи остаются на локальном пароле как аварийный доступ.
Что делать, если провайдер удостоверений недоступен?
Пользователи с OIDC-аутентификацией войти не смогут. Поэтому заранее создаётся резервная учётная запись администратора с парольной аутентификацией, а сам провайдер по возможности резервируется. Восстановление работы IdP возвращает доступ без дополнительных действий в 1С.
Передаёт ли OpenID Connect права и роли пользователя в 1С?
Нет, OIDC отвечает только за подтверждение личности. Роли и права на объекты конфигурации назначаются внутри информационной базы. Если нужна автоматическая выдача прав по группам из IdP, это реализуется отдельной доработкой синхронизации.
Может ли 1С сама быть провайдером OpenID Connect для других систем?
Да, платформа поддерживает роль провайдера аутентификации: сторонние приложения могут проверять пользователей через 1С. Это отдельный сценарий настройки публикации, который применяется, когда 1С является центральной учётной системой, что на практике встречается реже, чем подключение к внешнему IdP.
Что важно запомнить
OpenID Connect в 1С — это механизм единого входа через внешнего провайдера удостоверений: пароль проверяется не базой, а доверенным сервером. Настройка сводится к регистрации приложения у провайдера, указанию параметров в базе и сопоставлению идентификаторов пользователей. Обязательны HTTPS, точный Redirect URI и резервная учётная запись с локальным входом на случай недоступности провайдера.