Настройка двухфакторной аутентификации 1С через OIDC

Описание

Статья описывает подключение 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. Пользователь открывает опубликованную базу 1С и выбирает вход через Simple2FA.
  2. 1С перенаправляет браузер пользователя на страницу входа Simple2FA.
  3. Simple2FA проверяет первый фактор по корпоративному каталогу (LDAP / Active Directory).
  4. Если политика группы пользователя требует второй фактор — Simple2FA запрашивает подтверждение (Push, TOTP или Telegram).
  5. После успешной аутентификации браузер возвращается в 1С с одноразовым кодом; сервер 1С обменивает код на подписанный ID-токен.
  6. 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С.

Смотрите также:

Связаться с нами

Укажите свои контактные данные, и мы свяжемся с вами в ближайшее время, чтобы ответить на все ваши вопросы.

Телефон: +7 (495) 120-01-18

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru

Заполняя форму, вы соглашаетесь на обработку персональных данных.

Телефон: +7 (495) 150-80-59

Отдел продаж: sales@simple2fa.ru

Поддержка: support@simple2fa.ru