improve user claim retrieval
This commit is contained in:
parent
29f0614e56
commit
8bed1d39f3
@ -18,7 +18,9 @@ public sealed class AspNetSessionUserService : SessionUserService
|
||||
get
|
||||
{
|
||||
var claimValue = _httpContext.User.Claims
|
||||
.FirstOrDefault(c => c.Properties
|
||||
.FirstOrDefault(c =>
|
||||
c.Type == JwtRegisteredClaimNames.Sub ||
|
||||
c.Properties
|
||||
.Any(p => p.Value == JwtRegisteredClaimNames.Sub))
|
||||
?.Value;
|
||||
|
||||
@ -29,17 +31,23 @@ public sealed class AspNetSessionUserService : SessionUserService
|
||||
}
|
||||
|
||||
public string? Username => _httpContext.User.Claims
|
||||
.FirstOrDefault(c => c.Properties
|
||||
.FirstOrDefault(c =>
|
||||
c.Type == JwtRegisteredClaimNames.Nickname ||
|
||||
c.Properties
|
||||
.Any(p => p.Value == JwtRegisteredClaimNames.Nickname))
|
||||
?.Value;
|
||||
|
||||
public string? Email => _httpContext.User.Claims
|
||||
.FirstOrDefault(c => c.Properties
|
||||
.FirstOrDefault(c =>
|
||||
c.Type == JwtRegisteredClaimNames.Email ||
|
||||
c.Properties
|
||||
.Any(p => p.Value == JwtRegisteredClaimNames.Email))
|
||||
?.Value;
|
||||
|
||||
public ICollection<IdentityRole> Roles => _httpContext.User.Claims
|
||||
.Where(c => c.Properties
|
||||
.Where(c =>
|
||||
c.Type == "roles" ||
|
||||
c.Properties
|
||||
.Any(p => p.Value == "roles"))
|
||||
.Select(c => IdentityRole.FromName(c.Value))
|
||||
.ToArray() ?? default!;
|
||||
|
Loading…
Reference in New Issue
Block a user