Как создать учетные данные агента для разрешений IoT Bosch?

Я пользуюсь службой разрешений Bosch IoT Suite.

У меня есть проблема, генерирующая учетные данные агента. Какие шаги и параметры мне нужно указать для генерации учетных данных агента? Я пытаюсь создать учетные данные агента, который может автоматически активировать вновь созданные учетные записи пользователей.

1 ответ

Вот несколько шагов для создания учетных данных агента для разрешений Bosch IoT Suite:

Цель

Использовать AuthorizedClient разрешений для

  • активировать пользователей, не заставляя их делать это самостоятельно
  • уменьшить разрешения пользователя путем создания учетных данных агента с подмножеством прав (чтобы уменьшить влияние злоупотребления учетными данными)

Prerequisits

  1. Вы забронировали службу разрешений IoT на bosch-iot-suite.com
  2. Вы создали пользователя в службе разрешений

Ознакомьтесь с руководством по разрешениям Bosch IoT: https://permissions.s-apps.de1.bosch-iot-cloud.com/docs/developer-guide/index.html

Руководство

  1. Создайте токен аутентификации с вашим пользователем
POST https://permissions-api.s-apps.de1.bosch-iot-cloud.com/2/rest/authentication
Headers:
    x-im-client-access-token: <....>
    Authorization Basic <username:password> (Base64 encoded username:password)
  1. Создайте токен авторизации с этим токеном аутентификации(предупреждение). Вы должны быть осторожны, чтобы поместить правильную область в этот токен авторизации (чтобы активировать пользователей, используйте область "pn")
POST https://permissions-api.s-apps.de1.bosch-iot-cloud.com/2/rest/authorization/HAX?scope=pn
Headers:
    x-im-client-access-token: <....>
    Authorization: Bearer <authentication token>
  1. Создайте учетные данные агента с токеном авторизации
POST https://permissions-api.s-apps.de1.bosch-iot-cloud.com/2/rest/users/current/agent-credentials
Headers:
    x-im-client-access-token: <....>
    Authorization: Bearer <authorization token>

Body:
{
  "scopes": [ "pn" ]
}

Использование в реализации Java

  1. Включите библиотеку разрешений в свое приложение. Следуйте инструкциям в разделе Разрешения IoT компании Bosch.
  2. Создайте экземпляр клиента разрешений
         Permissions.createClientBuilder()
                .clientId(clientId)
                .clientSecret(clientSecret)
                .serviceUrl(serviceUrl)
                .build();
    
  3. Создайте аутентифицированный клиент Permissions (имейте в виду, что у аутентифицированного клиента Permissions есть срок действия, поэтому вам нужно время от времени пересоздавать его)
        permissionsClient.authenticate()
                .agentCredentialsId(agentCredentialsId)
                .password(agentPassword)
                .andCreateAuthorizedClient()
                .executeAndGet()
                .getAuthorizedClient();
    
Другие вопросы по тегам