Как добавить нового клиента#

Клиент – это внешняя интеграционная система, которая будет работать с API. Одна внешняя интеграционная система – один зарегистрированный в API клиент. Доступ к API осуществляется через логин и пароль клиента, которые передаются клиенту после развертывания и настройки API и IdentityServer4.

После авторизации в API с помощью логина и пароля, клиент получает в IdentityServer4 временный токен, по которому осуществляется последующее взаимодействие с API.

Время действия токена 60 минут. После того как действие токена истекло, клиент должен заново запросить его в IdentityServer4. Запрос должен соответствовать протоколу OIDC. При взаимодействии с API в заголовке HTTP-запроса [Authorization] должен быть указан актуальный токен в формате «„Bearer „ + access_token», запрошенный в IdentityServer4.

Схема запроса токена в IdentityServer4 и взаимодействия авторизованного клиента с API при отправке HTTP-запросов:

../../../../_images/api1.png

Как зарегистрировать нового клиента в API#

Чтобы зарегестрировать нового клиента, откройте главное окно приложения и нажмите Добавить нового клиента.

../../../../_images/new_client.png

В приложении возможна регистрация внешнего клиента с двумя типами авторизации:

  • как внешняя система;

  • как пользователь Geometa.

Тип авторизации: Как внешняя система#

При авторизации необходимо использовать:

  • тип авторизации: OAuth 2.0 c Grant Type: Client Credentials;

  • Access Token URL с адресом https://{APIURL}/connect/token.

Для регистрации клиента с данным типом авторизации заполните форму:

../../../../_images/sistem.png
  • Наименование.

  • Тип авторизации.

  • Идентификатор клиента.

Подсказка

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

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

  • Секрет клиента.

  • Описание.

Тип авторизации: Как пользователь Geometa#

Тип авторизации “Как пользователь Geometa” позволяет отображать изменения в системе от имени субъекта, к которому привязана учетная запись Geometa. Если к учетной записи не привязан субъект, то отобразится запись jasperApi_{идентификатор внешнего клиента}.

Для получения токена авторизации необходима учетная запись Geometa с любыми правами доступа.

При авторизации необходимо использовать:

  • тип авторизации: OAuth 2.0 c Grant Type: Authorization Code (With PKCE);

  • Auth URL с адресом https://{APIURL}/connect/authorize;

  • Access Token URL с адресом https://{APIURL}/connect/token.

Для регистрации клиента с данным типом авторизации заполните форму:

../../../../_images/sistem1.png
  • Наименование.

  • Тип авторизации.

  • Идентификатор клиента.

Подсказка

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

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

  • Секрет клиента.

  • URI перенаправления или Callback URL – это адрес, на который необходимо перейти в процессе авторизации в Geometa. Если внешний клиент реализован в виде мобильного приложения, то он может выглядеть так: com.gemsdev.sodalite://callback.

  • URI перенаправления после выхода из системы – это адрес, в который будет направлен внешний клиент после выхода из Geometa.

  • Описание.

Передайте логин и пароль клиенту, чтобы он мог по ним запросить токен для отправки запросов в API.

Назначьте права клиенту на создание и редактирование, либо права на просмотр объектов (См. Как назначить права клиенту). Вы также можете добавить клиента без настройки прав, а назначить права клиенту позже.

Нажмите Сохранить изменения, чтобы добавить клиента.