更新用户 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 密钥,你需要:
- 具有受众 URI 值
https://onestore.microsoft.com
的 Microsoft Entra ID 访问令牌 - 从应用程序中的客户端代码生成 的过期 Microsoft 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.com 或 purchase.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 声明不匹配。 |
另请参阅
使用 XSTS 令牌或 OAuth 2.0 从服务请求用户 Store ID
Microsoft.StoreServices 库 (GitHub)