Insights Hub Insights Hub 常见几种 Token 及区别是什么?

2023-04-20T07:33:33Z
Developer Tools

摘要


详细信息

Insights Hub 常见几种 Token 及区别是什么?

Solution

Insights Hub 平台提供的 Token 主要分为数据获取和数据上传两类:

一、数据获取

1. Technical User 信息置换的 token

获取 token 的 URL 类似:https://{tenantName}.piam.{region}.{insightshub-domain}/oauth/token。需要输入 client_id 和 client_secret 来获取该 token,这个 token 保证了对 Insights Hub 相关服务 API 访问权限,该 token 有效期为 30 分钟。

2. 应用凭证(App Credentials)信息置换的 token

APP 在 Developer Cockpit 注册完成后,可以在授权管理中生成应用凭证信息 client_id 和 client_secret,利用应用凭证信息通过 Token Management Service 提供的 API:/oauth/token (POST) 来置换 token,该 token 和 tenant admin 申请的 tech user 置换回来的 token 权限是一样的。

3. 在开发 app 后端时 Insights Hub Gateway 提供的 User Token

在例如使用 Java Spring 开发后端 app 时,可以从 RequestHeader 中获取 Authorization 的值,我们称其为 User Token,使用这个 token 去访问 Insights Hub 提供的资源和服务前,需要用户在 Developer Cockpit 中,为 App 注册添加权限时,在权限管理中添加其需要访问的相关的 Service,或者自定义后端服务的角色,此时 User Token 中将带有被分配的 Service 的访问权限。


Service 角色权限的添加


上图添加了两个 Insights Hub 提供的 Role。

二、设备相关 Token

通过代理上传数据的相关 token (API 接口具体使用,参考开发者官网 agent management service: https://documentation.mindsphere.io/MindSphere/apis/connectivity-agentmanagement/api-agentmanagement-overview.html)

1. 代理上线配置中的初始化 token (IAT - Initial Access Token)

获取接口:/api/agentmanagement/v3/agents/{id}/boarding/configurationId 就是上一步创建的agent id。从返回值中,我们可以获得 IAT,IAT 是一个由平台生成的 JSON Web Token,用来做初始化注册,代理上线使用,上线时调用接口:/api/agentmanagement/v3/register 可以获取对应的 RAT。IAT有7天有效期,过期前必须进行更新,需使用RAT重新获取有效期权限。

2. 注册访问 token (RAT - Registration Access Token)

使用 IAT 来进行上线注册。注册完成后从返回值中可以获得 RAT 和对应的 client_secret。RAT 有 7 天有效期,过期前必须进行更新,否则无法使用已经onboarding的agent。更新接口:api/agentmanagement/v3/register/{id},Id 为 agent id。

3. 上传数据 token/api/agentmanagement/v3/oauth/token。

为了获取该 token,需要使用自签的 JWT。该 JWT 通过 agent_id 和 client_secret 获得,加密算法采用 HS256。从返回值中我们可以获取该 token,后续的数据上传需要使用到该 token。access token 有效期可通过自签 JWT 时自定义,通常建议为半小时,token 过期了需要重新申请,否则无法上传数据。

Notes

Notes

知识库文章 ID# PL8551067

内容

摘要详细信息

关联组件

Developer Cockpit