Создать OIDC-приложение в Yandex Identity Hub для интеграции с 1С:Предприятие
Примечание
Функциональность находится на стадии Preview.
1С:Предприятие
Чтобы пользователи вашей организации могли аутентифицироваться в 1С:Предприятие с помощью технологии единого входа по стандарту OpenID Connect
Управлять OIDC-приложениями может пользователь, которому назначена роль organization-manager.oauthApplications.admin или выше.
Чтобы дать доступ пользователям вашей организации в 1С:Предприятие:
Перед началом работы
Для прохождения руководства может потребоваться действующий договор «1С:ИТС»
Создайте приложение
- Войдите в сервис Yandex Identity Hub
. - На панели слева выберите
Приложения. - В правом верхнем углу страницы нажмите
Создать приложение и в открывшемся окне:- Выберите метод единого входа OIDC (OpenID Connect).
- В поле Имя укажите
enterprise-1c-oidc-app. - В поле Каталог выберите каталог, в котором будет создан OAuth-клиент для приложения.
- Нажмите Создать приложение.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для создания OIDC-приложения:
yc organization-manager idp application oauth application create --help -
Создайте OAuth-клиент:
yc iam oauth-client create \ --name enterprise-1c-oauth-client \ --scopes openid,email,profileГде:
--name— имя OAuth-клиента.--scopes— набор атрибутов пользователей, которые будут доступны 1С:Предприятие. Указаны атрибуты:openid— идентификатор пользователя. Обязательный атрибут.email— адрес электронной почты пользователя.profile— дополнительная информация о пользователе, такая как имя, фамилия, аватар.
Результат:
id: ajeqqip130i1******** name: enterprise-1c-oauth-client folder_id: b1g500m2195v******** status: ACTIVEСохраните значение поля
id, оно понадобится для создания и настройки приложения. -
Создайте секрет для OAuth-клиента:
yc iam oauth-client-secret create \ --oauth-client-id <идентификатор_OAuth-клиента>Результат:
oauth_client_secret: id: ajeq9jfrmc5t******** oauth_client_id: ajeqqip130i1******** masked_secret: yccs__939233b8ac**** created_at: "2025-10-21T10:14:17.861652377Z" secret_value: yccs__939233b8ac********Сохраните значение поля
secret_value, оно понадобится для настройки 1С:Предприятие. -
Создайте OIDC-приложение:
yc organization-manager idp application oauth application create \ --organization-id <идентификатор_организации> \ --name enterprise-1c-oidc-app \ --description "OIDC-приложение для интеграции с 1С:Предприятие" \ --client-id <идентификатор_OAuth-клиента> \ --authorized-scopes openid,email,profile \ --group-distribution-type noneГде:
--organization-id— идентификатор организации, в которой нужно создать OIDC-приложение. Обязательный параметр.--name— имя OIDC-приложения. Обязательный параметр.--description— описание OIDC-приложения. Необязательный параметр.--client-id— идентификатор OAuth-клиента, полученный на втором шаге. Обязательный параметр.--authorized-scopes— укажите те же атрибуты, которые были указаны при создании OAuth-клиента.--group-distribution-type— укажитеnone, так как группы пользователей не передаются в 1С:Предприятие.
Результат:
id: ek0o663g4rs2******** name: enterprise-1c-oidc-app organization_id: bpf2c65rqcl8******** group_claims_settings: group_distribution_type: NONE client_grant: client_id: ajeqqip130i1******** authorized_scopes: - openid - email - profile status: ACTIVE created_at: "2025-10-21T10:51:28.790866Z" updated_at: "2025-10-21T12:37:19.274522Z"
Настройте интеграцию
Настройте интеграцию 1С:Предприятие с созданным OIDC-приложением в Identity Hub.
Настройте OIDC-приложение на стороне Yandex Identity Hub
Получите учетные данные приложения
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
На вкладке Обзор в блоке Конфигурация поставщика удостоверений (IdP) разверните секцию Дополнительные атрибуты и скопируйте значения параметров, которые необходимо задать на стороне 1С:Предприятие:
ClientID— уникальный идентификатор приложения.OpenID Configuration— URL с конфигурацией всех необходимых для настройки интеграции параметров.
-
В блоке Секреты приложения нажмите кнопку Добавить секрет и в открывшемся окне:
- (Опционально) Добавьте произвольное описание создаваемого секрета.
- Нажмите Создать.
В окне отобразится сгенерированный секрет приложения. Сохраните полученное значение.
Важно
После обновления или закрытия страницы с информацией о приложении посмотреть секрет будет невозможно.
Если вы закрыли или обновили страницу, не сохранив сгенерированный секрет, используйте кнопку Добавить секрет, чтобы создать новый.
Чтобы удалить секрет, в списке секретов на странице OIDC-приложения в строке с нужным секретом нажмите значок
и выберите Удалить.
-
Получите информацию о созданном OIDC-приложении:
yc organization-manager idp application oauth application get <идентификатор_приложения>Где
<идентификатор_приложения>— это идентификатор OIDC-приложения, полученный при создании.В результате вы получите информацию о приложении, включая:
id: ek0o663g4rs2******** name: enterprise-1c-oidc-app organization_id: bpf2c65rqcl8******** client_grant: client_id: ajeqqip130i1******** authorized_scopes: - openid - email - profileСохраните значение
client_id— это идентификатор OIDC-приложения для настройки 1С:Предприятие. -
Получите URL с конфигурацией OpenID Connect Discovery:
yc organization-manager idp application oauth application get <идентификатор_приложения> \ --format json | jq -r '.client_grant.issuer_uri'Результат будет выглядеть так:
https://auth.yandex.cloud/oauth/<идентификатор_OAuth-клиента>Сохраните этот URL — это OpenID Connect Discovery URL для настройки 1С:Предприятие.
-
Используйте секрет OAuth-клиента, который был сохранен при создании приложения на предыдущем шаге. Если вы не сохранили секрет, создайте новый:
yc iam oauth-client-secret create \ --oauth-client-id <идентификатор_OAuth-клиента>Сохраните значение
secret_valueиз результата команды — это секрет приложения для настройки 1С:Предприятие.
Настройте Redirect URI
-
Войдите в сервис Yandex Identity Hub
. -
На панели слева выберите
Приложения и выберите нужное OIDC-приложение. -
Справа сверху нажмите
Редактировать и в открывшемся окне:- В поле Redirect URI укажите URL информационной базы 1С, по которому будет обрабатываться ответ от OIDC-приложения, в форме:
<домен_публикации_ИБ_1С>/<имя_приложения>/authform.htmlНапример:
https://your.company.ru/your-app/authform.html.- Нажмите Сохранить.
-
Обновите OIDC-приложение, указав Redirect URI:
yc organization-manager idp application oauth application update <идентификатор_приложения> \ --redirect-uris "<домен_публикации_ИБ_1С>/<имя_приложения>/authform.html"Где:
<идентификатор_приложения>— идентификатор OIDC-приложения, полученный при создании.--redirect-uris— URL информационной базы 1С, по которому будет обрабатываться ответ от OIDC-приложения. Например:https://your.company.ru/your-app/authform.html.
Результат:
id: ek0o663g4rs2******** name: grafana-cloud-oidc-app organization_id: bpf2c65rqcl8******** redirect_uris: - https://your.company.ru/your-app/authform.html
Настройте OIDC-приложение на стороне 1С:Предприятие
Чтобы настроить аутентификацию по стандарту OpenID Connect на стороне 1С:Предприятие, настройте конфигурацию публикации информационной базы, перезапустите Apache HTTP Server
Расположение файла конфигурации зависит от особенностей работы с 1С:Предприятие и может находиться, например, по пути /var/www/<имя_приложения>/default.vrd.
-
Откройте файл конфигурации и внутри раздела
pointдобавьте разделopenidconnect:<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" ... <openidconnect> <providers> <![CDATA[[ { "name": "identity-hub", "title": "Identity Hub", "discovery": "https://auth.yandex.cloud/.well-known/openid-configuration", "authenticationClaimName": "preferred_username", "authenticationUserPropertyName": "email", "clientconfig": { "authority": "https://auth.yandex.cloud", "client_id": "<идентификатор_приложения>", "client_secret" : "<секрет_приложения>", "redirect_uri": "https://<домен_публикации_ИБ_1С>/<имя_приложения>/authform.html", "response_type": "code", "scope": "openid email profile", "filterProtocolClaims": true, "loadUserInfo": false } } ]]]> </providers> <allowStandardAuthentication>true</allowStandardAuthentication> </openidconnect> ... </point>Где:
authenticationUserPropertyName— атрибут пользователя, по которому будет проходить аутентификация. В данном примере —email, адрес электронной почты.client_id— уникальный идентификатор OIDC-приложения, полученный ранее.client_secret— сгенерированный секрет OIDC-приложения, полученный ранее.redirect_uri— URL информационной базы 1С, по которому будет обрабатываться ответ от OIDC-приложения.
-
Перезапустите Apache HTTP Server:
systemctl restart apache2 -
Перейдите в «Конфигуратор 1С» и включите опцию OpenID Connect authentication для каждого нужного пользователя. При этом у пользователя должен быть заполнен атрибут, соответствующий параметру
authenticationUserPropertyNameв конфигурации.
Убедитесь в корректной работе приложения
Чтобы убедиться в корректной работе OIDC-приложения и интеграции с 1С:Предприятие, выполните аутентификацию в 1С:Предприятие от имени одного из пользователей, для которого разрешена OIDC-аутентификация.
Для этого:
- В браузере перейдите по адресу вашего экземпляра 1С:Предприятие (например,
https://your.company.ru). - Если вы были авторизованы в 1С:Предприятие, выйдите из профиля.
- На странице авторизации 1С:Предприятие нажмите Войти.
- На странице авторизации Yandex Cloud укажите адрес электронной почты и пароль пользователя.
- Убедитесь, что вы авторизовались в 1С:Предприятие.