> ## 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.

# Connexion aux services XBOX pour les sites web de titres

> Activez la connexion OAuth 2.0 avec un compte Microsoft sur les sites web de titres et échangez les jetons d'accès contre des jetons utilisateur XBOX Live pour lire les données et les profils des joueurs.

De nombreux scénarios nécessitent de créer des sites web ou des applications web auxquels les utilisateurs peuvent s'authentifier à l'aide de leur compte Microsoft (anciennement appelé compte des services XBOX). Cette authentification permet d'accéder (généralement en lecture seule) aux données des services XBOX d'un utilisateur, comme les classements, les statistiques, les clips de jeu et le profil.

Pour permettre l'authentification de l'utilisateur, le site web ou l'application web doit d'abord être inscrit auprès de Microsoft afin de recevoir une identité pour l'authentification par compte Microsoft. Il s'agit d'une étape de provisionnement ponctuelle. À l'exécution, le site web permet d'abord à l'utilisateur de s'authentifier avec un compte Microsoft, ce qui fournit des informations d'identification qui peuvent ensuite être échangées contre des jetons d'accès aux services XBOX.

Les jetons d'accès aux services XBOX peuvent ensuite être utilisés pour récupérer des informations à des fins de liaison de comptes et pour accéder aux services XBOX pour le compte de l'utilisateur. La section suivante décrit plus en détail ces flux d'authentification.

## Vue d'ensemble de l'authentification

Le processus permettant d'activer l'authentification de l'utilisateur et d'obtenir l'autorisation d'accéder aux données des services XBOX comporte trois étapes. La première est une étape de provisionnement ponctuelle :

**Inscription du site web**

* Le site web ou l'application web se voit attribuer une identité destinée à être utilisée avec un compte Microsoft.
* Cette inscription s'effectue dans le Microsoft Entra ID de l'éditeur.

Une fois cette étape terminée, vous pouvez développer votre site web ou votre application web et effectuer les étapes suivantes à l'exécution pour obtenir l'autorisation et l'authentification du joueur XBOX :

**Authentification de l'utilisateur auprès d'un compte Microsoft**

1. L'utilisateur accède au site web ou démarre l'application.
2. L'utilisateur est redirigé pour se connecter à son compte Microsoft au moyen du point de terminaison OAuth 2.0.
3. L'utilisateur saisit correctement ses informations d'identification et consent à ce que le site web ou l'application accède aux informations des services XBOX en son nom.
4. Le site web ou l'application reçoit un code d'autorisation.
5. Le site web ou l'application demande un jeton d'accès à l'aide du code d'autorisation, en demandant l'étendue appropriée.
6. Le site web ou l'application reçoit un jeton d'accès (et un jeton d'actualisation, si celui-ci a été demandé).

**Authentification de l'utilisateur auprès des services XBOX**

7. À l'aide du jeton d'accès, le site web ou l'application demande un jeton utilisateur des services XBOX (jeton U).
8. Le jeton utilisateur est ensuite utilisé pour obtenir des jetons X (jetons d'accès) auprès du XBOX Security Token Service (XSTS) afin d'accéder aux services XBOX ou aux services de titre.

## Inscription du site web

Pour pouvoir authentifier un utilisateur auprès d'un site web à l'aide d'un compte Microsoft, le site web ou l'application doit d'abord être inscrit au moyen de l'interface d'inscription d'applications de Microsoft Entra ID.

1. Connectez-vous au portail Azure avec un compte autorisé à inscrire des applications dans Microsoft Entra ID
2. Sélectionnez *« Inscriptions d'applications »*
3. Sélectionnez *« + Nouvelle inscription »*
   * Saisissez un nom pour cette application
   * Pour *« Types de comptes pris en charge »*, sélectionnez *« Comptes Microsoft personnels uniquement »*
   * Saisissez l'URL de redirection vers laquelle le flux d'authentification doit rediriger l'utilisateur une fois l'authentification réussie. Notez-la, car vous en aurez besoin plus tard.
     Vous pourrez également ajouter d'autres URI ultérieurement
   * Terminez l'inscription de l'application
4. Notez l'ID d'application (client) et l'ID de l'annuaire (locataire)
5. Sélectionnez Certificats et secrets
   * Sélectionnez *« + Nouveau secret client »*
   * Saisissez une description
   * Sélectionnez une période d'expiration
   * Cliquez sur Ajouter
   * Notez la valeur du secret client créé, car vous en aurez besoin plus tard. Cette valeur ne doit être utilisée et stockée de manière sécurisée que sur votre service.

## Intégration

En suivant le flux mentionné ci-dessus et en utilisant les identificateurs créés lors du processus d'inscription, implémentez les étapes suivantes :

1. Lancez le flux OAuth 2.0 en demandant un code d'autorisation :
   * Redirigez l'utilisateur vers `https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=[Application (client) ID from Registration]&response_type=code&redirect_uri=[RedirectUI given during registration]&scope=xboxlive.signin&xboxlive.offline_access`
     Dans cet exemple, nous demandons un jeton de connexion et l'accès à un jeton hors connexion qui peut être utilisé pour actualiser le jeton d'accès après son expiration. Les avis appropriés sur la confidentialité et l'activité du compte seront également présentés à l'utilisateur.
   * Une fois que l'utilisateur s'est connecté à son compte Microsoft, il est redirigé vers l'URI de redirection fourni, auquel est ajouté le code d'autorisation sous la forme `"code="` suivi du code d'autorisation.
   * L'utilisation de l'étendue `xboxlive.offline_access` est facultative et n'est nécessaire que pour les scénarios qui exigent des appels après l'expiration du jeton de connexion initial. Aucune autre étendue supplémentaire ne peut être utilisée pour cette requête.

2. Échangez le code d'autorisation et le secret client généré lors du processus d'inscription de l'application contre un jeton d'accès de compte Microsoft :
   * Créez une requête web POST avec les propriétés suivantes :
     URL : `https://login.microsoftonline.com/consumers/oauth2/v2.0/token`
     En-tête : `Content-Type: application/x-www-form-urlencoded`
     Corps :

```
     client_id=[Application (Client) ID]&code=[Authorization Code received above]&
     redirect_uri=[A redirect UI set in the application]&
     grant_type=authorization_code&client_secret=[Client secret value from application registration]
```

* La réponse du service contient une réponse JSON avec les informations suivantes :
  Token Type : `Bearer`
  Scope : `XboxLive.signin XboxLive.offline_access`
  Expires\_in : `Value`
  Access\_token : `[token value]`
  Il s'agit de votre jeton d'accès, que vous échangerez auprès des services XBOX contre un jeton utilisateur XBOX.

3. Vous pouvez demander un jeton utilisateur XBOX en appelant les points de terminaison d'authentification XBOX et échanger votre jeton d'accès de compte Microsoft contre un jeton utilisateur XBOX en effectuant la requête suivante :
   * Créez une requête web POST avec les propriétés suivantes :
     URL : `https://user.auth.xboxlive.com/user/authenticate`
     En-tête : `x-xbl-contract-version: 1`
     En-tête : `content-type: application/json`
     Corps : une charge utile JSON bien formée qui comprend les données suivantes :

```
     {
       "RelyingParty": "http://auth.xboxlive.com",
       "TokenType": "JWT",
       "Properties": {
         "AuthMethod": "RPS",
         "SiteName": "user.auth.xboxlive.com",
         "RpsTicket": "d=[Microsoft Account access token received in the last step]"
       }
     }
```

* La réponse du service contient une charge utile JSON comprenant les informations suivantes, dont le jeton utilisateur XBOX. Vous aurez besoin du jeton utilisateur XBOX à l'étape suivante :

```
     {
       "IssueInstant": "2021-06-08T23:45:50.2531302Z",
       "NotAfter": "2021-06-22T23:45:50.2531302Z",
       "Token": "d=[Xbox User Token]",
       "DisplayClaims": {
       "xui": [
           {
             "uhs": "[USER HASH]"
           }
         ]
       }
     }
```

4. Vous pouvez ensuite échanger votre jeton utilisateur contre un jeton X. Si vous souhaitez effectuer des appels de service à service pour le compte de l'utilisateur et avez besoin de la revendication DelegationToken ou du XUID de l'utilisateur, vous pouvez demander un jeton X pour votre propre partie de confiance, puis traiter ce jeton comme vous le feriez normalement pour en extraire les revendications nécessaires.

```
   POST https://xsts.auth.xboxlive.com/xsts/authorize HTTP/1.1
   x-xbl-contract-version: 1
   Content-Type: application/json
   Host: xsts.auth.xboxlive.com
   Content-Length: 1425
   Expect: 100-continue
   {
                   "Properties": {
                                   "SandboxId": "XDKS.1",
                                   "UserTokens": ["eyJlbmMiOiJBMTI4Q0JDK0hTMjU2IiwiYWxnIjoiUlN..."]
                   },
                   "RelyingParty": "[Your Relying Party here]",
                   "TokenType": "JWT"
   }
```


## Related topics

- [Authentification des services XBOX (sommaire)](/fr-CA/services/xbox-services/fundamentals/s2s-auth-calls/service-authentication/live-service-authentication-nav.md)
- [Authentification des services](/fr-CA/services/xbox-services/fundamentals/s2s-auth-calls/service-authentication/index.md)
- [Demander un User Store ID avec des jetons X ou OAuth 2.0](/fr-CA/publishing/xstore-commerce/xstore-requesting-userstoreid-oauth.md)
- [Authentification des services XBOX pour les services de titre](/fr-CA/services/xbox-services/fundamentals/s2s-auth-calls/service-authentication/live-title-service-authentication.md)
- [XR013 Liaison des comptes Microsoft aux comptes d'éditeur](/fr-CA/publishing/certification/fma/xr-013.md)
