Skip to content

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 执行。验证在检查中使用发布者、有效发布者、发布时间、过期时间、令牌算法和令牌类型。

令牌缓存和重新获取

获取有效令牌之后,令牌在AppCredentialsTenantCredentials对象中缓存。每个技术令牌的有效期为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