This commit is contained in:
21
main.py
21
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)
|
||||
Reference in New Issue
Block a user