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