Exemple #1
0
        public async Task <IEnumerable <SharedLoginModel> > GetSharedItems(bool forceRefresh = false)
        {
            // return await Task.FromResult(items);

            var sharedLogins = _apiService.GetSharedLogins(SecureStorageHelper.GetUserId().Result.ToString()).ToList();

            return(await Task.FromResult(sharedLogins));
        }
Exemple #2
0
        public WebDataStore()
        {
            _apiService = new ApiService();
            var tempItems = _apiService.GetAllUserData <LoginData>(SecureStorageHelper.GetUserId().Result).Result;

            if (!(tempItems is null))
            {
                items = tempItems.ToList();
            }
        }
Exemple #3
0
        public async Task <IEnumerable <LoginData> > GetItemsAsync(bool forceRefresh = false)
        {
            var tempItems = _apiService.GetAllUserData <LoginData>(SecureStorageHelper.GetUserId().Result).Result;

            if (!(tempItems is null))
            {
                items = tempItems.ToList();
            }

            return(await Task.FromResult(items));
        }
Exemple #4
0
        private async void OnSave()
        {
            IsBusy = true;
            LoginData newLoginData = new LoginData()
            {
                Id       = Int32.Parse(Id),
                Name     = Name,
                Login    = Login,
                Password = EncService.Encrypt(SecureStorageHelper.GetUserKey().Result, Password),
                Website  = Website,
                Email    = Email ?? "Not added",
                UserId   = SecureStorageHelper.GetUserId().Result
            };

            await DataStore.UpdateItemAsync(newLoginData);

            IsBusy = false;
            // This will pop the current page off the navigation stack
            await App.Current.MainPage.Navigation.PopModalAsync();
        }
Exemple #5
0
        private async void OnSendTokenClicked(object obj)
        {
            if (SecureStorageHelper.CheckIfUserSessionIsActive().Result)
            {
                App.Current.MainPage = new NavigationPage(new ItemsPage());
            }
            if (string.IsNullOrEmpty(Token))
            {
                MessagingCenter.Send(this, "AuthError", "Token cannot be empty.");
                return;
            }


            IsBusy = true;

            ApiTwoFactorResponse apiResponse = await _apiService.TwoFactorLogIn(await SecureStorageHelper.GetUserId(), Token);

            IsBusy = false;

            if (apiResponse.VerificationStatus != 1)
            {
                if (apiResponse.VerificationStatus == 0)
                {
                    MessagingCenter.Send(this, "AuthError", apiResponse.Messages.First());
                    return;
                }
                else
                {
                    MessagingCenter.Send(this, "AuthError", "Your code has expired. Try log in again.");
                    SecureStorageHelper.ClearData();
                    await App.Current.MainPage.Navigation.PopModalAsync();

                    return;
                }
            }

            IsBusy = true;
            if (!_jwtHelper.ValidateToken(apiResponse.AccessToken, out _))
            {
                // indicate errors
                MessagingCenter.Send(this, "AuthError", "Json web token is invalid");
                await App.Current.MainPage.Navigation.PopModalAsync();

                return;
            }


            await SecureStorageHelper.SaveUserData(apiResponse);



            //App.Current.MainPage.Navigation.InsertPageBefore(new ItemsPage(), TwoFactorPage);
            // await Navigation.PopAsync();

            await App.Current.MainPage.Navigation.PopModalAsync();

            IsBusy = false;
            App.Current.MainPage = new NavigationPage(new ItemsPage());
        }