Node.js 的 MindSphere SDK 令牌处理¶
Node.js 的 MindSphere SDK 中的令牌处理使用服务凭证提供访问令牌提取,缓存它们并在过期时重新提取它们。 这为开发者提供了一种简单的授权处理机制。开发者可以配置用户授权令牌或服务凭证。可以通过编程或使用环境变量设置服务凭证。
功能¶
Node.js 的 MindSphere SDK 中的令牌处理提供以下功能:
- 处理用户令牌
- 获取和处理技术令牌
- 使用应用特定服务凭证获取
- 使用租户特定服务凭证获取
- 使用具有子租户扮演的租户特定服务凭证获取
- 在进行 API 调用之前,使用发布者、发布时间、过期时间、令牌算法和令牌类型进行令牌验证。
- 重新使用技术令牌直到它们过期,并在过期时间小于5分钟时自动刷新,以减少流量。
技术令牌处理机制¶
令牌获取¶
Node.js 的 MindSphere SDK 在获取科技令牌时,使用客户端 ID、客户端密钥和其他配置的参数来进行 MindSphere API 调用。更多配置参数的信息,请参考提取技术令牌所需的环境变量
Node.js 的 MindSphere SDK 使用应用服务凭证(如果可用),否则寻找租户服务凭证。
令牌验证¶
如果技术令牌有效,API 调用仅由 MindSphere SDK 执行。验证在检查中使用发布者、有效发布者、发布时间、过期时间、令牌算法和令牌类型。
令牌缓存和重新获取¶
获取有效令牌之后,令牌在AppCredentials
或 TenantCredentials
对象中缓存。每个技术令牌的有效期为30分钟。一个新令牌将在过期前5分钟自动获取。
获取技术令牌所需的环境变量¶
如果用户令牌或服务凭证都没有以编程方式进行设置,Node.js 的 MindSphere SDK 仅使用环境变量来获取令牌。
应用特定技术令牌的环境变量¶
环境变量 variable | 描述 |
---|---|
MDSP_KEY_STORE_CLIENT_ID | 租户 ID 以在 Developer Cockpit 或 Operator Cockpit 以中服务凭证的形式显示 |
MDSP_KEY_STORE_CLIENT_SECRET | 租户密钥以在 Developer Cockpit 或 Operator Cockpit 以中服务凭证的形式显示 |
MDSP_OS_VM_APP_NAME | Operator Services 的版本管理存储的应用名称 |
MDSP_OS_VM_APP_VERSION | Operator Services 的版本管理存储的应用版本 |
MDSP_HOST_TENANT | 主租户 |
MDSP_USER_TENANT | 用户租户 |
租户特定技术令牌的环境变量¶
环境变量 | 描述 |
---|---|
MINDSPHERE_CLIENT_ID | 服务凭证的租户 ID |
MINDSPHERE_CLIENT_SECRET | 服务凭证的租户密钥 |
MINDSPHERE_TENANT | 租户名称 |
带有子租户扮演的租户特定技术令牌的环境变量¶
环境变量 | 描述 |
---|---|
MINDSPHERE_CLIENT_ID | 服务凭证的租户 ID |
MINDSPHERE_CLIENT_SECRET | 服务凭证的租户密钥 |
MINDSPHERE_TENANT | 租户名称 |
MINDSPHERE_SUB_TENANT | 子租户名称 |
Last update: March 22, 2023