orders module: add auth, fix command injection, add requirements #13
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user