Аутентификация openid в 1с что это
Перейти к содержимому

Аутентификация openid в 1с что это

  • автор:

OpenID-аутентификация

OpenID-аутентификация — это один из видов аутентификации, поддерживаемых механизмом аутентификации 1С:Предприятия.

В этом случае аутентификацию пользователя выполняет не конкретная информационная база, к которой пытается подключиться пользователь, а внешний OpenID-провайдер, хранящий список пользователей.

OpenID-аутентификация

Преимущество этого вида аутентификации проявляется тогда, когда пользователь работает с большим количеством разных информационных баз.

Если используется аутентификация 1С:Предприятия, то каждый раз, при подключении к информационной базе, пользователь будет должен вводить логин и пароль.

Если же используется OpenID-аутентификация, то однажды выполнив процедуру аутентификации при подключении к одной из баз, во все остальные базы пользователь будет заходить без запроса логина и пароля. OpenID-провайдер будет автоматически аутентифицировать пользователя на основе имеющейся у него информации.

Последовательность действий, выполняемых при подключении пользователя, можно рассмотреть на следующей схеме:

OpenID-аутентификация

В качестве OpenID-провайдера используется информационная база 1С:Предприятия. Для этого она публикуется на веб-сервере с указанием специальных параметров.

1- клиентское приложение обращается к информационной базе 1,

2 — информационная база 1 обращается к OpenId-провайдеру с тем, чтобы он аутентифицировал пользователя,

3 — OpenID-провайдер выполняет процедуру аутентификации: пользователь вводит логин и пароль; в случае успешной аутентификации на компьютере пользователя в cookie сохраняется признак того, что провайдер аутентифицировал пользователя,

4 — используя признак аутентификации, сохраненный в cookie, пользователь подключается к информационной базе 1 и начинает работу,

5, 6 — при обращении к другой информационной базе, пользователю не нужно снова вводить логин и пароль; на основании признака аутентификации, сохраненного ранее в cookie, OpenID-провайдер выполняет аутентификацию незаметно для пользователя.

В настройках OpenID-провайдера можно задать время жизни признака аутентифицированности. Это позволяет заново запрашивать аутентификацию в тех случаях, когда подключение к информационным базам происходит с большими промежутками времени.

OpenID Connect

Поддержка возможности использовать OpenID Connect для авторизации, появилась в платформе 1С:Предприятие начиная с версии 8.3.13 (только для работы веб-клиента). В версии 8.3.14 данная возможность стала доступна и при использовании тонкого клиента (в случае если база опубликована на веб-сервере).
Для сопоставления пользователя «1С:Предприятия» и пользователя провайдера аутентификации используется электронная почта пользователя. Электронная почта пользователя должна быть указана в свойстве Имя пользователя информационной базы.

Пример авторизации с использованием учетной записи Google в тонком клиенте 1С:Предприятие показан в коротком видеоролике ниже.

OpenID-аутентификация (OpenID Authentication)

Система «1С» поддерживает в т.ч. возможность аутентификации методом OpenID, при которой пользователя «узнает» не отдельно взятая ИБ, а OpenID-провайдер, у которого в списке присутствуют данные идентифицируемого лица. Такой метод удобен при условии, что пользователь работает с многочисленными и разнообразными ИБ. Преимущества данного метода идентификации в том, что при трандиционном подключении к платформе придется каждый раз вводить пару «логин-пароль», а при использовании OpenID-аутентификации достаточно единожды пройти эту процедуру, подключившись к одной из ИБ. Далее уже не потребуется пользоваться логином и паролем, силами OpenID-провайдера на основании имеющейся у него информации аутентификация будет проходить в автоматическом режиме. Схема взаимодействия представлена ниже.

Схема OpenID-аутентификации

В системе «1С» OpenID-провайдером выступает ИБ «1С:Предприятия», опубликованная на сервере. Далее процесс идентификации проходит по следующим этапам:

  • обращение клиентского приложения к ИБ;
  • ИБ обращается к OpenID-провайдеру с запросом об аутентификации;
  • пользователь, введя логин-пароль, подтверждает свою личность;
  • OpenID-провайдер идентифицирует его и на ПК пользователя формируются cookie`s, сохраняющие данные об аутентификации;
  • с их помощью пользователь подключается к ИБ и приступает к работе.

Когда возникает необходимость поработать с другой ИБ, пользователю не придется проходить процедуру заново, поскольку с помощью куки OpenID-провайдер сам идентифицирует клиента. «Время жизни» куки можно ограничить в настройках OpenID-провайдера с тем, чтобы избежать доступа к ИБ клиентами, утратившими право на них (например, после увольнения, истечения полномочий и т.п.).

ТОП ПРОДАЖ 1С:Предприятие

Description

OpenID Connect (http://openid.net/connect/) ‑protocol is an expansion of the OAuth 2.0 authorization protocol. OpenID Connect allows 1C:Enterprise to verify user identities based on the authentication by the third-party provider. This protocol is applicable when using thin, mobile, or web client. 1C:Enterprise cannot be the OpenID Connect provider. Third-party providers are used for this purpose. OpenID Connect protocol support also means the potion to use the Unified System for Identification and Authentication (USIA).

To match 1C:Enterprise users and authentication provider users, email messages are used. The OpenID Connect provider provides email services for 1C:Enterprise. The user email address must be specified in the Name property of the Infobase user.

So far as a mobile client is concerned, authentication is provided using a web browser supported by a mobile device:

  • OS Android: Google Chrome.
  • OS iOS: 9.0 or later.

If your mobile device is not in compliance with the aforesaid requirements, repeated authentication is required on the side of the OpenID Connect provider in a mobile client. To start forced authentication when you log in next time, run Log out command in the mobile client.

Description of the work using the OpenID Connect provider

Items description
<openidconnect>

This item describes the settings related to authentication over OpenID Connect protocol. Applicable when using thin client and web client. <openidconnect> item is subordinate to <point> item. No more than one is allowed. <providers> and <allowStandardAuthentication> items are subordinate to <openidconnect> item. No more than one subordinate element is allowed.

This item does not have any attributes.

<providers>

This item contains description of external OpenID providers supporting OpenID Connect v1.0 authentication protocol (http://openid.net/connect/). The description is an array of objects, where each object describes one OpenID provider. The array is represented by JSON serialization.

Each provider is described with the object with the following properties:

  • name‑ provider ID. Must be unique within the array. If the array contains several providers with the same ID, the last one will be used.
  • title ‑ provider text representation. Will be displayed on the provider button in the authentication page unless the image (image) is specified.
  • image‑ provider graphical representation. Will be displayed on the provider button in the authentication page. The image is specified as data:image in base64 format.
  • discovery‑ describes provider URL (if supported), which allow to retrieve all its settings (discovery endpoint URL) when accessed.
  • provideconfig‑ provider settings description as JSON file (unless the provider supports the request to retrieve settings). The data must be in OpenID Provider Metadata format (http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
  • clientconfig‑ client configuration as JSON file. This data format matches OAuth 2.0 Authorization Request format (http://openid.net/specs/openid-connect-core-1_0.html#AuthRequest), to which the authoritythat must contain authentication provider URL is added. Contents of this property depend on the provider used.

redirect_uri property in clientconfig structure has URL which is used to enter an authentication data processor in an application which requests such authentication. As a rule, the said URL is as follows: https://IBhost/IBname/authform.html :

  • IBhost‑ name of a host, where an infobase is published.
  • IBname‑ name of an infobase which has been published («name» means information entered in Namefield in the infobase publication dialog box or any similar value, if any other publication method is used.

The fields of the structure located in the crypto property are similar to the parameters of the constructor of the CryptographyManager object.

Provider description example:

<allowStandardAuthentication>

The item allows or prohibits 1C:Enterprise authentication. If this item is false, authentication using the providers described in default.vrd file will be available in the authentication form on web client startup.

The item can take the following values:

  • true ‑ 1C:Enterprise authentication is permitted. Default value.
  • false‑ 1C:Enterprise authentication is forbidden.
Operation scenario

Authentication using the OpenID Connect provider is available only if the parameters of one or more providers are specified in the default.vrd file. When trying to use a client application (thin or web client) to access the infobase, the following actions are executed:

  • If the provider is explicitly specified in the client application command line, the jump is executed in accordance with the parameters, specified in default.vrd file for this provider.
  • Otherwise, the platform forms a start form (depending on the client application), on which all configured OpenID Connect providers are located (in the default.vrd file). Depending on the settings, this web page may contain the access button using the standard 1C:Enterprise authentication.
  • After selecting the provider, the user is redirected to the provider’s authentication page. On this page, the user authenticates with selected provider in any possible method (for this provider).
  • Then the provider redirects the user to a special page of the 1C:Enterprise system, passing a JSON file as a «parameter» (JSON Web Token, JWT) with the authentication results. URL of this page is specified inredirect_uri property in clientconfigstructure of provider element.
  • Using the authentication results passed by the provider, 1C:Enterprise retrieves the user email from the provider.
  • Retrieved e-mail address is used to search for the user in the 1C:Enterprise infobase. Search is executed by the user property Name.
  • After that the authentication is deemed to be successful and the application startup continues.

If authentication on the provider side fails, the provider’s actions are not defined.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *