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