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 qui consiste à 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’APIISteamUser 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 la Steam Web API. Après l’authentification, les API Steam Web 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 XBOX Game Development Kit (GDK), car vous avez déjà effectué la vérification lorsque vous avez connecté l’utilisateur en suivant les étapes de Initialisation du XBOX Game Development Kit (GDK). Ainsi, le XBOX Game Development Kit (GDK) n’a pas d’équivalent aux tickets de session ou aux tickets d’application chiffrés de Steam pour vérifier l’identité d’un utilisateur dans les sessions multijoueurs.
Propriété et gestion des droits numériques (DRM)
Pour vérifier que l’utilisateur a droit au jeu auquel il joue actuellement, vous devez utiliser la fonctionXStoreQueryGameLicenseAsync de l’API XStore afin de vérifier que l’utilisateur possède une licence pour jouer à ce jeu. Dans le rappel asynchrone, vérifiez si :
- La requête a réussi (c’est-à-dire que l’utilisateur possède une licence).
- La licence fournie par
XStoreQueryGameLicenseResultest toujours active.
ISteamUser/CheckAppOwnership dans la Steam Web API ou de l’appel de SteamEncryptedAppTicket::BIsTicketForApp avec un ticket d’application.
Pour plus d’information et un exemple de code sur cette vérification, consultez XStore : vérifications de base des DRM et des licences. Cette rubrique contient également de l’information sur des options de vérification de licence plus robustes qui existent pour 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 XBOX Game Development Kit (GDK). Microsoft Store effectue une vérification antipiratage au lancement des applications qui y ont été installées. Pour une protection DRM complète, nous vous recommandons d’utiliser une solution tierce en plus d’effectuer la vérification de licence présentée dans l’exemple de code mentionné.
Vérification de la propriété du DLC
Si votre jeu comporte du DLC associé, vous pouvez vérifier si le compte Microsoft Store d’un utilisateur a accès à un article à l’aide de l’APIXStore. Pour vérifier ces licences, vous devez d’abord interroger tous les produits associés à votre jeu à l’aide de la fonction XStoreQueryAssociatedProductsAsync, puis utiliser la fonction XStoreAcquireLicenseForPackageAsync, semblable aux fonctions ISteamUser/CheckAppOwnership ou ISteamUser::UserHasLicenseForApp, pour obtenir la licence d’un article DLC précis 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 à cet article DLC. Pour un exemple de code de ce processus, consultez Gérer et accorder des licences pour les packages facultatifs (DLC).
