Exemplo n.º 1
0
        protected void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url)
        {
            if (User.Identity.IsAuthenticated)
            {
                if (!url.IsContains(authEndPoints))
                {
                    try
                    {
                        AuthAPIClient.AuthLoginGetAsync().GetAwaiter().GetResult();
                    }
                    catch (Exception ex)
                    {
                        if (((IApiException)ex)?.StatusCode != 401)
                        {
                            throw;
                        }

                        var result = AuthAPIClient.AuthRefreshtokenAsync(User.Refresh(), User.Token()).GetAwaiter().GetResult();
                        tokenService.SignInAsync(result);
                    }
                }

                client.DefaultRequestHeaders.Remove("Authorization");
                request.Headers.Remove("Authorization");
                request.Headers.Add("Authorization", tokenService.GenerateFullToken(httpContextAccessor.HttpContext.User.Token()));
                client.DefaultRequestHeaders.Add("Authorization", tokenService.GenerateFullToken(httpContextAccessor.HttpContext.User.Token()));
            }
        }
Exemplo n.º 2
0
        public async Task LoginAsync()
        {
            try
            {
                if (string.IsNullOrEmpty(Login) || string.IsNullOrEmpty(Password))
                {
                    return;
                }

                var res = await authBaseAPI.ApiAuthLoginPostAsync(new LoginModel { Login = Login, Password = Password });

                await baseTokenService.SignInAsync(res);

                navigateWindow.Navigate(new StorePage(navigateWindow, new StoreViewModel(await authBaseAPI.ApiUserAsync($"Bearer {res.AccessToken}"), navigateWindow)));
            }
            catch (Exception)
            {
                notificationService.NotifyError("Enter correct login/password");
            }
        }
Exemplo n.º 3
0
        public async Task RegisterAsync()
        {
            try
            {
                if (string.IsNullOrEmpty(Login) || string.IsNullOrEmpty(Password) || string.IsNullOrEmpty(ConfirmPassword) || ConfirmPassword != Password)
                {
                    return;
                }

                var res = await authBaseAPI.ApiAuthRegisterAsync(new RegisterModel { Email = Login, Nickname = Login, Password = Password });

                await baseTokenService.SignInAsync(res);

                navigateWindow.Navigate(new StorePage(navigateWindow, new StoreViewModel(await authBaseAPI.ApiUserAsync($"Bearer {res.AccessToken}"), navigateWindow)));
            }
            catch (Exception)
            {
                notificationService.NotifyError("Register error");
            }
        }