更新用户 Store ID 密钥

本主题介绍如何续订用户 Store ID 密钥。

生成用户 Store ID 密钥后,其生存期为 30 天。 在 30 天的生存期内,将使用密钥对 Microsoft Store 服务进行身份验证。 还可续订该令牌,为同一 Entra 应用程序客户端 ID 和用户标识生成新的用户 Store ID。 虽然在 30 天内调用 Store 服务时将遵循用户 Store ID,但这并不能保证可以在整个生存期内续订它。 用于这些密钥的签名证书会经常轮换,如果签名证书太旧,则在尝试续订用户 Store ID 时将被拒绝。 因此,如果计划续订缓存的用户商店 ID,建议至少每 14 天续订一次。 这将确保使用最新的签名证书,并将能够在接下来的 14 天内再次续订新的用户 Store ID。

先决条件

要续订用户 Store ID 密钥,你需要:

有关详细信息,请参阅请求一个用户 Store ID 用于服务间身份验证

请求

请求语法

密钥类型 方法 请求 URI
Collections POST https://collections.mp.microsoft.com/v6.0/b2b/keys/renew
Purchase POST https://purchase.mp.microsoft.com/v6.0/b2b/keys/renew

请求头文件

标头 类型 说明
Host string 必须设置为值 collections.mp.microsoft.compurchase.mp.microsoft.com
Content-Length number 请求正文的长度。
Content-Type string 指定请求和响应类型。 当前,唯一受支持的值为 application/json

请求正文

参数 类型 说明 必需
serviceTicket string Microsoft Entra ID 服务访问令牌
key string 过期的 Microsoft Store ID 密钥

请求示例

POST https://collections.mp.microsoft.com/v6.0/b2b/keys/renew HTTP/1.1
Content-Length: 2774
Content-Type: application/json
Host: collections.mp.microsoft.com

{
    "serviceTicket": "eyJ0eXAiOiJKV1QiLCJhb...",
    "Key": "eyJ0eXAiOiJKV1QiLCJhbG..."
}

响应

响应正文

参数 类型 说明
key string 已刷新的用户 Store ID 密钥,可在将来调用 Microsoft Store 收藏 API 或购买 API 时使用

响应示例

HTTP/1.1 200 OK
Content-Length: 1646
Content-Type: application/json
MS-CorrelationId: bfebe80c-ff89-4c4b-8897-67b45b916e47
MS-RequestId: 1b5fa630-d672-4971-b2c0-3713f4ea6c85
MS-CV: xu2HW6SrSkyHyFh.0.0
MS-ServerId: 030011428
Date: Tue, 13 Sep 2019 07:31:12 GMT

{
    "key":"eyJ0eXAi..."
}

错误代码

代码 错误 内部错误代码 描述
401 未授权 AuthenticationTokenInvalid Microsoft Entra ID 访问令牌无效。 在某些情况下,ServiceError 的详细信息包含更多信息,例如令牌到期或 appid 声明丢失的时间。
401 未授权 InconsistentClientId 用户 Store ID 密钥中的 clientId 声明与 Microsoft Entra ID 访问令牌中的 appid 声明不匹配。

另请参阅

商务(概述)

管理来自服务的产品

请求用户 Store ID 用于服务间身份验证。

使用 XSTS 令牌或 OAuth 2.0 从服务请求用户 Store ID

使用 Microsoft Store API 验证您的服务

Microsoft.StoreServices 库 (GitHub)

Microsoft.StoreServices 示例 (GitHub)

XStore (API 参考)