Как создать учетные данные агента для разрешений IoT Bosch? - PullRequest
0 голосов
/ 09 мая 2019

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

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

1 Ответ

5 голосов
/ 09 мая 2019

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

Назначение

Использование AuthorizedClient of Permissions для

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

Предварительные условия

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

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

Guide

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