From b5b759c5ed5e3871a2ad0023db208eec73dc4025 Mon Sep 17 00:00:00 2001 From: Thigazhezhilan J Date: Sun, 12 Apr 2026 20:17:48 +0530 Subject: [PATCH] Fix Zerodha callback state propagation --- backend/app/services/zerodha_service.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app/services/zerodha_service.py b/backend/app/services/zerodha_service.py index 310ccd9..e755a85 100644 --- a/backend/app/services/zerodha_service.py +++ b/backend/app/services/zerodha_service.py @@ -33,7 +33,9 @@ def build_login_url(api_key: str, redirect_url: str | None = None, state: str | if redirect_url: params["redirect_url"] = redirect_url if state: - params["state"] = state + # Kite Connect echoes redirect_params back to the redirect URL. + # Using a raw "state" query parameter here is not reliable. + params["redirect_params"] = urllib.parse.urlencode({"state": state}) query = urllib.parse.urlencode(params) return f"{KITE_LOGIN_URL}?{query}"