Skip to main content
Cet article décrit la configuration et les étapes pour obtenir un User Store ID pour l’authentification de service à service du Microsoft Store. Un User Store ID authentifie les appels de service aux API du Microsoft Store au nom d’un utilisateur précis. Sur les consoles XBOX, cette identité est liée au compte de l’objet XUser. Sur PC, l’identité est liée au compte connecté à l’application Microsoft Store et utilisé pour les achats.
Sur PC, l’identité du compte de l’application Microsoft Store peut être différente de celle du compte connecté à XBOX Live et qui joue au jeu.
Pour plus d’informations sur la façon dont le compte de jeu et le compte d’achat peuvent être différents, consultez Gestion des scénarios de comptes Store non concordants sur PC. Il existe deux types de clés User Store ID.
  1. User Collections ID pour s’authentifier auprès du service Collections du Microsoft Store
  2. User Purchase ID pour s’authentifier auprès du service Purchase du Microsoft Store
Les sections suivantes décrivent le processus pour obtenir un User Store ID afin d’appeler les services respectifs :
  1. Configurer une application Microsoft Entra ID.
  2. Associer votre ID d’application Microsoft Entra à votre application cliente dans Partner Center.
  3. Dans votre service, créer des jetons d’accès Microsoft Entra ID qui représentent votre identité d’éditeur.
  4. Dans votre jeu, créer une clé User Store ID qui représente l’identité de l’utilisateur et renvoyer cette clé à votre service.
  5. Authentifier les requêtes aux API du Microsoft Store.
  6. Renouveler une clé User Store ID lorsqu’elle expire.
Ce processus fait intervenir deux composants logiciels :
  • Votre service : back-end sécurisé qui crée des jetons d’accès Microsoft Entra et appelle les API du Store.
  • Votre jeu : client qui crée des clés User Store ID pour l’utilisateur connecté et les transmet à votre service.

La bibliothèque .NET Microsoft.StoreServices et l’exemple

Pour simplifier l’intégration, utilisez Microsoft.StoreServices sur GitHub. La bibliothèque gère les flux d’authentification et de clés, et fournit des wrappers pour les appels aux services du Store. L’exemple comprend des modèles de bout en bout pour les consommables, le rapprochement des remboursements et le renouvellement des clés.

Étape 1 : Configurer une application Microsoft Entra ID

Avant de pouvoir utiliser les API du Microsoft Store, créez une application Web Microsoft Entra qui identifie votre service lors des appels aux API. À partir de l’application Web inscrite, obtenez l’ID de locataire, l’ID d’application et la clé secrète afin de générer les jetons d’accès requis lors des étapes suivantes.
Vous pouvez réutiliser l’ID de locataire, l’ID d’application et la clé secrète de l’application Web pour plusieurs jeux et produits de votre éditeur. Vous n’avez pas besoin d’en créer une nouvelle pour chaque jeu.
  1. Si ce n’est pas déjà fait, suivez les instructions de Démarrage rapide : Inscrire une application auprès de la plateforme d’identités Microsoft pour inscrire une application Web app / API auprès de Microsoft Entra ID.
    [!NOTE] Lorsque vous inscrivez votre application, choisissez Web app / API comme type d’application. Ce type vous permet de récupérer une clé (également appelée secret client) pour votre application. Pour appeler les API du Microsoft Store, vous devez fournir un secret client lorsque vous demandez un jeton d’accès à Microsoft Entra ID lors d’une étape ultérieure.
  2. Dans le portail de gestion Azure, accédez à Microsoft Entra ID. Sélectionnez votre annuaire, App registrations dans le volet de gauche, puis votre application.
  3. Copiez les valeurs Application (client) ID et Directory (tenant) ID pour une utilisation ultérieure.
  4. Créez et copiez un nouveau secret client sous Certificates & Secrets dans le volet de gauche.

Étape 2 : Associer votre ID d’application Microsoft Entra à votre application cliente dans Partner Center

  1. Connectez-vous à Partner Center, puis sélectionnez votre jeu.
  2. Sélectionnez Services > Product collections and purchases. Entrez votre ID d’application Microsoft Entra dans l’un des champs Client ID disponibles.
  3. Sélectionnez Save.
  4. Republiez le jeu et ses extensions dans le Store.
Les produits d’extension héritent des Client ID enregistrés dans la page Product collections and purchases de leur jeu parent. Les produits de type ensemble de jeux (Game Bundle) ont leur propre page Product collections and purchases dans laquelle vous devez ajouter les Client ID.

Étape 3 : Créer des jetons d’accès Microsoft Entra ID

Toutes les requêtes d’API nécessitent un jeton du porteur (Bearer), appelé jeton d’accès au service, dans l’en-tête Authorization. L’autre jeton d’accès nécessaire dépend des services ou de l’API que vous appelez.
Créez des jetons d’accès Microsoft Entra ID uniquement dans le contexte de votre service, et non dans votre application. Si vous envoyez votre secret client à votre application, il pourrait être compromis.

Comprendre les différents jetons d’accès et URI d’audience

Chaque jeton d’accès est associé à un URI d’audience différent utilisé pour le créer.
N’envoyez jamais au client des jetons d’accès au service qui utilisent l’audience https://onestore.microsoft.com/.default. Stockez-les de manière sécurisée dans votre service.

Créer des jetons d’accès

Pour créer les jetons d’accès, utilisez l’API OAuth 2.0 dans votre service. Suivez les instructions de Plateforme d’identités Microsoft et flux d’informations d’identification du client OAuth 2.0 pour envoyer une requête HTTP POST au point de terminaison https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token. L’exemple suivant montre un exemple de requête.
Pour chaque requête de jeton : Vous pouvez créer un nouveau jeton d’accès avant ou après l’expiration d’un jeton d’accès existant. Pour plus d’informations sur la structure d’un jeton d’accès, consultez Jetons de sécurité.

Étape 4 : Créer une clé User Store ID

Pour identifier l’utilisateur dans la requête, votre service obtient une clé User Store ID. User Store ID est utilisé comme terme général pour désigner un User Collections ID ou un User Purchase ID. La seule différence entre ces clés est le service correspondant auprès duquel elles peuvent s’authentifier. Vous pouvez générer des clés User Store ID sur le client à l’aide des API du GDK ou sur votre service. Cette section porte sur la création de clés User Store ID sur le client au moyen des API du GDK. Pour plus d’informations sur la façon de générer des clés User Store ID sur votre service, consultez Demande d’un User Store ID à partir de votre service avec des jetons X ou OAuth 2.0. Les clés User Store ID sont des jetons Web JSON (JWT) qui représentent l’utilisateur connecté à l’application Microsoft Store. Pour plus d’informations sur les revendications de cette clé, consultez Revendications dans une clé User Store ID.
Chaque clé User Store ID est valide pendant 30 jours. Votre service peut renouveler la clé avant son expiration. Si votre service nécessite un accès continu pour interroger les droits d’utilisation de l’utilisateur, renouvelez vos clés Microsoft Store ID plutôt que d’en créer de nouvelles. Pour plus d’informations, consultez Renouvellement d’une clé User Store ID.

Pour créer une clé User Collections ID pour le service Collections du Microsoft Store

La clé User Collections ID vous permet d’interroger les produits possédés par un utilisateur et de gérer les produits consommables à l’aide des API Collections. Pour plus d’informations sur la gestion des consommables, consultez Gestion des produits consommables à partir de votre service.
  1. Transmettez au jeu un jeton d’accès Collections que vous avez créé à l’étape 3.
  2. Dans le jeu, appelez XStoreGetUserCollectionsIdAsync pour récupérer la clé User Collections ID. Transmettez le jeton d’accès Collections comme paramètre serviceTicket. Vous pouvez également transmettre votre identificateur d’utilisateur interne dans publisherUserId.
  3. Une fois que votre application a créé une clé User Collections ID, renvoyez la clé à votre service.

Pour créer une clé User Purchase ID pour le service Purchase du Microsoft Store

La clé User Purchase ID vous permet d’interroger les produits possédés par un utilisateur et de gérer les produits consommables à l’aide des API Purchase. Pour plus d’informations sur la gestion des consommables, consultez Gestion des produits consommables à partir de votre service.
  1. Transmettez au jeu un jeton d’accès Purchase que vous avez créé à l’étape 3.
  2. Dans le jeu, appelez XStoreGetUserPurchaseIdAsync pour récupérer la clé User Purchase ID. Transmettez le jeton d’accès Purchase comme paramètre serviceTicket. Vous pouvez également transmettre votre identificateur d’utilisateur interne dans publisherUserId.
  3. Une fois que votre application a créé une clé User Purchase ID, renvoyez la clé à votre service.

Étape 5 : Authentifier les appels aux API du Microsoft Store

Pour obtenir des instructions, consultez Authentification avec Microsoft Entra ID et des User Store ID.

Étape 6 : Renouveler une clé User Store ID à son expiration

Pour obtenir des instructions, consultez Renouvellement d’une clé User Store ID.

Informations supplémentaires

Diagramme de création d’une clé User Store ID

Le diagramme suivant illustre le processus de création d’une clé User Store ID. Diagramme montrant le processus de création d'une clé User Store ID. De gauche à droite, les blocs représentent votre service, Microsoft Entra ID, votre application, le Windows SDK et le Store. Des flèches numérotées montrent le flux de votre service vers Microsoft Entra ID, de votre service vers votre application, de votre application vers le Windows SDK et le Store, puis de votre application vers votre service.

Revendications dans une clé User Store ID

Une clé User Store ID est un JWT qui représente l’identité de l’utilisateur dont vous souhaitez consulter les informations de propriété des produits. Lorsque vous la décodez à l’aide de Base64, une clé User Store ID contient les revendications présentées dans le tableau suivant. L’exemple suivant montre un en-tête User Store ID décodé.
Traitez la signature JWT et la revendication kid comme des valeurs opaques dans les services clients et de titre. Les API du Store valident la signature. Exemple d’un ensemble de revendications User Store ID décodé.

Documentation de référence des API

Voir aussi

Gérer les produits à partir de vos services Authentifier votre service auprès des API du Microsoft Store Demande d’un User Store ID à partir de votre service avec des jetons X ou OAuth 2.0 Renouvellement d’une clé User Store ID Bibliothèque Microsoft.StoreServices Exemple Microsoft.StoreServices
Last modified on October 6, 2026