Use an 8-digit token for each car so it is easy to share.
This commit is contained in:
1 parent
0224e8f395
commit
b95cbefeab
6 files changed
+42
-15
No files matched your search
+7
-1
@@ -52,6 +52,12 @@ def listen_port():
|
||||
return 8787
|
||||
|
||||
|
||||
def token_ok(bearer):
|
||||
if len(bearer) == 8 and bearer.isdigit():
|
||||
return True
|
||||
return len(bearer) >= 16 and all(character in "0123456789abcdef" for character in bearer)
|
||||
|
||||
|
||||
def legacy_token():
|
||||
inline = os.environ.get("PITLOG_TOKEN", "").strip().lower()
|
||||
if inline:
|
||||
@@ -386,7 +392,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
return
|
||||
header = self.headers.get("Authorization", "")
|
||||
bearer = header[7:].strip().lower() if header.startswith("Bearer ") else ""
|
||||
if len(bearer) < 16 or any(character not in "0123456789abcdef" for character in bearer):
|
||||
if not token_ok(bearer):
|
||||
self._send(401, {"error": "The token was refused."})
|
||||
return
|
||||
length = int(self.headers.get("Content-Length", "0"))
|
||||
|
||||
Reference in new issue
Block a user