aboutsummaryrefslogtreecommitdiff
path: root/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2023-06-22 21:13:35 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2023-06-22 21:13:35 -0400
commite1c1c679abdf482733ba601ee54f01bdfa79ddda (patch)
tree183a06af17e598b9ada1c138e468b1e74ac346d4 /plugins/VNLib.Plugins.Essentials.Accounts.Registration/src
parent765d3d328af49f92f1d0b296bfba2d7791e0cdf5 (diff)
Extensions async updates
Diffstat (limited to 'plugins/VNLib.Plugins.Essentials.Accounts.Registration/src')
-rw-r--r--plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs11
-rw-r--r--plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs4
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;