From 024b6abf2fa8819a83d33d63397a13fedf80688f Mon Sep 17 00:00:00 2001 From: "bt.cn" <31841517+aaPanel@users.noreply.github.com> Date: Fri, 12 Nov 2021 10:57:49 +0800 Subject: [PATCH] Optimized panel login --- class/flask_session/sessions.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/class/flask_session/sessions.py b/class/flask_session/sessions.py index 62671197..e15606fd 100644 --- a/class/flask_session/sessions.py +++ b/class/flask_session/sessions.py @@ -275,6 +275,7 @@ class MemcachedSessionInterface(SessionInterface): httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) expires = self.get_expiration_time(app, session) + samesite = self.get_cookie_samesite(app) if not PY2: val = self.serializer.dumps(dict(session), 0) else: @@ -285,9 +286,18 @@ class MemcachedSessionInterface(SessionInterface): session_id = self._get_signer(app).sign(want_bytes(session.sid)) else: session_id = session.sid - response.set_cookie(app.session_cookie_name, session_id, + from BTPanel import request,g + if 'auth_error' in g: return + if request.path == '/': return + if response.status_code not in [200,302]: return + if not request.cookies.get(app.session_cookie_name): + if request.full_path.find('/login?tmp_token=') == 0: + samesite = 'None' + secure = True + response.set_cookie(app.session_cookie_name, session_id, expires=expires, httponly=httponly, - domain=domain, path=path, secure=secure) + domain=domain, path=path, secure=secure,samesite=samesite) + class FileSystemSessionInterface(SessionInterface):