aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2023-08-27 13:51:27 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2023-08-27 13:51:27 -0400
commit221cca7175dac7ff1187032982d81f7237e1ebf6 (patch)
tree30572fe52c89a36ba9a4c69d577e75f5711cb401
parentef97ff5027417f0f76799c583773e49e77108042 (diff)
public release cleanup
-rw-r--r--.gitignore2
-rw-r--r--LICENSE.txt4
-rw-r--r--README.md17
-rw-r--r--libs/VNLib.Plugins.Sessions.Cache.Client/LICENSE.txt4
-rw-r--r--libs/VNLib.Plugins.Sessions.Cache.Client/README.md15
-rw-r--r--libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj10
-rw-r--r--libs/VNLib.Plugins.Sessions.OAuth/LICENSE.txt4
-rw-r--r--libs/VNLib.Plugins.Sessions.OAuth/README.md18
-rw-r--r--libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2Session.cs2
-rw-r--r--libs/VNLib.Plugins.Sessions.OAuth/src/VNLib.Plugins.Sessions.OAuth.csproj13
-rw-r--r--libs/VNLib.Plugins.Sessions.VNCache/LICENSE.txt4
-rw-r--r--libs/VNLib.Plugins.Sessions.VNCache/README.md19
-rw-r--r--libs/VNLib.Plugins.Sessions.VNCache/src/VNLib.Plugins.Sessions.VNCache.csproj6
-rw-r--r--plugins/SessionProvider/LICENSE.txt4
-rw-r--r--plugins/SessionProvider/README.md16
-rw-r--r--plugins/SessionProvider/src/SessionProvider.csproj3
-rw-r--r--plugins/SessionProvider/src/SessionProvider.sample.json94
17 files changed, 173 insertions, 62 deletions
diff --git a/.gitignore b/.gitignore
index bf31850..e0fc917 100644
--- a/.gitignore
+++ b/.gitignore
@@ -350,6 +350,6 @@ MigrationBackup/
.ionide/
# exclude all json files as blanket for config
-*.json
+SessionProvider.json
*.licenseheader \ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
index 147bcd6..a169586 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2022 Vaughn Nugent
+Copyright (c) 2023 Vaughn Nugent
Contact information
Name: Vaughn Nugent
- Email: public[at]vaughnnugent[dot]com
+ Email: vnpublic@proton.me
Website: https://www.vaughnnugent.com
The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version).
diff --git a/README.md b/README.md
index c6f2650..82676b8 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,18 @@
# VNLib.Plugins.Sessions
+*A collection of helper libraries for the developing session providers, runtime session providers implementations such as OAuth2 or Web sessions with VNCache clusters, and client session libraries.*
-This folder contains helper libraries for the developing session providers, plugins for managing distributed object caching, and client runtime implementations.
-
-Each library or plugin library should contain a readme.md file for setup/installation or usage.
+See the documentation or child project readme files for more information.
## Builds
-Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below). All tar-gzip (.tgz) files will have an associated .sha256 appended checksum of the desired download file.
+Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below).
## Docs and Guides
Documentation, specifications, and setup guides are available on my website.
-[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions)
-[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Core)
+[Home Page](https://www.vaughnnugent.com) - Website home page
+[Documentation](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions) - Docs and articles for this module
+[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions) - Per-project build artifacts
+[Links for Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules) - Get my NuGet feed links
-## License
-Licenses may vary depending on the project. Each project will contain a license file and applicable licensing information in the project's readme. \ No newline at end of file
+## License
+The software in this repository is licensed under the GNU Affero General Public License (or any later version). See the LICENSE files for more information. \ No newline at end of file
diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/LICENSE.txt b/libs/VNLib.Plugins.Sessions.Cache.Client/LICENSE.txt
index 147bcd6..a169586 100644
--- a/libs/VNLib.Plugins.Sessions.Cache.Client/LICENSE.txt
+++ b/libs/VNLib.Plugins.Sessions.Cache.Client/LICENSE.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2022 Vaughn Nugent
+Copyright (c) 2023 Vaughn Nugent
Contact information
Name: Vaughn Nugent
- Email: public[at]vaughnnugent[dot]com
+ Email: vnpublic@proton.me
Website: https://www.vaughnnugent.com
The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version).
diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/README.md b/libs/VNLib.Plugins.Sessions.Cache.Client/README.md
index 94a20d1..4f7bfe8 100644
--- a/libs/VNLib.Plugins.Sessions.Cache.Client/README.md
+++ b/libs/VNLib.Plugins.Sessions.Cache.Client/README.md
@@ -1,8 +1,15 @@
# VNLib.Plugins.Sessions.Cache.Client
-*Provides shared abstractions for IGlobalCache backed sessions*
+*Provides shared abstractions and boilerplate for IGlobalCache backed sessions*
-#### Builds
-Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file.
+## Builds
+Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below).
+
+## Docs and Guides
+Documentation, specifications, and setup guides are available on my website.
+
+[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions.cache.client)
+[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions)
+[Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules)
## License
-Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE files for more information. \ No newline at end of file
+Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE file for more information.
diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj b/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj
index 284acdb..0162020 100644
--- a/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj
+++ b/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj
@@ -17,21 +17,13 @@
<Company>Vaughn Nugent</Company>
<Product>Cache backed session client library</Product>
<Description>
- Base library for implementing cache backed HTTP sessions.
+ Boilerplate and abstractions library for implementing cache backed HTTP sessions.
</Description>
<Copyright>Copyright © 2023 Vaughn Nugent</Copyright>
<PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions</PackageProjectUrl>
<RepositoryUrl>https://github.com/VnUgE/VNLib.Plugins.Sessions/tree/master/libs/VNLib.Plugins.Sessions.Cache.Client</RepositoryUrl>
</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">
<PrivateAssets>all</PrivateAssets>
diff --git a/libs/VNLib.Plugins.Sessions.OAuth/LICENSE.txt b/libs/VNLib.Plugins.Sessions.OAuth/LICENSE.txt
index 147bcd6..a169586 100644
--- a/libs/VNLib.Plugins.Sessions.OAuth/LICENSE.txt
+++ b/libs/VNLib.Plugins.Sessions.OAuth/LICENSE.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2022 Vaughn Nugent
+Copyright (c) 2023 Vaughn Nugent
Contact information
Name: Vaughn Nugent
- Email: public[at]vaughnnugent[dot]com
+ Email: vnpublic@proton.me
Website: https://www.vaughnnugent.com
The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version).
diff --git a/libs/VNLib.Plugins.Sessions.OAuth/README.md b/libs/VNLib.Plugins.Sessions.OAuth/README.md
index 03d27d9..310225f 100644
--- a/libs/VNLib.Plugins.Sessions.OAuth/README.md
+++ b/libs/VNLib.Plugins.Sessions.OAuth/README.md
@@ -1,13 +1,19 @@
# VNLib.Plugins.Sessions.OAuth
*Provides OAuth2 sessions and required endpoints for authentication via user applications from the VNLib.Plugins.Essentials.Oauth library*
-#### Builds
-Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file.
+This library may be loaded as a standard VNLib.Plugins.Essentials framework plugin (standalone mode) or loaded by the SessionProvider plugin (integrated mode) for multiple runtime session support.
-## Notes
-When dynamically loading this session provider as an asset in the SessionProvider plugin, make sure to order this assembly ahead of other web-based providers if loading multiple providers. OAuth2 sessions are only valid if the connection contains a Bearer token (valid or not it "pre-accepted""), otherwise no session will be attached.
+**This library requires 3rd-party dependencies**
-This plugin may be loaded as a standalone authentication server, by loading it directly as an IPlugin. Sessions are created in the backing stores when a token is generated, and therefore accessable via shared backing stores.
+## Builds
+Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below).
+
+## Docs and Guides
+Documentation, specifications, and setup guides are available on my website.
+
+[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions.oauth)
+[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions)
+[Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules)
## License
-Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE files for more information. \ No newline at end of file
+Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE file for more information.
diff --git a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2Session.cs b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2Session.cs
index 605ccbd..e7dc09d 100644
--- a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2Session.cs
+++ b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2Session.cs
@@ -45,7 +45,7 @@ namespace VNLib.Plugins.Sessions.OAuth
public void InitNewSession(IHttpEvent entity)
{
- SessionType = SessionType.Web;
+ SessionType = SessionType.OAuth2;
Created = DateTimeOffset.UtcNow;
//Set user-ip address
UserIP = entity.Server.GetTrustedIp();
diff --git a/libs/VNLib.Plugins.Sessions.OAuth/src/VNLib.Plugins.Sessions.OAuth.csproj b/libs/VNLib.Plugins.Sessions.OAuth/src/VNLib.Plugins.Sessions.OAuth.csproj
index d57bb0b..9fcfb3b 100644
--- a/libs/VNLib.Plugins.Sessions.OAuth/src/VNLib.Plugins.Sessions.OAuth.csproj
+++ b/libs/VNLib.Plugins.Sessions.OAuth/src/VNLib.Plugins.Sessions.OAuth.csproj
@@ -19,20 +19,12 @@
<Company>Vaughn Nugent</Company>
<Product>Essentials framework OAuth2 session provider</Product>
<Description>
- Provides OAuth2 sessions and required endpoints for authentication via user applications from the VNLib.Plugins.Essentials.Oauth library
+ Provides OAuth2 sessions and required endpoints for authentication via user applications from the VNLib.Plugins.Essentials.Oauth library. This library is designed to be loaded dynamically at runtime by the SessionProvider plugin.
</Description>
<Copyright>Copyright © 2023 Vaughn Nugent</Copyright>
- <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Core</PackageProjectUrl>
+ <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions</PackageProjectUrl>
<RepositoryUrl>https://github.com/VnUgE/VNLib.Plugins.Sessions/tree/master/libs/VNLib.Plugins.Sessions.OAuth</RepositoryUrl>
</PropertyGroup>
-
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
- <Deterministic>False</Deterministic>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
- <Deterministic>False</Deterministic>
- </PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\DataCaching\lib\VNLib.Plugins.Extensions.VNCache\src\VNLib.Plugins.Extensions.VNCache.csproj" />
@@ -46,4 +38,5 @@
<Target Condition="'$(BuildingInsideVisualStudio)' == true" Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="start xcopy &quot;$(TargetDir)&quot; &quot;..\..\..\..\..\devplugins\RuntimeAssets\$(TargetName)&quot; /E /Y /R" />
</Target>
+
</Project>
diff --git a/libs/VNLib.Plugins.Sessions.VNCache/LICENSE.txt b/libs/VNLib.Plugins.Sessions.VNCache/LICENSE.txt
index 147bcd6..a169586 100644
--- a/libs/VNLib.Plugins.Sessions.VNCache/LICENSE.txt
+++ b/libs/VNLib.Plugins.Sessions.VNCache/LICENSE.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2022 Vaughn Nugent
+Copyright (c) 2023 Vaughn Nugent
Contact information
Name: Vaughn Nugent
- Email: public[at]vaughnnugent[dot]com
+ Email: vnpublic@proton.me
Website: https://www.vaughnnugent.com
The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version).
diff --git a/libs/VNLib.Plugins.Sessions.VNCache/README.md b/libs/VNLib.Plugins.Sessions.VNCache/README.md
index 82a0fc9..4e25958 100644
--- a/libs/VNLib.Plugins.Sessions.VNCache/README.md
+++ b/libs/VNLib.Plugins.Sessions.VNCache/README.md
@@ -1,8 +1,19 @@
# VNLib.Plugins.Sessions.VNCache
-*Provides web based sessions using a VNCache cache cluster as a backing store for distributed sessions*
+*Provides web based sessions using memory cache or a VNCache cache cluster as a backing store for distributed sessions*
-#### Builds
-Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file.
+This library may be loaded as a standard VNLib.Plugins.Essentials framework plugin (standalone mode) or loaded by the SessionProvider plugin (integrated mode) for multiple runtime session support.
+
+**This library requires 3rd-party dependencies**
+
+## Builds
+Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below).
+
+## Docs and Guides
+Documentation, specifications, and setup guides are available on my website.
+
+[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions.vncache)
+[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions)
+[Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules)
## License
-Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE files for more information. \ No newline at end of file
+Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE file for more information. \ No newline at end of file
diff --git a/libs/VNLib.Plugins.Sessions.VNCache/src/VNLib.Plugins.Sessions.VNCache.csproj b/libs/VNLib.Plugins.Sessions.VNCache/src/VNLib.Plugins.Sessions.VNCache.csproj
index eba2871..a2dad40 100644
--- a/libs/VNLib.Plugins.Sessions.VNCache/src/VNLib.Plugins.Sessions.VNCache.csproj
+++ b/libs/VNLib.Plugins.Sessions.VNCache/src/VNLib.Plugins.Sessions.VNCache.csproj
@@ -16,7 +16,7 @@
<Company>Vaughn Nugent</Company>
<Product>VNCache backed dynamic session provider</Product>
<Description>
- Provides web based sessions using a VNCache cache cluster as a backing store for distributed sessions
+ Provides web based sessions using a VNCache cache cluster as a backing store for distributed sessions. This library is designed to be loaded dynamically at runtime by the SessionProvider plugin.
</Description>
<Copyright>Copyright © 2023 Vaughn Nugent</Copyright>
<PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions</PackageProjectUrl>
@@ -24,10 +24,6 @@
</PropertyGroup>
<ItemGroup>
- <Folder Include="Endpoints\" />
- </ItemGroup>
-
- <ItemGroup>
<ProjectReference Include="..\..\..\..\DataCaching\lib\VNLib.Plugins.Extensions.VNCache\src\VNLib.Plugins.Extensions.VNCache.csproj" />
<ProjectReference Include="..\..\..\..\Extensions\lib\VNLib.Plugins.Extensions.Loading\src\VNLib.Plugins.Extensions.Loading.csproj" />
<ProjectReference Include="..\..\VNLib.Plugins.Sessions.Cache.Client\src\VNLib.Plugins.Sessions.Cache.Client.csproj" />
diff --git a/plugins/SessionProvider/LICENSE.txt b/plugins/SessionProvider/LICENSE.txt
index 147bcd6..a169586 100644
--- a/plugins/SessionProvider/LICENSE.txt
+++ b/plugins/SessionProvider/LICENSE.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2022 Vaughn Nugent
+Copyright (c) 2023 Vaughn Nugent
Contact information
Name: Vaughn Nugent
- Email: public[at]vaughnnugent[dot]com
+ Email: vnpublic@proton.me
Website: https://www.vaughnnugent.com
The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version).
diff --git a/plugins/SessionProvider/README.md b/plugins/SessionProvider/README.md
index 9584fb3..9a6364b 100644
--- a/plugins/SessionProvider/README.md
+++ b/plugins/SessionProvider/README.md
@@ -1,8 +1,18 @@
# SessionProvider
*An Essentials framework plugin that provides HTTP sessions by dynamically loading configurable session provider libraries*
-#### Builds
-Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file.
+This package is an Essentials framework plugin that allows users to configure runtime loaded session providers as assets and order them to handle sessions for http connections. The purpose of this library is to allow overlapping session providers to attach sessions for different purposes and expose endpoints. An example would be OAuth2 sessions alongside Web sessions for normal web applications and OAuth2 api applications.
+
+## Builds
+Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below).
+
+## Docs and Guides
+Documentation, specifications, and setup guides are available on my website.
+
+[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_vnlib.plugins.sessions.oauth)
+[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions)
+[Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules)
## License
-Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE files for more information. \ No newline at end of file
+Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE file for more information.
+
diff --git a/plugins/SessionProvider/src/SessionProvider.csproj b/plugins/SessionProvider/src/SessionProvider.csproj
index 90937e0..9567e79 100644
--- a/plugins/SessionProvider/src/SessionProvider.csproj
+++ b/plugins/SessionProvider/src/SessionProvider.csproj
@@ -20,7 +20,8 @@
<Product>SessionProvider</Product>
<PackageId>VNLib.Plugins.Sessions.SessionProvider</PackageId>
<Description>
- An Essentials framework plugin that provides HTTP sessions by dynamically loading configurable session provider libraries
+ An Essentials framework plugin that provides HTTP sessions by dynamically loading configurable session provider libraries such
+ as VNLib.Plugins.Sessions.VNCache, and OAuth2 sessions from VNLib.Plugins.Sessions.OAuth.
</Description>
<Copyright>Copyright © 2023 Vaughn Nugent</Copyright>
<PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Sessions</PackageProjectUrl>
diff --git a/plugins/SessionProvider/src/SessionProvider.sample.json b/plugins/SessionProvider/src/SessionProvider.sample.json
new file mode 100644
index 0000000..0675fa1
--- /dev/null
+++ b/plugins/SessionProvider/src/SessionProvider.sample.json
@@ -0,0 +1,94 @@
+{
+ "debug": false,
+
+ //Provider assemblies to load
+ "provider_assemblies": [
+ //Priority list of session handling assemblies, OAuth loaded first because web sessions will aways try to be used
+ //"VNLib.Plugins.Sessions.OAuth.dll",
+ //"VNLib.Plugins.Sessions.VNCache.dll"
+ ],
+
+ //Web session provider, valid format for VNCache and also memory sessions
+ "web": {
+ //Cache system key prefix
+ "cache_prefix": "websessions",
+ //The session cookie name
+ "cookie_name": "VNSession",
+ //Size in bytes for generated session ids
+ "cookie_size": 40,
+ //time (in seconds) a session is valid for
+ "valid_for_sec": 3600,
+ //The maxium number of connections waiting for the cache server responses
+ "max_waiting_connections": 100
+ },
+
+ //If the OAuth provider is enabled, you may enable the optional revocation endpoint
+ "o2_revocation_endpoint": {
+ "path": "/oauth/revoke"
+ },
+
+ //If the OAuth provider is enabled, this is required the configuration object
+ "oauth2": {
+ //Cache system key prefix
+ "cache_prefix": "oauth2sessions",
+
+ //Token url path
+ "token_path": "/oauth/token",
+
+ //Max number of items in the LRU cache
+ "cache_size": 1000,
+ //Size in bytes of generated random access tokens
+ "access_token_size": 40,
+ //Maxium number of live tokens allowed per applicaion
+ "max_tokens_per_app": 10,
+ //access token life-time in seconds
+ "token_valid_for_sec": 3600,
+ //garbage (token revocation) collection interval in seconds
+ "gc_interval_sec": 120
+ /*
+ When access tokens are revoked via the applications plugin api, they are simply marked in the db
+ as timed-out (their creation time is set to 0) to cause the first GC to delete the session from cache.
+ This means that there can be a delay (maxium of GC interval) between the time the token is revoked and
+ the time it is removed from cache (so the session is still valid until GC'd). This is used to cross
+ the plugin barier
+ */
+ },
+
+
+ //Enable vncache as the providers above rely on the object caching server
+ "vncache": {
+
+ //Setting this value to true will cause the cache store to load a memory-only instance, without vncache remote backing
+ "memory_only": true,
+
+ //Max size (in bytes) of allowed data to be stored in each user's session object
+ "max_object_size": 8128,
+
+ //Request timeout
+ "request_timeout_sec": 10,
+
+ //Time delay between cluster node discovery
+ "discovery_interval_Sec": 120,
+
+ //Initial nodes to discover from
+ "initial_nodes": [],
+
+ //force tls for all connections
+ "use_tls": true,
+
+ //enable memory cache (optional but encouraged for performance)
+ "memory_cache": {
+ "buckets": 20,
+ "bucket_size": 5000,
+ "max_age_sec": 600,
+ "refresh_interval_sec": 60
+ }
+ },
+
+ "secrets": {
+ //Cache secrets, we need our private key and the cache public key to verify messages (they must be JWK)
+ "client_private_key": "",
+ "cache_public_key": ""
+ }
+
+} \ No newline at end of file