fix: incorrect token 500

This commit is contained in:
Андрей Сумин
2025-03-01 19:11:45 +03:00
parent 4a054ae3a2
commit e34c8ae3a7
+4
View File
@@ -5,15 +5,19 @@ import jwt
from django.conf import settings
from django.http import HttpRequest
from ninja.security import HttpBearer
from redis.exceptions import AuthorizationError
from apps.user.models import User
class BearerAuth(HttpBearer):
def authenticate(self, request: HttpRequest, token: str) -> Any | None:
try:
data = jwt.decode(token, settings.SECRET_KEY, algorithms=["HS256"])
if data["exp"] < datetime.datetime.now().timestamp():
return None
except Exception:
raise AuthorizationError
user = User.objects.get(id=data["id"])
return user