aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Libs/VNLib.Plugins.Essentials.Oauth/Applications/ApplicationStore.cs (renamed from Libs/VNLib.Plugins.Essentials.Oauth/Applications/Applications.cs)14
-rw-r--r--Libs/VNLib.Plugins.Essentials.Oauth/Applications/UserAppContext.cs2
-rw-r--r--Libs/VNLib.Plugins.Essentials.Oauth/Tokens/ActiveToken.cs2
-rw-r--r--Libs/VNLib.Plugins.Essentials.Oauth/VNLib.Plugins.Essentials.Oauth.csproj39
-rw-r--r--Plugins/OAuth2ClientApplications/Endpoints/ApplicationEndpoint.cs7
-rw-r--r--Plugins/OAuth2ClientApplications/OAuth2ClientApplications.csproj15
6 files changed, 45 insertions, 34 deletions
diff --git a/Libs/VNLib.Plugins.Essentials.Oauth/Applications/Applications.cs b/Libs/VNLib.Plugins.Essentials.Oauth/Applications/ApplicationStore.cs
index 34db018..2fe44ef 100644
--- a/Libs/VNLib.Plugins.Essentials.Oauth/Applications/Applications.cs
+++ b/Libs/VNLib.Plugins.Essentials.Oauth/Applications/ApplicationStore.cs
@@ -43,7 +43,7 @@ namespace VNLib.Plugins.Essentials.Oauth.Applications
/// <summary>
/// A DbStore for <see cref="UserApplication"/>s for OAuth2 client applications
/// </summary>
- public sealed partial class Applications : DbStore<UserApplication>
+ public sealed partial class ApplicationStore : DbStore<UserApplication>
{
public const int SECRET_SIZE = 32;
public const int CLIENT_ID_SIZE = 16;
@@ -53,12 +53,12 @@ namespace VNLib.Plugins.Essentials.Oauth.Applications
private readonly ITokenManager TokenStore;
/// <summary>
- /// Initializes a new <see cref="Applications"/> data store
+ /// Initializes a new <see cref="ApplicationStore"/> data store
/// uisng the specified EFCore <see cref="DbContextOptions"/> object.
/// </summary>
/// <param name="conextOptions">EFCore context options for connecting to a remote data-store</param>
/// <param name="secretHashing">A <see cref="PasswordHashing"/> structure for hashing client secrets</param>
- public Applications(DbContextOptions conextOptions, PasswordHashing secretHashing)
+ public ApplicationStore(DbContextOptions conextOptions, PasswordHashing secretHashing)
{
this.ConextOptions = conextOptions;
this.SecretHashing = secretHashing;
@@ -217,12 +217,12 @@ namespace VNLib.Plugins.Essentials.Oauth.Applications
currentRecord.AppName = newRecord.AppName;
}
///<inheritdoc/>
- protected override IQueryable<UserApplication> GetCollectionQueryBuilder(TransactionalDbContext context, string userId)
+ protected override IQueryable<UserApplication> GetCollectionQueryBuilder(TransactionalDbContext context, string specifier)
{
UserAppContext ctx = (context as UserAppContext)!;
//Get the user's applications based on their userid
return from userApp in ctx.OAuthApps
- where userApp.UserId == userId
+ where userApp.UserId == specifier
orderby userApp.Created ascending
select new UserApplication
{
@@ -235,9 +235,9 @@ namespace VNLib.Plugins.Essentials.Oauth.Applications
};
}
///<inheritdoc/>
- protected override IQueryable<UserApplication> GetCollectionQueryBuilder(TransactionalDbContext context, params string[] args)
+ protected override IQueryable<UserApplication> GetCollectionQueryBuilder(TransactionalDbContext context, params string[] constraints)
{
- return GetCollectionQueryBuilder(context, args[0]);
+ return GetCollectionQueryBuilder(context, constraints[0]);
}
///<inheritdoc/>
protected override IQueryable<UserApplication> GetSingleQueryBuilder(TransactionalDbContext context, params string[] constraints)
diff --git a/Libs/VNLib.Plugins.Essentials.Oauth/Applications/UserAppContext.cs b/Libs/VNLib.Plugins.Essentials.Oauth/Applications/UserAppContext.cs
index 05a901e..53a4d43 100644
--- a/Libs/VNLib.Plugins.Essentials.Oauth/Applications/UserAppContext.cs
+++ b/Libs/VNLib.Plugins.Essentials.Oauth/Applications/UserAppContext.cs
@@ -30,7 +30,7 @@ using VNLib.Plugins.Essentials.Oauth.Tokens;
namespace VNLib.Plugins.Essentials.Oauth.Applications
{
- internal class UserAppContext : TransactionalDbContext
+ public sealed class UserAppContext : TransactionalDbContext
{
public DbSet<UserApplication> OAuthApps { get; set; }
public DbSet<ActiveToken> OAuthTokens { get; set; }
diff --git a/Libs/VNLib.Plugins.Essentials.Oauth/Tokens/ActiveToken.cs b/Libs/VNLib.Plugins.Essentials.Oauth/Tokens/ActiveToken.cs
index 8a3f3f3..3f4ad8b 100644
--- a/Libs/VNLib.Plugins.Essentials.Oauth/Tokens/ActiveToken.cs
+++ b/Libs/VNLib.Plugins.Essentials.Oauth/Tokens/ActiveToken.cs
@@ -30,7 +30,7 @@ namespace VNLib.Plugins.Essentials.Oauth.Tokens
{
public class ActiveToken : DbModelBase
{
- public override string Id { get; set; }
+ public override string Id { get; set; } = string.Empty;
public override DateTime Created { get; set; }
public override DateTime LastModified { get; set; }
diff --git a/Libs/VNLib.Plugins.Essentials.Oauth/VNLib.Plugins.Essentials.Oauth.csproj b/Libs/VNLib.Plugins.Essentials.Oauth/VNLib.Plugins.Essentials.Oauth.csproj
index 49c3c84..aeb97c0 100644
--- a/Libs/VNLib.Plugins.Essentials.Oauth/VNLib.Plugins.Essentials.Oauth.csproj
+++ b/Libs/VNLib.Plugins.Essentials.Oauth/VNLib.Plugins.Essentials.Oauth.csproj
@@ -2,7 +2,25 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
- <Platforms>AnyCPU;x64</Platforms>
+ <Authors>Vaughn Nugent</Authors>
+ <Copyright>Copyright © 2022 Vaughn Nugent</Copyright>
+ <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl>
+ <Version>1.0.2.1</Version>
+ <Nullable>enable</Nullable>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
+ <GenerateDocumentationFile>True</GenerateDocumentationFile>
+ <AnalysisLevel>latest-all</AnalysisLevel>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+ <Deterministic>False</Deterministic>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+ <Deterministic>False</Deterministic>
</PropertyGroup>
<ItemGroup>
@@ -19,27 +37,8 @@
<ItemGroup>
<ProjectReference Include="..\..\..\..\VNLib\Essentials\VNLib.Plugins.Essentials.csproj" />
- <ProjectReference Include="..\..\..\..\VNLib\Hashing\VNLib.Hashing.Portable.csproj" />
<ProjectReference Include="..\..\..\..\VNLib\Utils\src\VNLib.Utils.csproj" />
<ProjectReference Include="..\..\..\Extensions\VNLib.Plugins.Extensions.Data\VNLib.Plugins.Extensions.Data.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
- <Authors>Vaughn Nugent</Authors>
- <Copyright>Copyright © 2022 Vaughn Nugent</Copyright>
- <PackageProjectUrl>www.vaughnnugent.com/resources</PackageProjectUrl>
- <Version>1.0.2.1</Version>
- <Nullable>enable</Nullable>
- <GenerateDocumentationFile>True</GenerateDocumentationFile>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
- <DocumentationFile></DocumentationFile>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <DocumentationFile></DocumentationFile>
- </PropertyGroup>
-
</Project>
diff --git a/Plugins/OAuth2ClientApplications/Endpoints/ApplicationEndpoint.cs b/Plugins/OAuth2ClientApplications/Endpoints/ApplicationEndpoint.cs
index e98b271..8eb0d97 100644
--- a/Plugins/OAuth2ClientApplications/Endpoints/ApplicationEndpoint.cs
+++ b/Plugins/OAuth2ClientApplications/Endpoints/ApplicationEndpoint.cs
@@ -39,11 +39,13 @@ using VNLib.Plugins.Essentials.Accounts;
using VNLib.Plugins.Essentials.Endpoints;
using VNLib.Plugins.Essentials.Extensions;
using VNLib.Plugins.Essentials.Oauth.Applications;
+using VNLib.Plugins.Extensions.Data;
using VNLib.Plugins.Extensions.Validation;
using VNLib.Plugins.Extensions.Loading;
using VNLib.Plugins.Extensions.Loading.Sql;
using static VNLib.Plugins.Essentials.Statics;
+
namespace OAuth2ClientApplications.Endpoints
{
[ConfigurationName("applications")]
@@ -65,7 +67,7 @@ namespace OAuth2ClientApplications.Endpoints
public string? Permissions { get; set; }
}
- private readonly Applications Applications;
+ private readonly ApplicationStore Applications;
private readonly int MaxAppsPerUser;
private readonly string MaxAppOverloadMessage;
private readonly Task<JsonDocument?> JwtSigningKey;
@@ -86,7 +88,8 @@ namespace OAuth2ClientApplications.Endpoints
MaxAppOverloadMessage = $"You have reached the limit of {MaxAppsPerUser} applications, this application cannot be created";
//Get jwt signing key
- JwtSigningKey = plugin.TryGetSecretAsync("jwt_signing_key").ContinueWith(s => s.Result == null ? null : JsonDocument.Parse(s.Result));
+ JwtSigningKey = plugin.TryGetSecretAsync("jwt_signing_key")
+ .ContinueWith(static s => s.Result == null ? null : JsonDocument.Parse(s.Result), TaskScheduler.Default);
}
protected override async ValueTask<VfReturnType> GetAsync(HttpEntity ev)
diff --git a/Plugins/OAuth2ClientApplications/OAuth2ClientApplications.csproj b/Plugins/OAuth2ClientApplications/OAuth2ClientApplications.csproj
index bbb6deb..28fe790 100644
--- a/Plugins/OAuth2ClientApplications/OAuth2ClientApplications.csproj
+++ b/Plugins/OAuth2ClientApplications/OAuth2ClientApplications.csproj
@@ -2,21 +2,30 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
+ <Nullable>enable</Nullable>
<Copyright>Copyright © 2022 Vaughn Nugent</Copyright>
<Company>Vaughn Nugent</Company>
<Authors>Vaughn Nugent</Authors>
<AssemblyVersion>1.0.2.1</AssemblyVersion>
<FileVersion>1.0.2.1</FileVersion>
- <PackageProjectUrl>www.vaughnnugent.com/resources</PackageProjectUrl>
+ <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl>
<Version>1.0.2.1</Version>
- <Platforms>AnyCPU;x64</Platforms>
+
</PropertyGroup>
<!-- Resolve nuget dll files and store them in the output dir -->
<PropertyGroup>
<!--Enable dynamic loading-->
<EnableDynamicLoading>true</EnableDynamicLoading>
- <Nullable>enable</Nullable>
+ <Private>false</Private>
+ <GenerateDocumentationFile>False</GenerateDocumentationFile>
+ <AnalysisLevel>latest-all</AnalysisLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+ <Deterministic>False</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+ <Deterministic>False</Deterministic>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ErrorProne.NET.CoreAnalyzers" Version="0.1.2">