public Task <PinExchangeResult> ExchangePin(PinCreationResult pin)
        {
            var args = new Dictionary <string, string>
            {
                { "deviceId", pin.DeviceId },
                { "pin", pin.Pin }
            };

            return(PostAsync <PinExchangeResult>(GetConnectUrl("pin/authenticate"), args));
        }
Example #2
0
        public async Task ExchangePin(PinCreationResult pin)
        {
            var result = await _connectService.ExchangePin(pin);

            var credentials = await _credentialProvider.GetServerCredentials().ConfigureAwait(false);

            credentials.ConnectAccessToken = result.AccessToken;
            credentials.ConnectUserId      = result.UserId;

            await EnsureConnectUser(credentials, CancellationToken.None).ConfigureAwait(false);

            await _credentialProvider.SaveServerCredentials(credentials).ConfigureAwait(false);
        }
        public async Task <PinStatusResult> GetPinStatus(PinCreationResult pin)
        {
            var dict = new QueryStringDictionary();

            dict.Add("deviceId", pin.DeviceId);
            dict.Add("pin", pin.Pin);

            var url = GetConnectUrl("pin") + "?" + dict.GetQueryString();

            var request = new HttpRequest
            {
                Method = "GET",
                Url    = url
            };

            AddAppInfo(request, _appName, _appVersion);

            using (var stream = await _httpClient.SendAsync(request).ConfigureAwait(false))
            {
                return(JsonSerializer.DeserializeFromStream <PinStatusResult>(stream));
            }
        }
Example #4
0
        private async void LoadPin()
        {
            Dispatcher.InvokeAsync(() =>
            {
                TxtPin.Visibility   = Visibility.Visible;
                PinError.Visibility = Visibility.Collapsed;
            });

            StopPinTimer();
            TxtPin.Text = string.Empty;

            try
            {
                _pinResult = await _connectionManager.CreatePin().ConfigureAwait(false);

                Dispatcher.InvokeAsync(() => TxtPin.Text = _pinResult.Pin);

                StartPinTimer();
            }
            catch (Exception)
            {
                OnPinError();
            }
        }
Example #5
0
 public Task <PinStatusResult> GetPinStatus(PinCreationResult pin)
 {
     return(_connectService.GetPinStatus(pin));
 }