aboutsummaryrefslogtreecommitdiff
path: root/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs')
-rw-r--r--libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs
index cc550de..d099e3c 100644
--- a/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs
+++ b/libs/VNLib.Plugins.Sessions.OAuth/src/OAuth2SessionProvider.cs
@@ -48,7 +48,7 @@ namespace VNLib.Plugins.Sessions.OAuth
/// Provides OAuth2 session management
/// </summary>
[ConfigurationName(O2SessionProviderEntry.OAUTH2_CONFIG_KEY)]
- internal sealed class OAuth2SessionProvider : ISessionProvider, ITokenManager, IApplicationTokenFactory
+ internal sealed class OAuth2SessionProvider : ISessionProvider, ITokenManager, IApplicationTokenFactory, IIntervalScheduleable
{
private static readonly SessionHandle Skip = new(null, FileProcessArgs.VirtualSkip, null);
@@ -68,6 +68,9 @@ namespace VNLib.Plugins.Sessions.OAuth
_tokenFactory = plugin.GetOrCreateSingleton<OAuth2TokenFactory>();
TokenStore = new(plugin.GetContextOptions());
_tokenTypeString = $"client_credential,{_tokenFactory.TokenType}";
+
+ //Schedule interval
+ plugin.ScheduleInterval(this, TimeSpan.FromMinutes(2));
}
public void SetLog(ILogProvider log) => _sessions.SetLog(log);
@@ -196,9 +199,8 @@ namespace VNLib.Plugins.Sessions.OAuth
/*
* Interval for removing expired tokens
*/
-
- [AsyncInterval(Minutes = 2)]
- private async Task OnIntervalAsync(ILogProvider log, CancellationToken cancellationToken)
+
+ public async Task OnIntervalAsync(ILogProvider log, CancellationToken cancellationToken)
{
//Calculate valid token time
DateTime validAfter = DateTime.UtcNow.Subtract(_tokenFactory.SessionValidFor);