refactor(JwtSignatureService): verwendete primäre Struktur.

This commit is contained in:
Developer 02 2024-12-20 09:29:49 +01:00
parent 4142d2d948
commit 435c91955c

View File

@ -5,21 +5,13 @@ using System.IdentityModel.Tokens.Jwt;
namespace DigitalData.Core.Security
{
public class JwtSignatureService<TPrincipal> : JwtSecurityTokenHandler
public class JwtSignatureService<TPrincipal>(IOptions<ClaimDescriptor<TPrincipal>> claimDescriptorOptions, TokenDescriptorProvider descriptorProvider) : JwtSecurityTokenHandler
{
private readonly ClaimDescriptor<TPrincipal> _claimDescriptor;
private readonly TokenDescriptorProvider _descriptorProvider;
public JwtSignatureService(IOptions<ClaimDescriptor<TPrincipal>> claimDescriptorOptions, TokenDescriptorProvider descriptorProvider)
{
_claimDescriptor = claimDescriptorOptions.Value;
_descriptorProvider = descriptorProvider;
}
private readonly ClaimDescriptor<TPrincipal> _claimDescriptor = claimDescriptorOptions.Value;
public SecurityToken CreateToken(TPrincipal subject, TokenDescription description)
{
var descriptor = _descriptorProvider.Create(description: description);
var descriptor = descriptorProvider.Create(description: description);
descriptor.Claims = _claimDescriptor.CreateClaims?.Invoke(subject);
descriptor.Subject = _claimDescriptor.CreateSubject?.Invoke(subject);
return CreateToken(descriptor);