> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentification de votre service auprès des API Microsoft Store

> Décrit comment obtenir et utiliser des X-tokens d'authentification déléguée ou des User Store IDs pour s'authentifier auprès des services Microsoft Store.

Cet article explique comment authentifier les appels de service à service vers les API Microsoft Store à l'aide de X-tokens délégués ou de User Store IDs :

* [User Store IDs et Microsoft Entra ID](#authenticating-with-microsoft-entra-id-and-user-store-ids) : lie l'authentification et les résultats au compte d'utilisateur connecté à l'application Microsoft Store.
* [X-tokens d'authentification déléguée](#authenticating-with-delegated-authentication-x-tokens) : lie l'authentification et les résultats au compte de services XBOX de l'utilisateur qui joue actuellement au jeu.

Utilisez l'authentification par User Store ID pour les nouveaux titres XBOX et PC. Les X-tokens sont limités au compte du joueur actif et ne sont pas pris en charge par certains services (notamment Recurrence et Purchase). Sur PC, le compte d'achat et le compte de jeu peuvent différer. Pour plus de détails, consultez [Gestion des scénarios de comptes Store non concordants sur PC](/fr/publishing/xstore-commerce/xstore-mismatched-accounts).

Pour les flux de service multiplateformes et de longue durée, utilisez les User Store IDs, car ils peuvent être renouvelés sans interaction active du client. En comparaison, les flux de X-tokens nécessitent une connexion client actualisée après la durée de vie maximale.

Les sections suivantes résument la configuration et les ressources requises pour chaque type d'authentification.

## Authentification avec Microsoft Entra ID et les User Store IDs

Toutes les API de service Microsoft Store prennent en charge l'authentification via Microsoft Entra ID et les User Store IDs. Pour utiliser cette authentification, vous (ou votre organisation) devez disposer d'un locataire Microsoft Entra ID et y inscrire un ID d'application. Pour inscrire une application, votre compte doit disposer du rôle Administrateur général dans votre locataire. Si vous utilisez déjà Microsoft Office 365 ou d'autres services professionnels de Microsoft, vous disposez déjà d'un locataire Microsoft Entra ID que vous pouvez gérer dans votre portail Azure.

Pour obtenir des conseils sur l'obtention des User Store IDs nécessaires pour ce type d'authentification, consultez [Demande d'un User Store ID pour l'authentification de service à service](/fr/publishing/xstore-commerce/xstore-requesting-userstoreid).

<Note>
  Sur PC, les droits sont associés à l'utilisateur connecté à l'application Microsoft Store, et non à l'utilisateur qui joue actuellement à un titre. Comme ces comptes peuvent être différents, il est conseillé aux titres PC de consulter les informations de [Gestion des scénarios de comptes Store non concordants sur PC](/fr/publishing/xstore-commerce/xstore-mismatched-accounts).
</Note>

Lorsque vous appelez les API Microsoft Store avec le flux d'authentification Microsoft Entra, un jeton d'accès Microsoft Entra est utilisé dans l'en-tête `Authorization` de votre requête, comme suit.

```bash theme={null}
Authorization: Bearer <Entra ID access token>  
```

Si vous travaillez dans un bac à sable, incluez la revendication suivante dans le corps JSON de la requête. Sans elle, les résultats correspondent par défaut à RETAIL.

Exemple :

```json theme={null}
  "sbx": "XDKS.1"
```

<Info>
  **Limitation des consommables gérés par le développeur :** bien que l'authentification par User Store ID et Entra ID fonctionne pour la plupart des appels d'API Microsoft Store dans les environnements de bac à sable, l'[API Consume](/fr/reference/microsoft-store-apis/xstore-v8-consume) ne prend pas en charge cette méthode d'authentification pour les consommables gérés par le développeur dans les bacs à sable de développement. Pour consommer des consommables gérés par le développeur dans des bacs à sable, utilisez plutôt des [jetons XSTS d'authentification déléguée](#authenticating-with-delegated-authentication-x-tokens).
</Info>

Vous devez également inclure les valeurs de bénéficiaire indiquées dans le tableau suivant, y compris le User Store ID provenant du client.

| Paramètre | Type | Description | Requis |
| - | - | - | - |
| `identityType` | `string` | Spécifiez la valeur de chaîne `b2b`. | Oui |
| `identityValue` | `string` | La [clé User Store ID](/fr/publishing/xstore-commerce/xstore-requesting-userstoreid#step-4-create-a-user-store-id-key) qui représente l'identité de l'utilisateur pour lequel vous souhaitez signaler un produit consommable comme exécuté. | Oui |
| `localTicketReference` | `string` | L'identificateur demandé pour la réponse retournée. Utilisez la même valeur que la [revendication](/fr/publishing/xstore-commerce/xstore-requesting-userstoreid#claims-in-a-user-store-id-key) *userId* de la clé User Store ID. | Oui |

Exemple :

```json theme={null}
  "beneficiaries": [
    {
        "identitytype" : "b2b",
        "identityValue" : "eyJ0eXAiOiJ...",
        "localTicketReference" : "testReference"
    }
  ],
```

Pour plus d'informations sur l'obtention, la gestion et l'utilisation de l'authentification par User Store ID, consultez les ressources suivantes.

* [Microsoft.StoreServices (GitHub)](https://github.com/microsoft/Microsoft-Store-Services) : bibliothèque et code source permettant de s'authentifier et d'appeler les services Microsoft Store depuis votre back-end.
* [Exemple Microsoft.StoreServices (GitHub)](https://github.com/microsoft/Microsoft-Store-Services-Sample) : exemple de service qui illustre des modèles d'authentification, d'intégration du commerce et de rapprochement des remboursements.
* [Demande d'un User Store ID pour l'authentification de service à service](/fr/publishing/xstore-commerce/xstore-requesting-userstoreid)
* [Renouvellement d'une clé User Store ID](/fr/publishing/xstore-commerce/xstore-renew-userstoreid)
* [Gérer les droits de produit à partir d'un service](https://learn.microsoft.com/windows/uwp/monetize/view-and-grant-products-from-a-service)

### Diagramme d'appel d'une API Microsoft Store

Le diagramme suivant décrit le processus d'appel d'une API Microsoft Store à l'aide du User Store ID depuis votre service.

<img src="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/b2b-2.png?fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=2d3f87bf7ab2c6e0b0c58085b1560506" alt="Diagramme illustrant le processus d'appel d'une API Microsoft Store à l'aide d'un User Store ID. Votre service de jeu échange des jetons avec Microsoft Entra ID et appelle l'API Store collections ou products." width="826" height="431" data-path="images/xstore/b2b-2.png" />

### Configuration supplémentaire requise pour afficher et gérer des produits avec un User Store ID et l'authentification Microsoft Entra ID

Pour utiliser Microsoft Entra ID et les User Store IDs, ajoutez l'ID client de votre application Microsoft Entra aux paramètres **Product collections and purchases** de votre jeu dans Partner Center. Vous pouvez configurer jusqu'à deux ID client pour accéder au produit et à ses extensions par le biais des services Collections et Purchase. Le symptôme le plus courant lorsque vos produits ne sont pas correctement liés à l'ID client de votre application Microsoft Entra est que les appels à Collections réussissent, mais qu'aucun élément ne figure dans les résultats.

#### Configurer vos produits pour qu'ils soient visibles par votre service via Microsoft Entra ID et les User Store IDs

1. Dans la page Partner Center de votre jeu, sélectionnez **Product collections and purchases** dans le volet de gauche.
2. Saisissez l'ID client de l'application Microsoft Entra que vous utilisez pour authentifier votre service.
3. Sélectionnez le bouton **Save**.
4. Republiez le produit de jeu et toutes les extensions du produit sur le Microsoft Store dans votre bac à sable ou votre environnement de développement.

Une fois le processus de publication terminé, les appels de service doivent retourner les éléments appropriés.

## Authentification avec des X-tokens d'authentification déléguée

Utilisez un X-token d'authentification déléguée pour authentifier les appels de service à service en ajoutant l'en-tête `Authorization` à la requête au format suivant.

```JSON theme={null}
Authorization: XBL3.0 x=<user hash>;<X-token>
```

La partie de confiance cible du X-token doit être [https://licensing.xboxlive.com](https://licensing.xboxlive.com), comme pour l'ancien service XBOX Inventory. Si vous avez configuré vos services précédents pour appeler XBOX Inventory, vous pouvez réutiliser le même jeton avec ce point de terminaison. Vous avez également besoin d'un en-tête de signature correspondant à la stratégie de signature du point de terminaison spécifié.

Pour plus d'informations sur l'obtention, la gestion et l'utilisation d'un X-token d'authentification déléguée et d'une signature, consultez les ressources suivantes.

* [Game Service Sample](https://aka.ms/gdkdl) : exemple complet de service web qui illustre la validation et la gestion des X-tokens provenant du client, l'authentification de serveur à serveur, les services de commerce, et bien plus encore. Téléchargez la dernière version depuis le [site de téléchargement du GDK](https://aka.ms/gdkdl). Téléchargez la dernière version de All Samples. Game Service Samples se trouve sous samples\\\Live\\\GameService dans le fichier .zip téléchargé.
* [Xfest 2019 - XSTS Auth and Server to Server made Easy](https://forums.xboxlive.com/articles/96129/xfest-online-2019-archive.html) : vue d'ensemble et explication des X-tokens et de la manière dont le Game Service Sample peut vous aider à démarrer votre propre implémentation de l'authentification de service à service. Pour télécharger les informations de la présentation, sélectionnez **GDK Track Downloads** sur le site d'archive.
* **Authentification des services XBOX et appels de service à service** : documentation plus détaillée sur l'authentification, les X-tokens, ainsi que les étapes et appels requis pour effectuer des appels de service à service vers les services XBOX.

### Configuration supplémentaire requise pour afficher et gérer des produits avec des X-tokens d'authentification déléguée

Les X-tokens sont liés à un Business Partner ID dans Partner Center. Vous devez donc lier les produits à ce même Business Partner ID. En pratique, les produits doivent se trouver dans un Product Group dont le Dev Studio ID correspond au Business Partner ID utilisé par votre partie de confiance.

Le symptôme le plus courant lorsque vos produits ne sont pas correctement liés au bon Business Partner ID est que les appels à Collections réussissent mais ne retournent aucun élément dans les résultats. Pour plus d'informations, consultez le billet de forum [B2B call to Collections LicensePreview service returns empty results (Partner Center configured game)](https://forums.xboxlive.com/questions/78683/b2b-call-to-collections-licensepreview-service-ret.html).

#### Pour configurer vos produits et services web dans Partner Center

1. Créez un certificat Business Partner à l'aide du lien **Generate Certificate** du service web. (Sélectionnez **Developer Settings** > **XBOX Live** > **Web Services**.) Choisissez le lien dans la ligne du service web auquel votre partie de confiance est liée.
2. Accédez à l'interface de gestion Business Partner (sélectionnez **Developer Settings** > **XBOX Live** > **Business Partner**) et copiez le Business Partner ID qui correspond à celui du service web utilisé à l'étape 1. (Exemple de Business Partner ID : 12345678-9012-3456-7890-123456789012)
3. Dans la page **Partner Center Overview** de vos produits, sélectionnez **Create a new**, puis **Product group**.
4. Attribuez ce groupe de produits à un Dev Studio, ou sélectionnez **Create a new developer studio** si vous n'en avez pas encore.
5. Assurez-vous que l'ID du Dev Studio sélectionné correspond au Business Partner ID de l'étape 2. Copiez le Business Partner ID dans **Dev Studio ID (optional)** si ce champ est vide. Si ce champ contient déjà une valeur utilisée, créez un nouveau Dev Studio au lieu de l'écraser afin de ne pas rompre les mappages de produits de service à service existants.
6. Une fois le Dev Studio configuré avec l'ID correspondant du Business Partner, revenez au Product Group que vous avez créé. Ajoutez votre jeu et tous les produits à la liste **Included in this product group**.
7. Sélectionnez **Save** pour terminer la création du groupe de produits.
8. Accédez à l'interface XBOX Settings de votre jeu et vérifiez que le Business Partner lié est bien celui utilisé à l'étape 2.
9. Republiez tous les éléments du groupe de produits sur le Microsoft Store dans votre bac à sable ou votre environnement de développement.

Une fois le processus de publication terminé, les appels de service retourneront les éléments appropriés.

## Voir aussi

[API de service Microsoft Store](/fr/reference/microsoft-store-apis/index)

[Demande d'un User Store ID pour l'authentification de service à service](/fr/publishing/xstore-commerce/xstore-requesting-userstoreid)

[Renouvellement d'une clé User Store ID](/fr/publishing/xstore-commerce/xstore-renew-userstoreid)


## Related topics

- [Guide des BVT de certification pour PC](/fr-CA/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Guide des BVT de certification pour console](/fr-CA/publishing/game-publishing/concepts/certification/certification-console-bvt-guide.md)
- [Guide BVT de certification pour PC](/fr/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Guide BVT de certification pour console](/fr/publishing/game-publishing/concepts/certification/certification-console-bvt-guide.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
