Example #1
0
        public static string GetWindowsLiveAuthenticationUrl()
        {
            RestClientEx        client  = ClientFactory("https://login.live.com");
            RestRequestEx       request = new RestRequestEx("oauth20_authorize.srf", Method.GET);
            NameValueCollection nv      = new Model.WindowsLiveAuthenticationQuery().GetQuery();

            request.AddQueryParameters(nv);
            return(client.BuildUri(request).ToString());
        }
Example #2
0
        public static DeviceToken AuthenticateXASD(AccessToken accessToken)
        {
            RestClientEx  client  = ClientFactory("https://device.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("device/authenticate", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XASDRequest(accessToken));
            IRestResponse <XASResponse> response = client.Execute <XASResponse>(request);

            return(new DeviceToken(response.Data));
        }
        public static async Task <UserToken> AuthenticateXASUAsync(AccessToken accessToken)
        {
            RestClientEx  client  = ClientFactory("https://user.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("user/authenticate", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XASURequest(accessToken));
            IRestResponse <XASResponse> response = await client.ExecuteTaskAsync <XASResponse>(request);

            return(new UserToken(response.Data));
        }
Example #4
0
        public static WindowsLiveResponse RefreshLiveToken(
            RefreshToken refreshToken)
        {
            RestClientEx client = ClientFactory("https://login.live.com",
                                                JsonNamingStrategy.SnakeCase);
            RestRequestEx       request = new RestRequestEx("oauth20_token.srf", Method.GET);
            NameValueCollection nv      = new Model.WindowsLiveRefreshQuery(refreshToken).GetQuery();

            request.AddQueryParameters(nv);
            IRestResponse <WindowsLiveResponse> response = client.Execute <WindowsLiveResponse>(request);

            return(response.Data);
        }
Example #5
0
        public static XToken AuthenticateXSTS(UserToken userToken,
                                              DeviceToken deviceToken = null,
                                              TitleToken titleToken   = null)
        {
            RestClientEx  client  = ClientFactory("https://xsts.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("xsts/authorize", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XSTSRequest(userToken,
                                                deviceToken: deviceToken,
                                                titleToken: titleToken));
            IRestResponse <XASResponse> response = client.Execute <XASResponse>(request);

            return(new XToken(response.Data));
        }