本主题介绍如何续订用户 Store ID 密钥。
生成用户 Store ID 密钥后,其生存期为 30 天。 在 30 天的生存期内,将使用密钥对 Microsoft Store 服务进行身份验证。 此外,可以在密钥过期之前续订密钥,以便为同一 Entra 应用程序客户端 ID 和用户标识生成新的用户存储 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)