Spaces:
Sleeping
Sleeping
File size: 710 Bytes
2bb85a3 d98e0a6 2bb85a3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from fastapi import Depends, HTTPException, status
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from jose import jwt, JWTError
import os
security = HTTPBearer()
def verify_token(credentials: HTTPAuthorizationCredentials = Depends(security)):
JWT_SECRET = os.getenv("JWT_SECRET_KEY")
ALGORITHM = os.getenv("ALGORITHM")
token = credentials.credentials
try:
payload = jwt.decode(token, JWT_SECRET, algorithms=[ALGORITHM])
return payload
except JWTError as e:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Invalid or expired token",
headers={"WWW-Authenticate": "Bearer"},
)
|