From 032e4154f286e0fd9811555fc5f93289a6e6c2e7 Mon Sep 17 00:00:00 2001 From: RaviMishra-94 <2015ravimishra@gmail.com> Date: Sun, 11 Aug 2024 17:35:49 +0530 Subject: [PATCH] Fix: Prevent 'Bearer' token prefix duplication --- SmartApi/smartConnect.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/SmartApi/smartConnect.py b/SmartApi/smartConnect.py index a8b1e89f..fbe64758 100644 --- a/SmartApi/smartConnect.py +++ b/SmartApi/smartConnect.py @@ -194,11 +194,20 @@ def _request(self, route, method, parameters=None): # Custom headers headers = self.requestHeaders() - if self.access_token: - # set authorization header + # if self.access_token: + # # set authorization header - auth_header = self.access_token - headers["Authorization"] = "Bearer {}".format(auth_header) + # auth_header = self.access_token + # headers["Authorization"] = "Bearer {}".format(auth_header) + + if self.access_token: + # Set authorization header + # Check if 'Bearer' prefix is already present to prevent duplication + # Previously, 'Bearer' was being added indiscriminately, potentially causing + # issues like 'Bearer Bearer {token}' if the token already had the prefix + if not self.access_token.startswith("Bearer "): + self.access_token = "Bearer " + self.access_token + headers["Authorization"] = self.access_token if self.debug: log.debug("Request: {method} {url} {params} {headers}".format(method=method, url=url, params=params, headers=headers))