diff options
author | vnugent <public@vaughnnugent.com> | 2024-04-20 12:13:04 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2024-04-20 12:13:04 -0400 |
commit | 84f81db6ec729e24e2818557564e7da92259be43 (patch) | |
tree | 2831297e8177345ba75436389bec3669606cd515 | |
parent | 9c8da6ea8fabe1d752bb28fd5eaeeb0b1d06d94d (diff) |
Squashed commit of the following:
commit f70c94e948aa41e90d99f187d8a4791a726bc681
Author: vnugent <public@vaughnnugent.com>
Date: Sat Apr 20 00:48:49 2024 -0400
fix: Missing session detach flag on close
commit 2a2078b8cc3dd216c46419bce7577ae572317955
Author: vnugent <public@vaughnnugent.com>
Date: Mon Apr 15 16:22:38 2024 -0400
fix: fixed bearer token header requirments from crashing
3 files changed, 10 insertions, 8 deletions
diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/src/RemoteSession.cs b/libs/VNLib.Plugins.Sessions.Cache.Client/src/RemoteSession.cs index 421d07d..5f4d614 100644 --- a/libs/VNLib.Plugins.Sessions.Cache.Client/src/RemoteSession.cs +++ b/libs/VNLib.Plugins.Sessions.Cache.Client/src/RemoteSession.cs @@ -112,6 +112,7 @@ namespace VNLib.Plugins.Sessions.Cache.Client status |= Flags.IsSet(INVALID_MSK) ? SessionStatus.Delete : SessionStatus.None; status |= Flags.IsSet(REGEN_ID_MSK) ? SessionStatus.RegenId : SessionStatus.None; status |= Flags.IsSet(MODIFIED_MSK) ? SessionStatus.UpdateOnly: SessionStatus.None; + status |= Flags.IsSet(DETACHED_MSK) ? SessionStatus.Detach: SessionStatus.None; return status; } diff --git a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2TokenFactory.cs b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2TokenFactory.cs index 6d055df..e3588ab 100644 --- a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2TokenFactory.cs +++ b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2TokenFactory.cs @@ -104,9 +104,13 @@ namespace VNLib.Plugins.Sessions.OAuth { int bearerIndex = authorization.IndexOf(_config.TokenType, StringComparison.OrdinalIgnoreCase); - //Calc token offset, get token, and trim any whitespace - token = authorization.AsSpan(bearerIndex + _config.TokenType.Length).Trim().ToString(); - return true; + //Check if the token type is present + if (bearerIndex >= 0) + { + //Calc token offset, get token, and trim any whitespace + token = authorization.AsSpan(bearerIndex + _config.TokenType.Length).Trim().ToString(); + return true; + } } token = null; diff --git a/libs/VNLib.Plugins.Sessions.VNCache/src/WebSession.cs b/libs/VNLib.Plugins.Sessions.VNCache/src/WebSession.cs index 7ab4cbe..8cdf73b 100644 --- a/libs/VNLib.Plugins.Sessions.VNCache/src/WebSession.cs +++ b/libs/VNLib.Plugins.Sessions.VNCache/src/WebSession.cs @@ -33,12 +33,9 @@ using VNLib.Plugins.Sessions.Cache.Client; namespace VNLib.Plugins.Sessions.VNCache { - internal class WebSession : RemoteSession + internal class WebSession(string sessionId, IDictionary<string, string> sessionData, bool isNew) + : RemoteSession(sessionId, sessionData, isNew) { - public WebSession(string sessionId, IDictionary<string, string> sessionData, bool isNew) - : base(sessionId, sessionData, isNew) - {} - internal void InitNewSession(IHttpEvent entity) { SessionType = SessionType.Web; |