# Двухфакторная аутентификация для 1С через OIDC ## Описание Статья описывает подключение 1С:Предприятие к Simple2FA по протоколу OIDC через встроенный IdP-слой. В этом сценарии 1С не проверяет учётные данные самостоятельно: при входе пользователь перенаправляется на страницу входа Simple2FA, проходит проверку первого фактора (по корпоративному каталогу) и, если этого требует политика его группы, второго фактора, после чего возвращается в 1С уже аутентифицированным. В отличие от [подключения через расширение 1С](1c-plugin.md), где первый фактор проверяет сама 1С, здесь вся аутентификация выполняется на стороне Simple2FA. Если пользователь уже вошёл в другое приложение через Simple2FA, вход в 1С в пределах SSO-сессии происходит без повторного ввода учётных данных. Способ подтверждения пользователь выбирает из тех, что разрешены [политикой его группы](../../admin/user-groups.md). ## Системные требования - **1С:Предприятие** версии 8.3.14 или выше. - Информационная база опубликована на веб-сервере; сценарий доступен для веб-клиента и тонкого клиента 1С. - Развёрнут локальный инстанс Simple2FA с включённым IdP (см. [«Настройки IdP»](../../admin/idp-settings.md) в панели администратора). - Страница входа Simple2FA доступна из браузеров пользователей, а сервер 1С имеет сетевой доступ к локальному инстансу Simple2FA по HTTPS (для обмена кода на токены). ## Схема работы 1. Пользователь открывает опубликованную базу 1С и выбирает вход через Simple2FA. 2. 1С перенаправляет браузер пользователя на страницу входа Simple2FA. 3. Simple2FA проверяет первый фактор по корпоративному каталогу (LDAP / Active Directory). 4. Если политика группы пользователя требует второй фактор — Simple2FA запрашивает подтверждение второго фактора. 5. После успешной аутентификации браузер возвращается в 1С с одноразовым кодом; сервер 1С обменивает код на подписанный ID-токен. 6. 1С находит пользователя по значению из токена и открывает сеанс. При повторном входе в пределах активной SSO-сессии Simple2FA шаги 3–4 не выполняются — пользователь попадает в 1С без ввода учётных данных. ## Подготовка в Simple2FA ### Включение IdP Войдите в панель администратора локального инстанса, откройте раздел «Приложения (SSO)» → «Настройки IdP» и убедитесь, что: - **Включить IdP** — включено, - **Issuer URL** — заполнен и совпадает с адресом бэкенда локального инстанса (`local-backend`), по которому его видят браузеры пользователей, например `https://2fa.company.local/idp`. Адрес панели администратора здесь не используется. После включения на этой же странице доступны адрес документа обнаружения (`/.well-known/openid-configuration`) и метаданные IdP — они понадобятся при настройке 1С. ### Создание приложения Перейдите в раздел [«Приложения (SSO)»](../../admin/sso-applications.md) и создайте новое приложение: - **Название:** 1С (или любое удобное). - **Протокол:** OIDC. - **URI перенаправления:** адрес опубликованной базы 1С в формате `https://1c.company.local/имя_публикации/authform.html`. Значение должно посимвольно совпадать с параметром `redirect_uri` в настройках 1С. Сохраните приложение и скопируйте **ID клиента** (`client_id`). Затем сгенерируйте и скопируйте **client secret** — он отображается только один раз; при утере сгенерируйте новый и обновите его в конфигурации 1С. ### Доступ пользователей Доступ к приложению назначается через группы пользователей Simple2FA. Откройте раздел [«Группы пользователей»](../../admin/user-groups.md), выберите нужную группу и в поле **Приложения (SSO)** отметьте созданное приложение 1С. Пользователи вне групп с доступом не смогут войти в приложение. Необходимость второго фактора определяется политикой группы — отдельная настройка на приложении не требуется. ## Настройка со стороны 1С:Предприятие ### Публикация базы Если база ещё не опубликована, откройте **Конфигуратор** от имени администратора → **Администрирование → Публикация на веб-сервере**, задайте имя публикации и нажмите **Опубликовать**. ### Настройка default.vrd Откройте каталог опубликованной базы (для IIS по умолчанию — `C:\inetpub\wwwroot\[Имя_публикации]`) и отредактируйте файл `default.vrd`. Перед закрывающим тегом `` добавьте блок: ```xml true ``` Точные адреса эндпоинтов (`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 — браузер перенаправится на страницу входа, - Введите логин и пароль корпоративного каталога, - Подтвердите вход вторым фактором, если этого требует политика группы, - После успешной проверки откроется сеанс 1С. Результат каждой попытки входа и события выпуска токенов доступны в панели администратора, в разделе [«Попытки авторизации»](../../admin/auth-attempts.md). Типовые ошибки при подключении: - **Несовпадение `redirect_uri`** — самая частая причина отказа: проверьте посимвольное совпадение адреса в `default.vrd` и в карточке приложения (протокол, регистр, завершающий слэш). - **Пользователь не найден в 1С** — значение поля «Имя» пользователя 1С не совпадает с email из каталога. - **Нет доступа к приложению** — пользователь не состоит в группе Simple2FA, которой выдан доступ к приложению 1С. ## Смотрите также - [Веб-приложения и 1С](index.md) - [Начало работы](../../start/index.md) - [1С: плагин](1c-plugin.md) - [Сценарии использования](../../start/scenarios.md)