Renovar uma chave de ID da Microsoft Store
Use esse método para renovar uma chave da Microsoft Store. Quando você gerar uma chave de ID da Microsoft Store, a chave é válida por 30 dias. Antes que a chave expire, você pode usá-la para renegociar uma nova chave usando esse método.
A biblioteca Microsoft.StoreServices fornece a funcionalidade desse método por meio da API UserStoreId.RefreshStoreId.
Observação
Anteriormente, as chaves da Microsoft Store tinham uma vida útil mais longa e, em alguns casos, podiam ser renovadas depois que a chave já havia expirado. Agora, os desenvolvedores só devem esperar que as chaves sejam renováveis durante sua vida útil e devem anotar a data de expiração nas chaves para renová-las antes que expirem.
Importante
Embora as chaves da Microsoft Store possam ser renovadas antes de expirarem, as chaves podem ser revogadas antes de suas datas de expiração em resposta a preocupações de segurança. Portanto, os vossos serviços devem lidar com o caso em que uma tentativa de renovação falha devido ao AuthenticationTokenInvalid. Nesse caso, você deve gerar uma nova chave da Microsoft Store para o usuário no cliente ou o método usado para gerar a chave original da Microsoft Store.
Pré-requisitos
Para usar esse método, você precisará:
- Um token de acesso do Entra ID que tem o valor URI de audiência
https://onestore.microsoft.com/.default
. - Uma chave de ID da Microsoft Store expirada que foi gerada a partir do código do lado do cliente na sua aplicação.
Para obter mais informações, consulte Gerir direitos de produtos a partir de um serviço.
Solicitar
Sintaxe da solicitação
Tipo de chave | Método | Solicitar URI |
---|---|---|
Coleções | PUBLICAR | https://collections.mp.microsoft.com/v6.0/b2b/keys/renew |
Compra | PUBLICAÇÃO | https://purchase.mp.microsoft.com/v6.0/b2b/keys/renew |
Cabeçalho da solicitação
Cabeçalho | Tipo | Descrição |
---|---|---|
Anfitrião | string | Deve ser definido como o valor collections.mp.microsoft.com ou purchase.mp.microsoft.com. |
Comprimento do Conteúdo | número | O comprimento do corpo do pedido. |
Tipo de conteúdo | string | Especifica o tipo de solicitação e resposta. Atualmente, o único valor suportado é application/json. |
Corpo do pedido
Parâmetro | Tipo | Descrição | Necessário |
---|---|---|---|
bilhete de serviço | string | O token de acesso do Entra ID. | Sim |
chave | string | A chave de ID da Microsoft Store expirada. | Sim |
Exemplo de solicitação
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…."
}
Resposta
Corpo de resposta
Parâmetro | Tipo | Descrição |
---|---|---|
chave | string | A chave atualizada da Microsoft Store que pode ser usada em chamadas futuras para a API de coleções da Microsoft Store ou para a API de compra. |
Exemplo de resposta
HTTP/1.1 200 OK
Content-Length: 1646
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1b5fa630-d672-4971-b2c0-3713f4ea6c85
MS-CV: xu2HW6SrSkyfHyFh.0.0
MS-ServerId: 030011428
Date: Tue, 13 Sep 2015 07:31:12 GMT
{
"key":"eyJ0eXAi….."
}
Códigos de erro
Código | Erro | Código de erro interno | Descrição |
---|---|---|---|
401 | Não autorizado | TokenDeAutenticaçãoInválido | O token de acesso do Entra ID ou a Chave da Microsoft Store que está sendo renovada são inválidos. Em alguns casos, os detalhes do ServiceError conterão mais informações, como quando o token expirou ou a reivindicação appid está em falta. |
401 | Não autorizado | InconsistentClientId | A declaração de clientId na chave de ID da Microsoft Store e a declaração de appid no token de acesso do Entra ID não coincidem. |