diff --git a/DigitalData.Core.Abstractions/Security/IAsymmetricTokenValidator.cs b/DigitalData.Core.Abstractions/Security/IAsymmetricTokenValidator.cs index 453248b..e6f76d0 100644 --- a/DigitalData.Core.Abstractions/Security/IAsymmetricTokenValidator.cs +++ b/DigitalData.Core.Abstractions/Security/IAsymmetricTokenValidator.cs @@ -1,6 +1,9 @@ -namespace DigitalData.Core.Abstractions.Security +using Microsoft.IdentityModel.Tokens; + +namespace DigitalData.Core.Abstractions.Security { public interface IAsymmetricTokenValidator : IAsymmetricPublicKey { + SecurityKey SecurityKey { get; } } } \ No newline at end of file diff --git a/DigitalData.Core.Security/RSAKey/RSATokenValidator.cs b/DigitalData.Core.Security/RSAKey/RSATokenValidator.cs index 7c3df27..9786dd8 100644 --- a/DigitalData.Core.Security/RSAKey/RSATokenValidator.cs +++ b/DigitalData.Core.Security/RSAKey/RSATokenValidator.cs @@ -1,8 +1,17 @@ using DigitalData.Core.Abstractions.Security; +using Microsoft.IdentityModel.Tokens; namespace DigitalData.Core.Security.RSAKey { - public class RSATokenValidator: RSAPublicKey, IAsymmetricTokenValidator + public class RSATokenValidator : RSAPublicKey, IAsymmetricTokenValidator { + private readonly Lazy _lazyRsaSecurityKey; + + public SecurityKey SecurityKey => _lazyRsaSecurityKey.Value; + + public RSATokenValidator() + { + _lazyRsaSecurityKey = new(() => new RsaSecurityKey(RSA)); + } } } \ No newline at end of file