public void CreateRequestXASU()
        {
            string      expect = TestData["XASURequestBody.json"];
            AccessToken token  = new AccessToken()
            {
                Jwt = "eWaoksdijsdfeefes"
            };
            XASURequest request = new XASURequest(token);
            string      body    = NewtonsoftJsonSerializer.Default.Serialize(request);

            Assert.AreEqual(body, expect);
        }
        /// <summary>
        /// Authenticates to XASU (user.auth.xboxlive.com) via Windows Live AccessToken.
        /// </summary>
        /// <param name="accessToken">Windows Live access token</param>
        /// <returns>Returns the Xbox Live user token</returns>
        public static async Task <UserToken> AuthenticateXASUAsync(AccessToken accessToken)
        {
            logger.LogTrace("AuthenticateXASUAsync() called");
            HttpClient client      = ClientFactory("https://user.auth.xboxlive.com/");
            var        request     = new HttpRequestMessage(HttpMethod.Post, "user/authenticate");
            var        requestBody = new XASURequest(accessToken);

            request.Content = new JsonContent(requestBody);
            request.Headers.Add("x-xbl-contract-version", "1");

            var response = (await client.SendAsync(request)).EnsureSuccessStatusCode();
            var data     = await response.Content.ReadAsJsonAsync <XASResponse>();

            return(new UserToken(data));
        }