0

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

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

4

1 回答 1

5

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

目的

使用 AuthorizedClient 的权限

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

先决条件

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

查看博世物联网权限指南: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. 将权限库包含到您的应用程序中 遵循博世物联网权限指南
  2. 创建权限客户端实例
         Permissions.createClientBuilder()
                .clientId(clientId)
                .clientSecret(clientSecret)
                .serviceUrl(serviceUrl)
                .build();
    
  3. 创建一个经过身份验证的 Permissions 客户端(请注意,经过身份验证的 Permissions 客户端有一个到期日期,因此您需要不时重新创建它)
        permissionsClient.authenticate()
                .agentCredentialsId(agentCredentialsId)
                .password(agentPassword)
                .andCreateAuthorizedClient()
                .executeAndGet()
                .getAuthorizedClient();
    
于 2019-05-09T09:11:16.093 回答