Autorisation EDS
- Introduction
- Processus d’autorisation
- Jetons 3.0 : multiutilisateur ou utilisateur unique
- EDS prend-il en charge plusieurs utilisateurs?
Introduction
Entertainment Discovery Services (EDS) 3.1 ne prendra pas en charge le trafic anonyme. L’authentification est requise pour toutes les requêtes à EDS. EDS exigera un XToken de la part des appelants afin d’authentifier correctement les clients. Ces jetons sont produits par XSTS et peuvent être obtenus au moyen de divers services d’authentification XBOX (XAS). Il existe des services d’authentification distincts pour les appareils, les utilisateurs et les titres, qui définissent tous l’identité du jeton. XSTS est le gardien de XBOX LIVE. Il constitue la première ligne de défense pour déterminer si un utilisateur ou un appareil est autorisé à se connecter à l’un des services XBOX LIVE. Après avoir authentifié l’utilisateur, XSTS génère un XToken que celui-ci peut utiliser pour s’identifier de façon sécurisée auprès de n’importe quel composant du service. Ce XToken est votre passeport pour LIVE. Des personnes et des objets veulent utiliser nos services. Et nous voulons que la plupart de ces objets et de ces personnes puissent utiliser nos services. Mais comment nous assurer que les objets ne se font pas passer pour des personnes, et que les personnes sont réellement celles qu’elles prétendent être? Nous leur fournissons des jetons qu’elles peuvent utiliser pour s’identifier auprès des autres. Ces jetons sont produits par XSTS et sont généralement appelés XTokens. XToken est un terme général qui désigne des jetons contenant une variété d’éléments différents et pouvant prendre de nombreuses formes, mais ils sont tous créés, signés et éventuellement chiffrés par le serveur XSTS. En interne, XSTS utilise MXAN pour créer et mettre en forme les jetons. MXAN est le seul composant qui extrait des informations d’un XToken. Les services qui consomment les jetons transmettent les en-têtes de requête à MXAN pour qu’ils soient décodés. Les jetons sont traités et validés, et les revendications exprimées dans le jeton sont retournées au service. Le service peut ensuite utiliser ces valeurs de revendication pour identifier l’utilisateur ou l’appareil appelant, et effectuer des actions en fonction de ces informations. Les jetons d’identité de base, pour l’utilisateur, l’appareil et le titre, sont fournis par les services d’authentification XBOX (XAS). Chaque XAS est responsable de la génération d’un jeton d’identité qui spécifie les valeurs des diverses revendications dont il est responsable.- XASD (XAS pour les appareils) : crée un DToken qui fournit une identité d’appareil
- XASU (XAS pour les utilisateurs) : crée un UToken qui fournit une identité d’utilisateur
- XAST (XAS pour les titres) : crée un TToken qui fournit une identité de titre
Processus d’autorisation
-
Obtenez un ou plusieurs jetons d’identité. Vous pouvez demander un XToken avec au plus un jeton D, un jeton U et un jeton T. Vous devez fournir au moins un jeton D ou U.
- Demandez un DToken à XASD en fournissant les détails d’authentification de l’appareil
- Demandez un UToken à XASU avec une forme d’authentification de l’utilisateur. L’authentification de l’utilisateur est probablement fournie sous la forme d’un jeton MSA (RPS).
- Demandez un TToken à XAST. Les titres disponibles dépendent de la plateforme en cours d’exécution; vous devez donc également fournir un DToken à XAST.
-
Créez une requête XSTS.
- Définissez la partie de confiance pour laquelle vous demandez un jeton.
- Remplissez les propriétés de la requête avec les jetons D, U et/ou T.
- Exécutez la requête XSTS et mettez en cache le XToken obtenu. Le XToken retourné contient (au plus) toutes les informations d’identité de l’appareil, de l’utilisateur et du titre provenant des jetons d’identité, ainsi que toute revendication supplémentaire (état actuel de l’abonnement, groupes d’utilisateurs, etc.).
Jetons 3.0 : multiutilisateur ou utilisateur unique
Voici la forme du jeton 3.0 :XBL3.0 x=<hash>;<token>
Selon la valeur de <hash>, le jeton est traité différemment :
- Si <hash> est égal à * (astérisque), aucun utilisateur particulier n’effectue la requête et tous les utilisateurs du jeton sont présents dans le principal désérialisé. Il s’agit de la véritable forme multiutilisateur.
- Si <hash> est égal à - (tiret), aucun utilisateur n’effectue la requête. Tous les utilisateurs présents dans le principal désérialisé sont retirés.
- Si <hash> n’est pas égal à * ou -, il s’agit d’un identificateur indiquant quel utilisateur du jeton effectue la requête. Seul l’utilisateur indiqué sera présent dans le principal désérialisé. Tous les autres utilisateurs sont retirés. Il s’agit du jeton 3.0 à utilisateur unique.
EDS prend-il en charge plusieurs utilisateurs?
- La réponse est non. Dans le cas décrit, la console enverra toujours des jetons à utilisateur unique. Même si plusieurs utilisateurs sont connectés, un « appelant » doit être indiqué, et toutes les autres identités sont abandonnées.
