From 6965cc8d943b5a6b3f6875fa399230b2eff23ade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=91=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=83=D1=80=D0=B8=D1=81=D1=82?= Date: Sun, 31 May 2026 16:37:13 +1000 Subject: [PATCH] verify --- main.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 78437d1..f925fc1 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ -from fastapi import FastAPI, HTTPException, Depends +from fastapi import FastAPI, HTTPException, Depends, Request from fastapi.responses import JSONResponse from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel @@ -107,6 +107,25 @@ async def get_users(): return rows + +@app.get('/verify', tags=["User"]) +async def verify_token_endpoint(request: Request): + token = request.cookies.get('auth_token') + + if not token: + raise HTTPException(status_code=401, detail="No token provided") + + try: + payload = jwt.decode( + token, + "95ad4fb1f2612c41ed299d5ca695945890c957fa", + algorithms=["HS256"] + ) + return {"user": {"username": payload["username"]}} + except jwt.ExpiredSignatureError: + raise HTTPException(status_code=401, detail="Token expired") + except jwt.InvalidTokenError: + raise HTTPException(status_code=401, detail="Invalid token") # # Запуск сервера для теста # if __name__ == "__main__": # uvicorn.run("main:app", port=8004, reload=True) \ No newline at end of file