From 275b9ec858f9d4d6f081d1cc39dd858ab5bd36df Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 6 Jan 2025 15:06:31 +0100 Subject: [PATCH] feat(IJwtSignatureService): Erstellt und implementiert --- .../Security/IJwtSignatureService.cs | 19 +++++++++++++++++++ .../JwtSignatureService.cs | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 DigitalData.Core.Abstractions/Security/IJwtSignatureService.cs diff --git a/DigitalData.Core.Abstractions/Security/IJwtSignatureService.cs b/DigitalData.Core.Abstractions/Security/IJwtSignatureService.cs new file mode 100644 index 0000000..79bfabc --- /dev/null +++ b/DigitalData.Core.Abstractions/Security/IJwtSignatureService.cs @@ -0,0 +1,19 @@ +using Microsoft.IdentityModel.Tokens; + +namespace DigitalData.Core.Abstractions.Security +{ + public interface IJwtSignatureService + { + SecurityToken CreateToken(SecurityTokenDescriptor tokenDescriptor); + + SecurityToken CreateToken(TPrincipal subject, TokenDescription description); + + SecurityToken CreateToken(TPrincipal subject, string issuer, string audience); + + string CreateAndWriteToken(SecurityTokenDescriptor descriptor); + + string CreateAndWriteToken(TPrincipal subject, TokenDescription description); + + string CreateAndWriteToken(TPrincipal subject, string issuer, string audience); + } +} \ No newline at end of file diff --git a/DigitalData.Core.Security/JwtSignatureService.cs b/DigitalData.Core.Security/JwtSignatureService.cs index 58e4c6c..b47f281 100644 --- a/DigitalData.Core.Security/JwtSignatureService.cs +++ b/DigitalData.Core.Security/JwtSignatureService.cs @@ -7,7 +7,7 @@ using System.IdentityModel.Tokens.Jwt; namespace DigitalData.Core.Security { - public class JwtSignatureService : JwtSecurityTokenHandler + public class JwtSignatureService : JwtSecurityTokenHandler, IJwtSignatureService { private readonly ClaimDescriptor _claimDescriptor; @@ -45,6 +45,8 @@ namespace DigitalData.Core.Security return CreateToken(subject: subject, description: description); } + public string CreateAndWriteToken(SecurityTokenDescriptor descriptor) => WriteToken(CreateToken(descriptor)); + public string CreateAndWriteToken(TPrincipal subject, TokenDescription description) => WriteToken(CreateToken(subject: subject, description: description)); public string CreateAndWriteToken(TPrincipal subject, string issuer, string audience) => WriteToken(CreateToken(subject: subject, issuer: issuer, audience: audience));