Как добавить нового клиента#
Клиент – это внешняя интеграционная система, которая будет работать с API. Одна внешняя интеграционная система – один зарегистрированный в API клиент. Доступ к API осуществляется через логин и пароль клиента, которые передаются клиенту после развертывания и настройки API и IdentityServer4.
После авторизации в API с помощью логина и пароля, клиент получает в IdentityServer4 временный токен, по которому осуществляется последующее взаимодействие с API.
Время действия токена 60 минут. После того как действие токена истекло, клиент должен заново запросить его в IdentityServer4. Запрос должен соответствовать протоколу OIDC. При взаимодействии с API в заголовке HTTP-запроса [Authorization] должен быть указан актуальный токен в формате «„Bearer „ + access_token», запрошенный в IdentityServer4.
Схема запроса токена в IdentityServer4 и взаимодействия авторизованного клиента с API при отправке HTTP-запросов:
Как зарегистрировать нового клиента в API#
Чтобы зарегестрировать нового клиента, откройте главное окно приложения и нажмите Добавить нового клиента.
В приложении возможна регистрация внешнего клиента с двумя типами авторизации:
как внешняя система;
как пользователь Geometa.
Тип авторизации: Как внешняя система#
При авторизации необходимо использовать:
тип авторизации: OAuth 2.0 c Grant Type: Client Credentials;
Access Token URL с адресом https://{APIURL}/connect/token.
Для регистрации клиента с данным типом авторизации заполните форму:
Наименование.
Тип авторизации.
Идентификатор клиента.
Подсказка
Заданный идентификатор клиента в последующем изменить нельзя. Поэтому при создании идентификатора задавайте его сразу уникальным, корректным и удобным для дальнейшего использования и передачи клиенту.
Не рекомендуется создавать идентификатор клиента опираясь на наименование компании, участвующей в интеграции. Это может создать путаницу, так как на одном проекте у компании может быть несколько интеграций.
Секрет клиента.
Описание.
Тип авторизации: Как пользователь 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.
Для регистрации клиента с данным типом авторизации заполните форму:
Наименование.
Тип авторизации.
Идентификатор клиента.
Подсказка
Заданный идентификатор клиента в последующем изменить нельзя. Поэтому при создании идентификатора задавайте его сразу уникальным, корректным и удобным для дальнейшего использования и передачи клиенту.
Не рекомендуется создавать идентификатор клиента опираясь на наименование компании, участвующей в интеграции. Это может создать путаницу, так как на одном проекте у компании может быть несколько интеграций.
Секрет клиента.
URI перенаправления или Callback URL – это адрес, на который необходимо перейти в процессе авторизации в Geometa. Если внешний клиент реализован в виде мобильного приложения, то он может выглядеть так: com.gemsdev.sodalite://callback.
URI перенаправления после выхода из системы – это адрес, в который будет направлен внешний клиент после выхода из Geometa.
Описание.
Передайте логин и пароль клиенту, чтобы он мог по ним запросить токен для отправки запросов в API.
Назначьте права клиенту на создание и редактирование, либо права на просмотр объектов (См. Как назначить права клиенту). Вы также можете добавить клиента без настройки прав, а назначить права клиенту позже.
Нажмите Сохранить изменения, чтобы добавить клиента.