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.responses import JSONResponse
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
@@ -107,6 +107,25 @@ async def get_users():
|
|||||||
|
|
||||||
return rows
|
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__":
|
# if __name__ == "__main__":
|
||||||
# uvicorn.run("main:app", port=8004, reload=True)
|
# uvicorn.run("main:app", port=8004, reload=True)
|
||||||
Reference in New Issue
Block a user