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.
Nota
Anteriormente, as chaves da Microsoft Store tinham um tempo de vida mais longo e, em alguns casos, conseguiam ser renovadas depois que a chave já tinha expirado. Agora, os desenvolvedores só devem esperar que as chaves sejam renováveis durante o tempo de vida e devem observar a data de expiração nas chaves para renová-las antes de expirarem.
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 com a segurança. Portanto, seus serviços devem lidar com a situação 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á de:
- Um token de acesso do Entra ID que tem o valor URI de destinatário
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 em seu aplicativo.
Para obter mais informações, consulte Gerenciar direitos sobre produtos de um serviço.
Solicitação
Sintaxe de solicitação
Tipo de chave | Método | URI de solicitação |
---|---|---|
Coleções | POST | https://collections.mp.microsoft.com/v6.0/b2b/keys/renew |
Compra | POST | 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. |
Content-Length | número | O tamanho do corpo da solicitação. |
Tipo de conteúdo | string | Especifica o tipo de solicitação e resposta. Atualmente, o único valor com suporte é application/json. |
Corpo da solicitação
Parâmetro | Tipo | Descrição | Necessário |
---|---|---|---|
serviceTicket | 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 da 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 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 | Desautorizado | Token de Autenticação Inválido | O token de acesso da ID do Entra 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 tiver expirado ou quando a reivindicação do appid estiver ausente. |
401 | Desautorizado | InconsistentClientId | A declaração clientId na chave de ID da Microsoft Store e a declaração appid no token de acesso da ID do Entra não correspondem. |