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())); } }
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"); } }
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"); } }