> ## 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 des utilisateurs et propriété

> Migrez les vérifications d'authentification des utilisateurs et de propriété de Steam vers le GDK XBOX, en couvrant la connexion des utilisateurs, les droits d'utilisation et les différences de gestion des licences entre les plateformes.

Steamworks et le Microsoft Game Development Kit (GDK) XBOX fournissent des API permettant d'authentifier les utilisateurs et de vérifier qu'ils possèdent le titre auquel ils jouent et/ou le contenu supplémentaire auquel ils tentent d'accéder. Ces API ne visent toutefois pas les mêmes objectifs.

L'API Steam vérifie l'identité d'un utilisateur pour les sessions multijoueurs et utilise la vérification de propriété pour s'assurer que l'utilisateur joue à une copie légitime du jeu provenant de la boutique Steam. Le Microsoft Game Development Kit (GDK) XBOX, en revanche, doit connecter l'utilisateur, ce qui vérifie implicitement son identité auprès des XBOX services, et vérifie indépendamment si le compte Microsoft Store actuel dispose d'un droit d'utilisation pour le jeu.

Dans le Microsoft Game Development Kit (GDK) XBOX, les deux API utilisées pour l'authentification et la propriété ciblent des plateformes différentes et, dans certains cas, des comptes entièrement différents. C'est pourquoi nous utiliserons le terme *ayant droit* pour désigner un utilisateur qui possède une licence valide du Microsoft Store pour jouer au jeu actuel. Pour plus d'informations à ce sujet et sur ses implications, consultez la section Différences de gestion des licences entre les deux plateformes plus loin dans cette rubrique.

## Authentification des utilisateurs

Dans Steam, les utilisateurs sont toujours « connectés » lorsque le client lance le jeu. Le jeu peut toujours accéder au Steam ID de l'utilisateur sans rien faire d'autre qu'initialiser l'API. Dans Steam, l'authentification désigne le processus consistant à vérifier si l'identité prédéfinie d'un utilisateur correspond bien à l'utilisateur connecté au client qui a lancé le jeu, à l'aide de l'API `ISteamUser` avec des tickets de session (en pair à pair ou avec un serveur dédié), des tickets d'application chiffrés (avec un serveur sécurisé) ou de l'API Web Steam. Après l'authentification, les API Web Steam ou `ISteamUser` peuvent utiliser des tickets pour vérifier la propriété du jeu actuel ou de son contenu téléchargeable (DLC).

Cette étape de vérification est inutile dans le Microsoft Game Development Kit (GDK) XBOX, car vous avez déjà effectué la vérification lorsque vous avez connecté l'utilisateur en suivant les étapes de [Initialisation du Microsoft Game Development Kit (GDK) XBOX](/fr/build/steam-porting-guide/initializing-the-gdk). Ainsi, le Microsoft Game Development Kit (GDK) XBOX ne dispose d'aucun équivalent aux tickets de session Steam ou aux tickets d'application chiffrés pour vérifier l'identité d'un utilisateur lors des sessions multijoueurs.

## Propriété et gestion des droits numériques (DRM)

Pour vérifier que l'utilisateur dispose d'un droit d'utilisation pour le jeu auquel il joue actuellement, vous devez utiliser la fonction [`XStoreQueryGameLicenseAsync`](/fr/reference/system/xstore/xstore_members) de l'API `XStore` pour vérifier que l'utilisateur possède une licence pour jouer à ce jeu. Dans le rappel asynchrone, vérifiez si :

1. La requête a réussi (c'est-à-dire que l'utilisateur possède une licence).
2. La licence fournie par [`XStoreQueryGameLicenseResult`](/fr/reference/system/xstore/xstore_members) est toujours active.

Si les deux vérifications réussissent, vous pouvez considérer que l'utilisateur a le droit de jouer à votre jeu. Dans le Microsoft Game Development Kit (GDK) XBOX, c'est l'équivalent le plus proche de l'utilisation de `ISteamUser/CheckAppOwnership` dans l'API Web Steam ou de l'appel de `SteamEncryptedAppTicket::BIsTicketForApp` avec un ticket d'application.

Pour plus d'informations et un exemple de code permettant d'effectuer cette vérification, consultez [XStore : DRM de base et vérifications de licence](/fr/publishing/xstore-commerce/xstore-basic-drm). Cette rubrique contient également des informations sur des options de vérification de licence plus robustes qui permettent d'empêcher toute falsification visant à contourner cette vérification côté client.

Steam fournit également un wrapper DRM qui n'a pas d'équivalent dans le Microsoft Game Development Kit (GDK) XBOX. Le Microsoft Store effectue une vérification antipiratage lors du lancement des applications installées à partir de celui-ci. Pour une protection DRM complète, nous vous recommandons d'utiliser une solution tierce en plus de la vérification de licence présentée dans l'exemple de code lié.

## Vérification de la propriété des DLC

Si votre jeu est associé à des DLC, vous pouvez vérifier si le compte Microsoft Store d'un utilisateur a accès à un article à l'aide de l'API `XStore`. Pour vérifier ces licences, vous devez d'abord interroger tous les produits associés à votre jeu à l'aide de la fonction [`XStoreQueryAssociatedProductsAsync`](/fr/reference/system/xstore/xstore_members), puis utiliser la fonction [`XStoreAcquireLicenseForPackageAsync`](/fr/reference/system/xstore/xstore_members), similaire aux fonctions `ISteamUser/CheckAppOwnership` ou `ISteamUser::UserHasLicenseForApp`, pour obtenir la licence d'un DLC spécifique de la liste renvoyée par votre requête.

Comme pour la vérification des droits d'utilisation des jeux, vous devez vérifier si la licence a bien été acquise et si elle est active. Si les deux vérifications réussissent, vous pouvez considérer que l'utilisateur dispose d'une licence pour accéder à ce DLC. Pour un exemple de code illustrant ce processus, consultez [Gérer les packages facultatifs (DLC) et leurs licences](/fr/publishing/xstore-commerce/xstore-dlc).

## Différences de gestion des licences entre les deux plateformes

Il est important de noter la différence de philosophie entre Steam et le Microsoft Store. Dans Steam, les vérifications de licence permettent de s'assurer que l'utilisateur dont l'identité a été authentifiée possède une licence pour jouer au jeu actuel, soit parce qu'il l'a acheté, soit via le partage familial Steam.

Le Microsoft Game Development Kit (GDK) XBOX, en revanche, vérifie si le compte Microsoft Store actuellement authentifié a le droit d'accéder au contenu et obtient l'identité à l'aide d'un compte XBOX. Il existe une mise en garde importante : le compte Microsoft utilisé pour ces deux comptes *n'est pas forcément le même*, même s'ils appartiennent à la même personne. Il est donc important de connaître les différents modèles de licence proposés par le Microsoft Store si vous souhaitez limiter le nombre d'appareils différents pouvant utiliser une même licence d'un jeu ou d'un autre contenu du Microsoft Store. Pour plus d'informations, consultez [Modèle de partage de produits pour les jeux](/fr/publishing/xstore-commerce/xstore-product-sharing).


## Related topics

- [Vue d'ensemble du guide de portage Steam](/fr/build/steam-porting-guide/overview.md)
- [Authentification](/fr/services/xbox-services/fundamentals/identity/auth/index.md)
- [studio_user_removed](/fr/services/playfab/api-references/events/DeveloperIdentity/studio-user-removed.md)
- [studio_user_added](/fr/services/playfab/api-references/events/DeveloperIdentity/studio-user-added.md)
- [studio_user_invited](/fr/services/playfab/api-references/events/DeveloperIdentity/studio-user-invited.md)
