orders module: add auth, fix command injection, add requirements #13

Merged
testclient-admin merged 15 commits from feature/orders-module into main 2026-08-25 03:44:38 +00:00
Showing only changes of commit 0a7736e8a5 - Show all commits
+15 -2
View File
@@ -20,7 +20,7 @@ class OrdersHandler(BaseHTTPRequestHandler):
if not auth_header.startswith("Bearer "): if not auth_header.startswith("Bearer "):
return False return False
token = auth_header[7:] token = auth_header[7:]
return self._validate_token(token) return self._validate_auth()
def _validate_token(self, token): def _validate_token(self, token):
if not token.startswith("token_"): if not token.startswith("token_"):
@@ -30,7 +30,20 @@ class OrdersHandler(BaseHTTPRequestHandler):
self._user_id = parts[1] self._user_id = parts[1]
return True return True
self._user_id = None self._user_id = None
return True return False
def _validate_auth(self):
auth_header = self.headers.get("Authorization", "")
if not auth_header.startswith("Bearer "):
return False
token = auth_header[7:]
if self._validate_token(token):
return True
admin_token = os.getenv("ADMIN_TOKEN", "")
if admin_token and token == admin_token:
self._user_id = "admin"
return True
return False
def send_json_response(self, status_code, data): def send_json_response(self, status_code, data):
self.send_response(status_code) self.send_response(status_code)