Skip to content

Commit 514de56

Browse files
authored
✨ Add method BuildClaimsPrincipalAsync (#27)
1 parent 8494818 commit 514de56

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

src/BitzArt.Blazor.Auth.Server/Services/ServerSidePrerenderAuthenticationStateProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public async Task<AuthenticationState> GetPrerenderAuthenticationStateAsync()
2626
if (!string.IsNullOrWhiteSpace(accessToken))
2727
{
2828
logger.LogDebug("Access token was found in request cookies.");
29-
var principal = claimsService.BuildClaimsPrincipal(accessToken);
29+
var principal = await claimsService.BuildClaimsPrincipalAsync(accessToken);
3030
return new AuthenticationState(principal);
3131
}
3232

@@ -47,7 +47,7 @@ public async Task<AuthenticationState> GetPrerenderAuthenticationStateAsync()
4747
}
4848

4949
logger.LogDebug("User's JWT pair was successfully refreshed.");
50-
var principal = claimsService.BuildClaimsPrincipal(refreshResult.JwtPair!.AccessToken!);
50+
var principal = await claimsService.BuildClaimsPrincipalAsync(refreshResult.JwtPair!.AccessToken!);
5151

5252
httpContext.Response.Cookies.Append(Constants.AccessTokenCookieName, refreshResult.JwtPair!.AccessToken!, new CookieOptions
5353
{

src/BitzArt.Blazor.Auth/Interfaces/IIdentityClaimsService.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ namespace BitzArt.Blazor.Auth;
55
public interface IIdentityClaimsService
66
{
77
public ClaimsPrincipal BuildClaimsPrincipal(string accessToken);
8+
public Task<ClaimsPrincipal> BuildClaimsPrincipalAsync(string accessToken);
89
}

src/BitzArt.Blazor.Auth/Providers/BlazorAuthenticationStateProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public override async Task<AuthenticationState> GetAuthenticationStateAsync()
5151
if (accessTokenCookie is not null && !string.IsNullOrWhiteSpace(accessTokenCookie.Value))
5252
{
5353
_logger.LogDebug("Access token was found in cookies.");
54-
var principal = ClaimsService.BuildClaimsPrincipal(accessTokenCookie.Value);
54+
var principal = await ClaimsService.BuildClaimsPrincipalAsync(accessTokenCookie.Value);
5555
return Save(new AuthenticationState(principal));
5656
}
5757

@@ -70,7 +70,7 @@ public override async Task<AuthenticationState> GetAuthenticationStateAsync()
7070
}
7171

7272
_logger.LogDebug("User's JWT pair was successfully refreshed.");
73-
var principal = ClaimsService.BuildClaimsPrincipal(refreshResult.JwtPair!.AccessToken!);
73+
var principal = await ClaimsService.BuildClaimsPrincipalAsync(refreshResult.JwtPair!.AccessToken!);
7474
return Save(new AuthenticationState(principal));
7575
}
7676

src/BitzArt.Blazor.Auth/Services/IdentityClaimsService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ public virtual ClaimsPrincipal BuildClaimsPrincipal(string accessToken)
2222
return new ClaimsPrincipal(new ClaimsIdentity(claims, "Custom"));
2323
}
2424

25+
public virtual Task<ClaimsPrincipal> BuildClaimsPrincipalAsync(string accessToken)
26+
{
27+
return Task.FromResult(BuildClaimsPrincipal(accessToken));
28+
}
29+
2530
protected virtual bool ValidateRawToken(string token) => true;
2631

2732
protected virtual bool ValidateToken(JwtSecurityToken token) => true;

0 commit comments

Comments
 (0)