Add token verification

This commit is contained in:
dolphinau 2025-11-24 00:23:30 +01:00
parent 12f36d905e
commit e4467aca08
No known key found for this signature in database

View file

@ -1,8 +1,8 @@
import json import json
import os
import random import random
import sys
from flask import Flask from flask import Flask, request
app = Flask(__name__) app = Flask(__name__)
@ -33,21 +33,23 @@ def init(input, output):
if __name__ == "__main__": if __name__ == "__main__":
if len(sys.argv) == 4: app_token = os.getenv("TOKEN", "")
conf_path = sys.argv[1] port = os.getenv("PORT", "3000")
out_path = sys.argv[2] conf_path = os.getenv("CONFIG_PATH", "./config.json")
port = sys.argv[3] output_path = os.getenv("OUTPUT_PATH", "/tmp/secret-santa-result.json")
else:
print("Error: need two args <input conf> <output file>")
exit(1)
try: try:
players = json.loads(open(out_path).read()) players = json.loads(open(output_path).read())
except FileNotFoundError: except FileNotFoundError:
players = init(conf_path, out_path) players = init(conf_path, output_path)
@app.route("/")
def get():
name = request.args.get("user_name")
token = request.args.get("token")
if app_token != "" and token != app_token:
return "<p>Error: Invalid token</p>"
@app.route("/<name>")
def get(name):
if name == "raphael": if name == "raphael":
return f"<p>Hello {name}!<br/>Your secret santa target is {players[name]}<br/>Eva's secret santa target is {players['eva']}</p>" return f"<p>Hello {name}!<br/>Your secret santa target is {players[name]}<br/>Eva's secret santa target is {players['eva']}</p>"
if name in players: if name in players: