如何生成博世物联网权限的代理凭证?

时间:2019-05-09 08:51:18

标签: permissions iot bosch-iot-suite

我正在使用Bosch IoT Suite的权限服务。

我在生成代理凭据时遇到问题。我需要指定什么步骤和参数来生成代理凭证?我正在尝试创建一个代理凭据,该凭据能够自动激活新创建的用户帐户。

1 个答案:

答案 0 :(得分:4)

以下是为Bosch IoT Suite权限创建代理凭证的步骤:

目的

使用权限的AuthorizedClient

  • 激活用户而不需要他们自己做
  • 通过创建带有权限子集的代理凭证来减少用户的权限(以减少滥用凭证的影响)

先决条件

  1. 您已经在bosch-iot-suite.com上预订了IoT权限服务
  2. 您已经在权限服务中创建了一个用户

从Bosch IoT权限中查看该指南:https://permissions.s-apps.de1.bosch-iot-cloud.com/docs/developer-guide/index.html#Getting-started---Bosch-IoT-Suite_216542264

指南

  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. 将权限库包含到您的应用程序中 遵循Bosch IoT Permissions
  2. 中的指南
  3. 创建一个权限客户端实例
         Permissions.createClientBuilder()
                .clientId(clientId)
                .clientSecret(clientSecret)
                .serviceUrl(serviceUrl)
                .build();
    
  4. 创建经过身份验证的Permissions客户端(请注意,经过身份验证的Permissions客户端具有到期日期,因此您需要不时地重新创建它)
        permissionsClient.authenticate()
                .agentCredentialsId(agentCredentialsId)
                .password(agentPassword)
                .andCreateAuthorizedClient()
                .executeAndGet()
                .getAuthorizedClient();