diff options
author | vnugent <public@vaughnnugent.com> | 2023-06-22 21:13:35 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-06-22 21:13:35 -0400 |
commit | e1c1c679abdf482733ba601ee54f01bdfa79ddda (patch) | |
tree | 183a06af17e598b9ada1c138e468b1e74ac346d4 /plugins/VNLib.Plugins.Essentials.Accounts.Registration/src | |
parent | 765d3d328af49f92f1d0b296bfba2d7791e0cdf5 (diff) |
Extensions async updates
Diffstat (limited to 'plugins/VNLib.Plugins.Essentials.Accounts.Registration/src')
2 files changed, 7 insertions, 8 deletions
diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs index 83c1528..c1f8589 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs @@ -69,7 +69,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints private readonly IPasswordHashingProvider Passwords; private readonly RevokedTokenStore RevokedTokens; private readonly TransactionalEmailConfig Emails; - private readonly Task<ReadOnlyJsonWebKey> RegSignatureKey; + private readonly IAsyncLazy<ReadOnlyJsonWebKey> RegSignatureKey; private readonly TimeSpan RegExpiresSec; /// <summary> @@ -94,7 +94,8 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints Emails = plugin.GetOrCreateSingleton<TEmailConfig>(); //Begin the async op to get the signature key from the vault - RegSignatureKey = plugin.TryGetSecretAsync("reg_sig_key").ToJsonWebKey(true); + RegSignatureKey = plugin.GetSecretAsync("reg_sig_key") + .ToLazy(static sr => sr.GetJsonWebKey()); } private static IValidator<string> GetJwtValidator() @@ -169,7 +170,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints //get jwt using JsonWebToken jwt = JsonWebToken.Parse(regJwt); //verify signature - bool verified = jwt.VerifyFromJwk(RegSignatureKey.Result); + bool verified = jwt.VerifyFromJwk(RegSignatureKey.Value); if (webm.Assert(verified, FAILED_AUTH_ERR)) { @@ -279,7 +280,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints string jwtData; using (JsonWebToken emailJwt = new()) { - emailJwt.WriteHeader(RegSignatureKey.Result.JwtHeader); + emailJwt.WriteHeader(RegSignatureKey.Value.JwtHeader); //Init new claim stack, include the same iat time, nonce for entropy, and descriptor storage id emailJwt.InitPayloadClaim(3) @@ -289,7 +290,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints .CommitClaims(); //sign the jwt - emailJwt.SignFromJwk(RegSignatureKey.Result); + emailJwt.SignFromJwk(RegSignatureKey.Value); //Compile to encoded string jwtData = emailJwt.Compile(); } diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs index 89f4bd6..4383a85 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Essentials.Accounts.Registration @@ -22,8 +22,6 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ -using System.Collections; - using Microsoft.EntityFrameworkCore; using VNLib.Utils; |