From dfbb88e7ad4e25215e70b2a457bcccad2834a1bf Mon Sep 17 00:00:00 2001 From: vnugent Date: Sat, 27 Apr 2024 18:42:57 -0400 Subject: Squashed commit of the following: commit 3df7bdbaa9371f552c71162022c6ccc618be8bac Author: vnugent Date: Sat Apr 27 18:42:26 2024 -0400 chore: fix missing !, cleanup project files commit 6ec4156fb5c996d00a027f767fee7e6314e91582 Merge: 377c8a5 a74cd04 Author: vnugent Date: Sat Apr 27 17:40:30 2024 -0400 Merge branch 'master' into develop commit 377c8a5f8bb272eff5089094f5b764eb043b728f Author: vnugent Date: Sat Apr 27 17:28:25 2024 -0400 fix: Missing cookie set on cred regen commit a12873dceecc72c9af3966002bfca9faefc5aac7 Merge: 2963bf6 8d57b05 Author: vnugent Date: Sat Apr 20 12:07:42 2024 -0400 Merge branch 'master' into develop commit 2963bf62919b3bfac4aa5055d57fe91f93ca8a0b Author: vnugent Date: Sat Apr 20 11:59:45 2024 -0400 chore: Package updates commit 9539717a751baae762498a2cadfe94ef8fda5830 Merge: 44803e0 a7cf7c8 Author: vnugent Date: Mon Apr 8 22:04:26 2024 -0400 Merge branch 'master' into develop commit 44803e06d1aa45496c04127930aa8897272d42f6 Author: vnugent Date: Mon Apr 8 21:41:38 2024 -0400 fix: dangling/expired session security check and cookie cleanup commit 1082bd146549a1aff47877bcd28e6be1ce0ef5e9 Author: vnugent Date: Sat Mar 30 22:20:29 2024 -0400 feat(app): Add AppData client plugin and browser library updated commit ec9b42f4cacbeae8a0b4d96e48bd9e522b3a9145 Merge: 2a11454 27b487b Author: vnugent Date: Sun Mar 24 21:16:05 2024 -0400 Merge branch 'master' into develop commit 2a114541a3bfddae887adaa98c1ed326b125d511 Author: vnugent Date: Sun Mar 24 20:53:38 2024 -0400 refactor: pull apart session authorization for future dev commit f8aea6453ddb2d56c1ce2ecb6a9e67d1af523c2e Author: vnugent Date: Thu Mar 21 14:33:21 2024 -0400 feat: Add optional svg base64 icons for social OAuth2 connections commit cc29bed99dc9e151315cce75e50d55dca306b532 Author: vnugent Date: Sun Mar 10 21:58:27 2024 -0400 source tree project location updated --- .../VNLib.Plugins.Essentials.Accounts.Admin.csproj | 9 ++------- .../VNLib.Plugins.Essentials.Accounts.AppData.csproj | 16 +++++++++++----- .../src/AccountValidations.cs | 4 +++- .../src/Endpoints/RegRequestMessage.cs | 3 ++- .../src/Endpoints/RegistrationEntpoint.cs | 3 +++ .../src/RegistrationEntryPoint.cs | 4 +++- .../src/TokenRevocation/RevokedTokenStore.cs | 20 +++++++++----------- ...b.Plugins.Essentials.Accounts.Registration.csproj | 16 +++++++--------- .../src/SecurityProvider/AccountSecProvider.cs | 2 +- .../src/VNLib.Plugins.Essentials.Accounts.csproj | 13 +++++++------ .../src/VNLib.Plugins.Essentials.Auth.Social.csproj | 12 +++++++----- .../VNLib.Plugins.Essentials.Content.Routing.csproj | 16 ++++++++-------- .../src/VNLib.Plugins.Essentials.Auth.Auth0.csproj | 7 +++++-- .../src/VNLib.Plugins.Essentials.Auth.Discord.csproj | 7 +++++-- .../src/VNLib.Plugins.Essentials.Auth.Github.csproj | 7 +++++-- 15 files changed, 78 insertions(+), 61 deletions(-) diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/VNLib.Plugins.Essentials.Accounts.Admin.csproj b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/VNLib.Plugins.Essentials.Accounts.Admin.csproj index 9ff8376..a46b8df 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/VNLib.Plugins.Essentials.Accounts.Admin.csproj +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Admin/src/VNLib.Plugins.Essentials.Accounts.Admin.csproj @@ -4,15 +4,10 @@ net8.0 enable enable - latest-all - - False - - - - False + + latest-all diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/VNLib.Plugins.Essentials.Accounts.AppData.csproj b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/VNLib.Plugins.Essentials.Accounts.AppData.csproj index a546a89..fd15234 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/VNLib.Plugins.Essentials.Accounts.AppData.csproj +++ b/plugins/VNLib.Plugins.Essentials.Accounts.AppData/src/VNLib.Plugins.Essentials.Accounts.AppData.csproj @@ -1,17 +1,20 @@  - enable net8.0 + enable VNLib.Plugins.Essentials.Accounts.AppData Essentials.AppData - latest-all en-US true true + + latest-all + + VNLib.Plugins.Essentials.Accounts.AppData Vaughn Nugent @@ -21,11 +24,9 @@ https://www.vaughnnugent.com/resources/software/modules/Plugins.Essentials https://github.com/VnUgE/Plugins.Essentials/tree/master/plugins/VNLib.Plugins.Essentials.Accounts.AppData An Essentials plugin that provides endpoints for web-application synchronized storage such as user preferences - - - README.md LICENSE + True @@ -59,6 +60,11 @@ + + + Always + + diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/AccountValidations.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/AccountValidations.cs index 3292e6b..644c231 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/AccountValidations.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/AccountValidations.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2023 Vaughn Nugent +* Copyright (c) 2024 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Essentials.Accounts.Registration @@ -22,6 +22,8 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using System; + using FluentValidation; using VNLib.Plugins.Essentials.Accounts.Registration.Endpoints; diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegRequestMessage.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegRequestMessage.cs index 0683067..7fb0c4b 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegRequestMessage.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegRequestMessage.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2024 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Essentials.Accounts.Registration @@ -22,6 +22,7 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using System; using System.Text.Json.Serialization; namespace VNLib.Plugins.Essentials.Accounts.Registration.Endpoints 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 51cba14..0c8ded2 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/Endpoints/RegistrationEntpoint.cs @@ -24,7 +24,10 @@ using System; using System.Net; +using System.Linq; using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; using System.Text.Json.Serialization; using FluentValidation; diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/RegistrationEntryPoint.cs b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/RegistrationEntryPoint.cs index 790a2c6..3aecdf7 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/RegistrationEntryPoint.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/RegistrationEntryPoint.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2023 Vaughn Nugent +* Copyright (c) 2024 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Essentials.Accounts.Registration @@ -22,6 +22,8 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using System.Threading.Tasks; + using VNLib.Utils.Logging; using VNLib.Plugins.Extensions.Loading; 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 1a3e676..e63b02e 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/TokenRevocation/RevokedTokenStore.cs @@ -22,6 +22,11 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; + using Microsoft.EntityFrameworkCore; using VNLib.Utils; @@ -29,18 +34,11 @@ using VNLib.Plugins.Extensions.Loading; namespace VNLib.Plugins.Essentials.Accounts.Registration.TokenRevocation { - internal class RevokedTokenStore + internal class RevokedTokenStore(IAsyncLazy options) { - private readonly IAsyncLazy Options; - - public RevokedTokenStore(IAsyncLazy options) - { - Options = options; - } - public async Task IsRevokedAsync(string token, CancellationToken cancellation) { - await using RegistrationContext context = new (Options.Value); + await using RegistrationContext context = new (options.Value); //Select any that match tokens bool any = await (from t in context.RevokedRegistrationTokens @@ -54,7 +52,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.TokenRevocation public async Task RevokeAsync(string token, CancellationToken cancellation) { - await using RegistrationContext context = new (Options.Value); + await using RegistrationContext context = new (options.Value); //Add to table context.RevokedRegistrationTokens.Add(new RevokedToken @@ -77,7 +75,7 @@ namespace VNLib.Plugins.Essentials.Accounts.Registration.TokenRevocation { DateTime expiredBefore = DateTime.UtcNow.Subtract(validFor); - await using RegistrationContext context = new (Options.Value); + await using RegistrationContext context = new (options.Value); //Select any that match tokens RevokedToken[] expired = await context.RevokedRegistrationTokens.Where(t => t.Created < expiredBefore) diff --git a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/VNLib.Plugins.Essentials.Accounts.Registration.csproj b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/VNLib.Plugins.Essentials.Accounts.Registration.csproj index 51033cc..660ec34 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/VNLib.Plugins.Essentials.Accounts.Registration.csproj +++ b/plugins/VNLib.Plugins.Essentials.Accounts.Registration/src/VNLib.Plugins.Essentials.Accounts.Registration.csproj @@ -2,35 +2,33 @@ net8.0 - enable enable VNLib.Plugins.Essentials.Accounts.Registration Essentials.EmailRegistration False - latest-all - true + + latest-all + + VNLib.Plugins.Essentials.Accounts.Registration VNLib.Plugins.Essentials.Accounts.Registration Vaughn Nugent Vaughn Nugent Essentials email registration plugin - - *An essentials plugin that provides endpoints for registering, local user accounts via transactional emails - + An essentials plugin that provides endpoints for registering, local user accounts via transactional emails Copyright © 2024 Vaughn Nugent https://www.vaughnnugent.com/resources/software/modules/Plugins.Essentials https://github.com/VnUgE/Plugins.Essentials/tree/master/plugins/VNLib.Plugins.Essentials.Accounts.Registration - - - README.md LICENSE + True + True diff --git a/plugins/VNLib.Plugins.Essentials.Accounts/src/SecurityProvider/AccountSecProvider.cs b/plugins/VNLib.Plugins.Essentials.Accounts/src/SecurityProvider/AccountSecProvider.cs index 46c52cb..e20ec9f 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts/src/SecurityProvider/AccountSecProvider.cs +++ b/plugins/VNLib.Plugins.Essentials.Accounts/src/SecurityProvider/AccountSecProvider.cs @@ -120,7 +120,7 @@ namespace VNLib.Plugins.Essentials.Accounts.SecurityProvider else if (ClientWebAuthManager.IsSessionElevated(in session)) { //If the session stored a user-agent, make sure it matches the connection - if (string.Equals(session.UserAgent, entity.Server.UserAgent, StringComparison.Ordinal)) + if (!string.Equals(session.UserAgent, entity.Server.UserAgent, StringComparison.Ordinal)) { _logger.Debug("Denied authorized connection from {ip} because user-agent changed", entity.TrustedRemoteIp); return ValueTask.FromResult(FileProcessArgs.Deny); diff --git a/plugins/VNLib.Plugins.Essentials.Accounts/src/VNLib.Plugins.Essentials.Accounts.csproj b/plugins/VNLib.Plugins.Essentials.Accounts/src/VNLib.Plugins.Essentials.Accounts.csproj index b5f7374..8e37899 100644 --- a/plugins/VNLib.Plugins.Essentials.Accounts/src/VNLib.Plugins.Essentials.Accounts.csproj +++ b/plugins/VNLib.Plugins.Essentials.Accounts/src/VNLib.Plugins.Essentials.Accounts.csproj @@ -1,17 +1,20 @@  - enable net8.0 + enable VNLib.Plugins.Essentials.Accounts Essentials.Accounts - latest-all en-US true true + + latest-all + + VNLib.Plugins.Essentials.Accounts Vaughn Nugent @@ -21,13 +24,11 @@ https://www.vaughnnugent.com/resources/software/modules/Plugins.Essentials https://github.com/VnUgE/Plugins.Essentials/tree/master/plugins/VNLib.Plugins.Essentials.Accounts An Essentials plugin that provides user accounts, authentication, security, account security with MFA, and public/key authentication - - - README.md LICENSE + True - + True diff --git a/plugins/VNLib.Plugins.Essentials.Auth.Social/src/VNLib.Plugins.Essentials.Auth.Social.csproj b/plugins/VNLib.Plugins.Essentials.Auth.Social/src/VNLib.Plugins.Essentials.Auth.Social.csproj index ef49728..f37e566 100644 --- a/plugins/VNLib.Plugins.Essentials.Auth.Social/src/VNLib.Plugins.Essentials.Auth.Social.csproj +++ b/plugins/VNLib.Plugins.Essentials.Auth.Social/src/VNLib.Plugins.Essentials.Auth.Social.csproj @@ -1,16 +1,19 @@ - enable net8.0 + enable VNLib.Plugins.Essentials.Auth.Social Auth.Social True - latest-all en-US true + + latest-all + + VNLib.Plugins.Essentials.Auth.Social Vaughn Nugent @@ -20,12 +23,11 @@ https://www.vaughnnugent.com/resources/software/modules/Plugins.Essentials https://github.com/VnUgE/Plugins.Essentials/tree/master/plugins/VNLib.Plugins.Essentials.Auth.Social Essentials framework plugin that loads dynamic providers like my packaged GitHub, Discord, and Auth0 providers. This package also contains abstractions for building other providers. and may be inlcuded as a library to build a new provider - - - README.md LICENSE + True + True diff --git a/plugins/VNLib.Plugins.Essentials.Content.Routing/src/VNLib.Plugins.Essentials.Content.Routing.csproj b/plugins/VNLib.Plugins.Essentials.Content.Routing/src/VNLib.Plugins.Essentials.Content.Routing.csproj index afd278a..3fa384f 100644 --- a/plugins/VNLib.Plugins.Essentials.Content.Routing/src/VNLib.Plugins.Essentials.Content.Routing.csproj +++ b/plugins/VNLib.Plugins.Essentials.Content.Routing/src/VNLib.Plugins.Essentials.Content.Routing.csproj @@ -1,33 +1,33 @@ - enable net8.0 + enable VNLib.Plugins.Essentials.Content.Routing PageRouter en-US - latest-all true + + latest-all + + VNLib.Plugins.Essentials.Content.Routing Vaughn Nugent Vaughn Nugent Essentials SQL backed dynamic page router - - An essetials framework IPageRouter dynamic page routing implementation - + An essetials framework IPageRouter dynamic page routing implementation Copyright © 2024 Vaughn Nugent https://www.vaughnnugent.com/resources/software/modules/Plugins.Essentials https://github.com/VnUgE/Plugins.Essentials/tree/master/plugins/VNLib.Plugins.Essentials.Content.Routing - - - README.md LICENSE + True + True diff --git a/plugins/providers/VNLib.Plugins.Essentials.Auth.Auth0/src/VNLib.Plugins.Essentials.Auth.Auth0.csproj b/plugins/providers/VNLib.Plugins.Essentials.Auth.Auth0/src/VNLib.Plugins.Essentials.Auth.Auth0.csproj index e042611..bd8f5cf 100644 --- a/plugins/providers/VNLib.Plugins.Essentials.Auth.Auth0/src/VNLib.Plugins.Essentials.Auth.Auth0.csproj +++ b/plugins/providers/VNLib.Plugins.Essentials.Auth.Auth0/src/VNLib.Plugins.Essentials.Auth.Auth0.csproj @@ -1,16 +1,19 @@ - enable net8.0 + enable VNLib.Plugins.Essentials.Auth.Auth0 VNLib.Plugins.Essentials.Auth.Auth0 True - latest-all en-US true + + latest-all + + Vaughn Nugent Vaughn Nugent diff --git a/plugins/providers/VNLib.Plugins.Essentials.Auth.Discord/src/VNLib.Plugins.Essentials.Auth.Discord.csproj b/plugins/providers/VNLib.Plugins.Essentials.Auth.Discord/src/VNLib.Plugins.Essentials.Auth.Discord.csproj index d64ebe6..69f7e42 100644 --- a/plugins/providers/VNLib.Plugins.Essentials.Auth.Discord/src/VNLib.Plugins.Essentials.Auth.Discord.csproj +++ b/plugins/providers/VNLib.Plugins.Essentials.Auth.Discord/src/VNLib.Plugins.Essentials.Auth.Discord.csproj @@ -1,16 +1,19 @@ - enable net8.0 + enable VNLib.Plugins.Essentials.Auth.Discord VNLib.Plugins.Essentials.Auth.Discord True - latest-all en-US true + + latest-all + + Vaughn Nugent Vaughn Nugent diff --git a/plugins/providers/VNLib.Plugins.Essentials.Auth.Github/src/VNLib.Plugins.Essentials.Auth.Github.csproj b/plugins/providers/VNLib.Plugins.Essentials.Auth.Github/src/VNLib.Plugins.Essentials.Auth.Github.csproj index e6643f9..ec8b172 100644 --- a/plugins/providers/VNLib.Plugins.Essentials.Auth.Github/src/VNLib.Plugins.Essentials.Auth.Github.csproj +++ b/plugins/providers/VNLib.Plugins.Essentials.Auth.Github/src/VNLib.Plugins.Essentials.Auth.Github.csproj @@ -1,16 +1,19 @@ - enable net8.0 + enable VNLib.Plugins.Essentials.Auth.Github VNLib.Plugins.Essentials.Auth.Github True - latest-all en-US true + + latest-all + + Vaughn Nugent Vaughn Nugent -- cgit