/// <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); }