From 195954ca198b4d4e19da9e70de3bd41c52682251 Mon Sep 17 00:00:00 2001 From: fxy Date: Mon, 15 Jun 2026 20:27:31 +0800 Subject: [PATCH] fix: auth_proxy Cache-Control no-cache + POST redirect fallback - Login page now sends Cache-Control: no-cache (prevent browser caching) - POST /login falls back to query string redirect param - Gitea redirect issue was caused by cached old login page without redirect field --- auth_proxy/auth_proxy.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/auth_proxy/auth_proxy.py b/auth_proxy/auth_proxy.py index 466e6d8..b8a9eb7 100755 --- a/auth_proxy/auth_proxy.py +++ b/auth_proxy/auth_proxy.py @@ -154,6 +154,7 @@ class AuthHandler(http.server.BaseHTTPRequestHandler): html = html.replace('ERROR_PLACEHOLDER', '') self.send_response(200) self.send_header('Content-Type', 'text/html; charset=utf-8') + self.send_header('Cache-Control', 'no-cache, no-store, must-revalidate') self.send_header('Content-Length', str(len(html.encode()))) self.end_headers() self.wfile.write(html.encode()) @@ -203,8 +204,9 @@ class AuthHandler(http.server.BaseHTTPRequestHandler): form = urllib.parse.parse_qs(body) username = form.get('username', [''])[0] password = form.get('password', [''])[0] - redirect = form.get('redirect', ['https://nav.xybkwd.top/'])[0] - + qs_params = urllib.parse.parse_qs(parsed.query) + qs_redirect = qs_params.get('redirect', ['https://nav.xybkwd.top/'])[0] + redirect = form.get('redirect', [qs_redirect])[0] if username == 'fxy' and bcrypt.checkpw(password.encode(), PASSWORD_HASH): token = make_token(username) # Domain=.xybkwd.top for cross-subdomain cookie sharing