Описание
Статья описывает подключение 1С:Предприятие к Simple2FA по протоколу OIDC через встроенный IdP-слой. В этом сценарии 1С не проверяет учётные данные самостоятельно: при входе пользователь перенаправляется на страницу входа Simple2FA, проходит проверку первого фактора (по корпоративному каталогу) и, если этого требует политика его группы, второго фактора, после чего возвращается в 1С уже аутентифицированным.
В отличие от подключения через расширение 1С, где первый фактор проверяет сама 1С, здесь вся аутентификация выполняется на стороне Simple2FA. Если пользователь уже вошёл в другое приложение через Simple2FA, вход в 1С в пределах SSO-сессии происходит без повторного ввода учётных данных.
Возможные способы подтверждения второго фактора:
- Push-уведомления в мобильном приложении Simple2FA,
- TOTP-коды в приложениях-аутентификаторах,
- подтверждение через Telegram-бот.
Системные требования
- 1С:Предприятие версии 8.3.14 или выше.
- Информационная база опубликована на веб-сервере; сценарий доступен для веб-клиента и тонкого клиента 1С.
- Развёрнут локальный инстанс Simple2FA с включённым IdP (см. раздел «Настройки IdP» административной панели).
- Страница входа Simple2FA доступна из браузеров пользователей, а сервер 1С имеет сетевой доступ к локальному инстансу Simple2FA по HTTPS (для обмена кода на токены).
Схема работы
- Пользователь открывает опубликованную базу 1С и выбирает вход через Simple2FA.
- 1С перенаправляет браузер пользователя на страницу входа Simple2FA.
- Simple2FA проверяет первый фактор по корпоративному каталогу (LDAP / Active Directory).
- Если политика группы пользователя требует второй фактор — Simple2FA запрашивает подтверждение (Push, TOTP или Telegram).
- После успешной аутентификации браузер возвращается в 1С с одноразовым кодом; сервер 1С обменивает код на подписанный ID-токен.
- 1С находит пользователя по значению из токена и открывает сеанс.
При повторном входе в пределах активной SSO-сессии Simple2FA шаги 3–4 не выполняются — пользователь попадает в 1С без ввода учётных данных.
Подготовка в Simple2FA
Включение IdP
Войдите в административную панель локального инстанса Simple2FA, откройте раздел «Приложения (SSO)» → «Настройки IdP» и убедитесь, что:
- Включить IdP — включено,
- Issuer URL — заполнен и совпадает с адресом, по которому локальный инстанс видят браузеры пользователей, например https://2fa.company.local/idp.
После включения на этой же странице доступны адрес документа обнаружения (/.well-known/openid-configuration) и метаданные IdP — они понадобятся при настройке 1С.
Создание приложения
Перейдите в раздел «Приложения (SSO)» и создайте новое приложение:
- Название: 1С (или любое удобное).
- Протокол: OIDC.
- URI перенаправления: адрес опубликованной базы 1С в формате https://1c.company.local/имя_публикации/authform.html. Значение должно посимвольно совпадать с параметром redirect_uri в настройках 1С.
Сохраните приложение и скопируйте ID клиента (client_id). Затем сгенерируйте и скопируйте client secret — он отображается только один раз; при утере сгенерируйте новый и обновите его в конфигурации 1С.
Доступ пользователей
Доступ к приложению назначается через группы пользователей Simple2FA. Откройте раздел «Группы пользователей», выберите нужную группу и в поле Приложения (SSO) отметьте созданное приложение 1С. Пользователи вне групп с доступом не смогут войти в приложение.
Необходимость второго фактора определяется политикой группы — отдельная настройка на приложении не требуется.
Настройка со стороны 1С:Предприятие
Публикация базы
Если база ещё не опубликована, откройте Конфигуратор от имени администратора → Администрирование → Публикация на веб-сервере, задайте имя публикации и нажмите Опубликовать.
Настройка default.vrd
Откройте каталог опубликованной базы (для IIS по умолчанию — C:\inetpub\wwwroot\[Имя_публикации]) и отредактируйте файл default.vrd. Перед закрывающим тегом </point> добавьте блок:
<openidconnect>
<providers>
<![CDATA[
[{
"name": "Simple2FA",
"title": "Simple2FA",
"authenticationClaimName": "email",
"authenticationUserPropertyName": "email",
"providerconfig": {
"issuer": "https://2fa.company.local/idp",
"authorization_endpoint": "https://2fa.company.local/idp/authorize",
"token_endpoint": "https://2fa.company.local/idp/token",
"response_types_supported": ["code"],
"scopes_supported": ["openid"],
"jwks_uri": "https://2fa.company.local/idp/jwks",
"userinfo_endpoint": "https://2fa.company.local/idp/userinfo"
},
"clientconfig": {
"authority": "https://2fa.company.local/idp",
"client_id": "ID клиента из панели Simple2FA",
"client_secret": "Client secret из панели Simple2FA",
"redirect_uri": "https://1c.company.local/имя_публикации/authform.html",
"response_type": "code",
"scope": "openid email"
}
}]
]]>
</providers>
<allowStandardAuthentication>true</allowStandardAuthentication>
</openidconnect>
Точные адреса эндпоинтов (authorization_endpoint, token_endpoint, jwks_uri, userinfo_endpoint) скопируйте из документа обнаружения вашего инстанса — откройте в браузере адрес, указанный в «Настройках IdP» рядом с /.well-known/openid-configuration, и перенесите значения без изменений.
Параметры конфигурации:
- authenticationClaimName — имя поля (claim) в ID-токене, по которому 1С ищет пользователя. Используется email из корпоративного каталога.
- authenticationUserPropertyName — свойство пользователя 1С, с которым сравнивается значение claim.
- client_id / client_secret — идентификатор и секрет приложения, созданного в панели Simple2FA.
- redirect_uri — адрес возврата в 1С; должен посимвольно совпадать со значением «URI перенаправления» в карточке приложения (включая протокол и завершающую часть /authform.html).
- allowStandardAuthentication — разрешает параллельно стандартный вход 1С по логину и паролю. Рекомендуется оставить true на время внедрения и отключить после перевода всех пользователей на вход через Simple2FA.
Сохраните файл. Перезапуск веб-сервера при изменении default.vrd не требуется, но при использовании кэширования публикации может понадобиться перезапуск пула приложения.
Настройка пользователей 1С
Откройте Конфигуратор → Администрирование → Пользователи и для каждого пользователя, входящего через Simple2FA:
- в поле Имя укажите email пользователя — значение должно совпадать с email в корпоративном каталоге, который Simple2FA передаёт в ID-токене;
- установите флаг Аутентификация OpenID Connect.
Настройка второго фактора пользователями
Пользователи настраивают второй фактор стандартным образом — через мастер настройки Simple2FA. Доступные способы подтверждения определяются политикой группы пользователя.
Если политика требует второй фактор, а он ещё не настроен, пользователь при входе получит соответствующее сообщение со ссылкой на мастер настройки.
Проверка работы
- Откройте опубликованную базу 1С в браузере или тонком клиенте,
- Выберите вход через Simple2FA — браузер перенаправится на страницу входа,
- Введите логин и пароль корпоративного каталога,
- Подтвердите вход вторым фактором (Push, TOTP или Telegram), если этого требует политика группы,
- После успешной проверки откроется сеанс 1С.
Результат каждой попытки входа и события выпуска токенов доступны в веб-консоли Simple2FA в разделе «Попытки авторизации».
Типовые ошибки при подключении:
- Несовпадение redirect_uri — самая частая причина отказа: проверьте посимвольное совпадение адреса в default.vrd и в карточке приложения (протокол, регистр, завершающий слэш).
- Пользователь не найден в 1С — значение поля «Имя» пользователя 1С не совпадает с email из каталога.
- Нет доступа к приложению — пользователь не состоит в группе Simple2FA, которой выдан доступ к приложению 1С.