diff --git a/ShoppingAssistantWebClient.Web/Network/ApiClient.cs b/ShoppingAssistantWebClient.Web/Network/ApiClient.cs index 9688c66..f7b6532 100644 --- a/ShoppingAssistantWebClient.Web/Network/ApiClient.cs +++ b/ShoppingAssistantWebClient.Web/Network/ApiClient.cs @@ -2,6 +2,7 @@ using GraphQL; using Newtonsoft.Json; using System.Net.Http.Headers; +using ShoppingAssistantWebClient.Web.Models.GlobalInstances; namespace ShoppingAssistantWebClient.Web.Network; @@ -29,7 +30,9 @@ public class ApiClient { await SetAuthenticationAsync(); - return await _graphQLClient.SendQueryAsync(request); + var response = await _graphQLClient.SendQueryAsync(request); + + return response; } public async Task QueryAsync(GraphQLRequest request, string propertyName) @@ -116,7 +119,18 @@ public class ApiClient private async Task SetAuthenticationAsync() { - _graphQLClient.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.JwtToken); - _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.JwtToken); + var accessToken = await _authenticationService.GetAuthTokenAsync(); + if (!string.IsNullOrEmpty(accessToken)) + { + this.JwtToken = accessToken; + + GlobalUser.Id = _authenticationService.GetIdFromJwtToken(accessToken); + GlobalUser.Email = _authenticationService.GetEmailFromJwtToken(accessToken); + GlobalUser.Phone = _authenticationService.GetPhoneFromJwtToken(accessToken); + GlobalUser.Roles = _authenticationService.GetRolesFromJwtToken(accessToken); + + _graphQLClient.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.JwtToken); + _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.JwtToken); + } } } \ No newline at end of file diff --git a/ShoppingAssistantWebClient.Web/Program.cs b/ShoppingAssistantWebClient.Web/Program.cs index bf74514..4a9cc04 100644 --- a/ShoppingAssistantWebClient.Web/Program.cs +++ b/ShoppingAssistantWebClient.Web/Program.cs @@ -30,6 +30,7 @@ app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); -app.ConfigureGlobalUserMiddleware(); +// Login moved to ApiClient +// app.ConfigureGlobalUserMiddleware(); app.Run(); diff --git a/ShoppingAssistantWebClient.Web/Shared/NavMenu.razor b/ShoppingAssistantWebClient.Web/Shared/NavMenu.razor index fa00791..270aa40 100644 --- a/ShoppingAssistantWebClient.Web/Shared/NavMenu.razor +++ b/ShoppingAssistantWebClient.Web/Shared/NavMenu.razor @@ -1,3 +1,4 @@ +@using Models.GlobalInstances @inject NavigationManager Navigation
@@ -51,7 +52,8 @@
Avatar user - Semen Semenov + + @GlobalUser.Id