Exemple #1
0
        public async Task <Models.LoginResult> TokenPostTwoFactorAsync(TwoFactorProviderType type, string token, bool remember,
                                                                       string email, string masterPasswordHash, SymmetricCryptoKey key)
        {
            var result = new Models.LoginResult();

            var request = new TokenRequest
            {
                Remember           = remember,
                Email              = email.Trim().ToLower(),
                MasterPasswordHash = masterPasswordHash,
                Token              = token,
                Provider           = type,
                Device             = new DeviceRequest(_appIdService, _deviceInfoService)
            };

            var response = await _connectApiRepository.PostTokenAsync(request);

            if (!response.Succeeded)
            {
                result.Success      = false;
                result.ErrorMessage = response.Errors.FirstOrDefault()?.Message;
                return(result);
            }

            result.Success = true;
            await ProcessLoginSuccessAsync(key, response.Result);

            return(result);
        }
Exemple #2
0
        public void OnCompleted(GraphResponse response)
        {
            if (response?.JSONObject == null)
            {
                _completionSource?.TrySetResult(new Models.LoginResult {
                    LoginState = LoginState.Canceled
                });
            }
            else
            {
                _loginResult = new Models.LoginResult
                {
                    FirstName  = Profile.CurrentProfile.FirstName,
                    LastName   = Profile.CurrentProfile.LastName,
                    Email      = response.JSONObject.Has("email") ? response.JSONObject.GetString("email") : string.Empty,
                    ImageUrl   = response.JSONObject.GetJSONObject("picture")?.GetJSONObject("data")?.GetString("url"),
                    Token      = AccessToken.CurrentAccessToken.Token,
                    UserId     = AccessToken.CurrentAccessToken.UserId,
                    ExpireAt   = Utils.FromMsDateTime(AccessToken.CurrentAccessToken?.Expires?.Time),
                    LoginState = LoginState.Success
                };

                _completionSource?.TrySetResult(_loginResult);
            }
        }