From adde40d921f80b90c64887f83e66014d299d3125 Mon Sep 17 00:00:00 2001 From: Sashegdev Date: Wed, 22 Apr 2026 12:23:51 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82,=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=82=D0=BE=D0=B3=D0=BE=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B1=D1=8B=20=D0=B5=D1=81=D0=BB=D0=B8=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D1=80=D0=BE=D0=BB=D0=BB=D0=B1=D0=B5=D0=BA=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- launcher/pom.xml | 12 ++++++------ server/auth.py | 27 ++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/launcher/pom.xml b/launcher/pom.xml index 870a7f7..6799dd0 100644 --- a/launcher/pom.xml +++ b/launcher/pom.xml @@ -6,7 +6,7 @@ 4.0.0 me.sashegdev ZernMCLauncher - 1.0.7 + 1.0.8 jar @@ -76,7 +76,7 @@ ${project.version} ZernMC Launcher SashegDev - Полностью самописный Minecraft-лаунчер. Написанный SashegDev(в основном) + Samopisnui Minecraft-launcher. by SashegDev https://github.com/SashegDev/launcher @@ -99,8 +99,8 @@ launch4j - ../server/builds/ZernMCLauncher.exe - ../server/builds/ZernMCLauncher.jar + ../server/builds/ZernMCLauncher-${project.version}.exe + ../server/builds/ZernMCLauncher-${project.version}.jar console false @@ -110,13 +110,13 @@ ${project.version}.0 ${project.version} - ZernMC Launcher — самописный Minecraft лаунчер + ZernMC Launcher — just a Minecraft launcher ${project.version}.0 ${project.version} ZernMC Launcher ZernMC(SashegDev) ZernMCLauncher - ZernMCLauncher.exe + ZernMCLauncher-${project.version}.exe diff --git a/server/auth.py b/server/auth.py index eef9827..35cdc26 100644 --- a/server/auth.py +++ b/server/auth.py @@ -424,4 +424,29 @@ async def get_my_passes(credentials: HTTPAuthorizationCredentials = Depends(bear "has_active": any(p["is_active"] for p in passes) } finally: - conn.close() \ No newline at end of file + conn.close() + +@router.post("/validate") +async def validate_token(request: Request, credentials: HTTPAuthorizationCredentials = Depends(bearer)): + """Validate token endpoint for Minecraft server""" + if not credentials: + raise HTTPException(401, "Требуется авторизация") + + payload = verify_jwt(credentials.credentials) + if not payload or payload.get("type") != "access": + raise HTTPException(401, "Недействительный токен") + + try: + body = await request.json() + username = body.get("username") + uuid = body.get("uuid") + + # Verify that token belongs to this user + if payload.get("username") != username or payload.get("uuid") != uuid: + raise HTTPException(403, "Token does not match user") + + return {"valid": True, "username": username, "uuid": uuid} + + except Exception as e: + logger.error(f"Token validation error: {e}") + raise HTTPException(400, "Invalid request") \ No newline at end of file