/// <summary>
        /// Authenticates to XAST (title.auth.xboxlive.com) via Access- and DeviceToken.
        /// </summary>
        /// <param name="accessToken">Windows Live access token</param>
        /// <param name="deviceToken">Xbox Live device token</param>
        /// <returns>Returns the Xbox Live title token</returns>
        public static async Task <TitleToken> AuthenticateXASTAsync(AccessToken accessToken,
                                                                    DeviceToken deviceToken)
        {
            logger.LogTrace("AuthenticateXASTAsync() called");
            HttpClient client      = ClientFactory("https://title.auth.xboxlive.com/");
            var        request     = new HttpRequestMessage(HttpMethod.Post, "title/authenticate");
            var        requestBody = new XASTRequest(accessToken, deviceToken);

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

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

            return(new TitleToken(data));
        }
        public void CreateRequestXAST()
        {
            string      expect      = TestData["XASTRequestBody.json"];
            AccessToken accessToken = new AccessToken()
            {
                Jwt = "eWaoksdijsdfeefes"
            };
            DeviceToken deviceToken = new DeviceToken()
            {
                Jwt = "eyajiwjafiassssaw"
            };
            XASTRequest request = new XASTRequest(accessToken, deviceToken);
            string      body    = NewtonsoftJsonSerializer.Default.Serialize(request);

            Assert.AreEqual(body, expect);
        }