Skip to content

Commit ef1f64b

Browse files
authored
🔒️ Refactor migrate from python-jose to PyJWT (#1203)
1 parent 13f4e84 commit ef1f64b

File tree

5 files changed

+26
-227
lines changed

5 files changed

+26
-227
lines changed

backend/app/api/deps.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from collections.abc import Generator
22
from typing import Annotated
33

4+
import jwt
45
from fastapi import Depends, HTTPException, status
56
from fastapi.security import OAuth2PasswordBearer
6-
from jose import JWTError, jwt
7+
from jwt.exceptions import InvalidTokenError
78
from pydantic import ValidationError
89
from sqlmodel import Session
910

@@ -32,7 +33,7 @@ def get_current_user(session: SessionDep, token: TokenDep) -> User:
3233
token, settings.SECRET_KEY, algorithms=[security.ALGORITHM]
3334
)
3435
token_data = TokenPayload(**payload)
35-
except (JWTError, ValidationError):
36+
except (InvalidTokenError, ValidationError):
3637
raise HTTPException(
3738
status_code=status.HTTP_403_FORBIDDEN,
3839
detail="Could not validate credentials",

backend/app/core/security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from datetime import datetime, timedelta
22
from typing import Any
33

4-
from jose import jwt
4+
import jwt
55
from passlib.context import CryptContext
66

77
from app.core.config import settings

backend/app/utils.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
from typing import Any
66

77
import emails # type: ignore
8+
import jwt
89
from jinja2 import Template
9-
from jose import JWTError, jwt
10+
from jwt.exceptions import InvalidTokenError
1011

1112
from app.core.config import settings
1213

@@ -112,5 +113,5 @@ def verify_password_reset_token(token: str) -> str | None:
112113
try:
113114
decoded_token = jwt.decode(token, settings.SECRET_KEY, algorithms=["HS256"])
114115
return str(decoded_token["sub"])
115-
except JWTError:
116+
except InvalidTokenError:
116117
return None

0 commit comments

Comments
 (0)