From c77b575e2faaf7de14d52861ca3ed5eac3cd8946 Mon Sep 17 00:00:00 2001 From: "jason.wang" Date: Wed, 25 Sep 2024 22:25:37 +0800 Subject: [PATCH] AllowAnonymous api no valid single login --- .../BotSharp.OpenAPI/Filters/UserSingleLoginFilter.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Infrastructure/BotSharp.OpenAPI/Filters/UserSingleLoginFilter.cs b/src/Infrastructure/BotSharp.OpenAPI/Filters/UserSingleLoginFilter.cs index bd6f2dd6..e8db0801 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/Filters/UserSingleLoginFilter.cs +++ b/src/Infrastructure/BotSharp.OpenAPI/Filters/UserSingleLoginFilter.cs @@ -20,6 +20,14 @@ namespace BotSharp.OpenAPI.Filters public void OnAuthorization(AuthorizationFilterContext context) { + var isAllowAnonymous = context.ActionDescriptor.EndpointMetadata + .Any(em => em.GetType() == typeof(AllowAnonymousAttribute)); + + if (isAllowAnonymous) + { + return; + } + var bearerToken = GetBearerToken(context); if (!string.IsNullOrWhiteSpace(bearerToken)) { @@ -34,7 +42,7 @@ namespace BotSharp.OpenAPI.Filters var validTo = token.ValidTo.ToLongTimeString(); var currentExpires = GetUserExpires().ToLongTimeString(); - if (token.ValidTo > DateTime.UtcNow && validTo != currentExpires) + if (validTo != currentExpires) { Serilog.Log.Warning($"Token expired. Token expires at {validTo}, current expires at {currentExpires}"); // login confict