Skip to content

Commit

Permalink
Merge pull request #520 from neozhu/ImproveMappingConfiguration
Browse files Browse the repository at this point in the history
✨ refactoring code
  • Loading branch information
neozhu authored Sep 28, 2023
2 parents 685a3f6 + b322638 commit a009a4c
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/Blazor.Server.UI/Components/Shared/UserMenu.razor
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@using CleanArchitecture.Blazor.Infrastructure.Services.JWT;
@inject IStringLocalizer<SharedResource> L
@inject AccessTokenProvider TokenProvider
@inject IAccessTokenProvider TokenProvider
@inherits FluxorComponent
<MudTooltip Arrow="true" Text="@L["User Profile"]">
<MudMenu AnchorOrigin="Origin.BottomRight"
Expand Down
6 changes: 3 additions & 3 deletions src/Blazor.Server.UI/Pages/Authentication/Login.razor
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@page "/pages/authentication/login"
@inject AccessTokenProvider TokenProvider
@inject IAccessTokenProvider TokenProvider
@inject IJSRuntime JS
@inherits OwningComponentBase
@using CleanArchitecture.Blazor.Application.Common.Interfaces.Identity;
Expand Down Expand Up @@ -85,7 +85,7 @@
@code {
private string _title = "Sign In";
private UserManager<ApplicationUser> UserManager { get; set; } = default!;
private AccessTokenProvider AccessTokenProvider { get; set; } = default!;
private IAccessTokenProvider AccessTokenProvider { get; set; } = default!;

[Inject]
private ILogger<Login> Logger { get; set; } = default!;
Expand Down Expand Up @@ -118,7 +118,7 @@
await base.OnInitializedAsync();
_title = L["Sign In"];
UserManager = ScopedServices.GetRequiredService<UserManager<ApplicationUser>>();
AccessTokenProvider = ScopedServices.GetRequiredService<AccessTokenProvider>();
AccessTokenProvider = ScopedServices.GetRequiredService<IAccessTokenProvider>();
}

private async Task OnSubmit()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public static IServiceCollection AddAuthenticationService(this IServiceCollectio
};
});

services.AddScoped<AccessTokenProvider>();

services.AddSingleton<UserDataProvider>();
services.AddSingleton<IUserDataProvider>(sp =>
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public static IServiceCollection AddSimpleJwtService(this IServiceCollection ser
options.Invoke(sjOptions);
}
services.AddSingleton(typeof(IOptions<SimpleJwtOptions>), Options.Create(sjOptions));
services.AddScoped<IAccessTokenProvider,AccessTokenProvider>();
services.AddScoped<IAccessTokenGenerator, AccessTokenGenerator>();
services.AddScoped<IRefreshTokenGenerator, RefreshTokenGenerator>();
services.AddScoped<ITokenGeneratorService, TokenGeneratorService>();
Expand Down
2 changes: 1 addition & 1 deletion src/Infrastructure/Hubs/HubClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class HubClient : IAsyncDisposable
private readonly HubConnection _hubConnection;
private bool _started;

public HubClient(NavigationManager navigationManager, AccessTokenProvider authProvider)
public HubClient(NavigationManager navigationManager, IAccessTokenProvider authProvider)
{
var token = authProvider.AccessToken;
var hubUrl = navigationManager.BaseUri.TrimEnd('/') + SignalR.HubUrl;
Expand Down
8 changes: 4 additions & 4 deletions src/Infrastructure/Services/JWT/AccessTokenProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;

namespace CleanArchitecture.Blazor.Infrastructure.Services.JWT;
public class AccessTokenProvider
public class AccessTokenProvider : IAccessTokenProvider
{
private readonly string _tokenKey = nameof(_tokenKey);
private readonly string _refreshTokenKey = nameof(_refreshTokenKey);
Expand All @@ -29,8 +29,8 @@ public AccessTokenProvider(ProtectedLocalStorage localStorage, ILoginService log
public async Task Login(ApplicationUser applicationUser)
{
var token = await _loginService.LoginAsync(applicationUser);
await _localStorage.SetAsync(_tokenKey, token.AccessToken??"");
await _localStorage.SetAsync(_refreshTokenKey, token.RefreshToken??"");
await _localStorage.SetAsync(_tokenKey, token.AccessToken ?? "");
await _localStorage.SetAsync(_refreshTokenKey, token.RefreshToken ?? "");
AccessToken = token.AccessToken;
RefreshToken = token.RefreshToken;
_tenantProvider.TenantId = applicationUser.TenantId;
Expand All @@ -54,7 +54,7 @@ public async Task<ClaimsPrincipal> GetClaimsPrincipal()
var result = await _tokenValidator.ValidateTokenAsync(token.Value);
if (result.IsValid)
{
var principal=new ClaimsPrincipal(result.ClaimsIdentity);
var principal = new ClaimsPrincipal(result.ClaimsIdentity);
_tenantProvider.TenantId = principal.GetTenantId();
_tenantProvider.TenantName = principal.GetTenantName();
_currentUser.UserId = principal.GetUserId();
Expand Down
4 changes: 2 additions & 2 deletions src/Infrastructure/Services/JWT/BlazorAuthStateProvider.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
namespace CleanArchitecture.Blazor.Infrastructure.Services.JWT;
public class BlazorAuthStateProvider : AuthenticationStateProvider
{
private readonly AccessTokenProvider _tokenProvider;
private readonly IAccessTokenProvider _tokenProvider;

public BlazorAuthStateProvider(AccessTokenProvider tokenProvider)
public BlazorAuthStateProvider(IAccessTokenProvider tokenProvider)
{
_tokenProvider = tokenProvider;
}
Expand Down
11 changes: 11 additions & 0 deletions src/Infrastructure/Services/JWT/IAccessTokenProvider.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
namespace CleanArchitecture.Blazor.Infrastructure.Services.JWT;

public interface IAccessTokenProvider
{
string? AccessToken { get; }
string? RefreshToken { get; }

Task<ClaimsPrincipal> GetClaimsPrincipal();
Task Login(ApplicationUser applicationUser);
Task RemoveAuthDataFromStorage();
}

0 comments on commit a009a4c

Please sign in to comment.