From 5e9f20c1163e4d3199c1f6f8fc7378ea0c3412f6 Mon Sep 17 00:00:00 2001 From: Infi Date: Wed, 28 Aug 2024 21:23:46 +0200 Subject: [PATCH] Fix /auth bug that prevented redirect in some browser --- ChatTwo/Http/RouteController.cs | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/ChatTwo/Http/RouteController.cs b/ChatTwo/Http/RouteController.cs index 2e8152b..3dd9e88 100644 --- a/ChatTwo/Http/RouteController.cs +++ b/ChatTwo/Http/RouteController.cs @@ -36,7 +36,6 @@ public class RouteController // Pre Auth Core.Host.Routes.PreAuthentication.Static.Add(HttpMethod.GET, "/", AuthRoute, ExceptionRoute); - Core.Host.Routes.PreAuthentication.Static.Add(HttpMethod.GET, "/auth", GetAuthenticateClient, ExceptionRoute); Core.Host.Routes.PreAuthentication.Static.Add(HttpMethod.POST, "/auth", AuthenticateClient, ExceptionRoute); Core.Host.Routes.PreAuthentication.Static.Add(HttpMethod.GET, "/files/gfdata.gfd", GetGfdData, ExceptionRoute); Core.Host.Routes.PreAuthentication.Static.Add(HttpMethod.GET, "/files/fonticon_ps5.tex", GetTexData, ExceptionRoute); @@ -130,11 +129,12 @@ public class RouteController #region PreAuthRoutes private async Task AuthenticateClient(HttpContextBase ctx) { - Plugin.Log.Information($"Auth requested"); - var currentTick = Environment.TickCount64; if (RateLimit.TryGetValue(ctx.Request.Source.IpAddress, out var timestamp) && timestamp > currentTick) + { + _ = ctx.Request.DataAsString; // Temp fix for Watson.Lite bug #155 return await Redirect(ctx, "/", ("message", "Rate limit active.")); + } // The next request will be rate limited for 10s RateLimit[ctx.Request.Source.IpAddress] = currentTick + 10_000; @@ -149,15 +149,6 @@ public class RouteController ctx.Response.Headers.Add("Set-Cookie", $"ChatTwo-token={token}"); return await Redirect(ctx, "/chat"); } - - private async Task GetAuthenticateClient(HttpContextBase ctx) - { - Plugin.Log.Information($"Get was used for auth requested"); - Plugin.Log.Information($"{ctx.Request.Url.Full}"); - Plugin.Log.Information($"{ctx.RouteType}"); - - return await Redirect(ctx, "/", ("message", "Rate limit active.")); - } #endregion #region PostAuthRoutes @@ -256,7 +247,7 @@ public class RouteController query.Add(key, value); ctx.Response.Headers.Add("Location", $"{location}?{query}"); - ctx.Response.StatusCode = 302; + ctx.Response.StatusCode = 303; return await ctx.Response.Send(); } #endregion