diff --git a/api/src/api/v1/deps.py b/api/src/api/v1/deps.py index 886297f..1093752 100644 --- a/api/src/api/v1/deps.py +++ b/api/src/api/v1/deps.py @@ -36,9 +36,9 @@ async def get_user_by_token( user_repo = UserRepository(db) user = await user_repo.get_by_username(username) - if user is None: + if user is None or not user.is_active: user = await user_repo.get_by_email(username) - if user is None: + if user is None or not user.is_active: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Пользователь не найден", diff --git a/api/src/services/auth_service.py b/api/src/services/auth_service.py index e1c926d..1f0e37f 100644 --- a/api/src/services/auth_service.py +++ b/api/src/services/auth_service.py @@ -14,7 +14,7 @@ class AuthService: async def authenticate_user(self, username: str, password: str) -> Optional[Token]: user = await self.user_repo.authenticate(username, password) - if not user: + if not user or not user.is_active: return None access_token = create_access_token(data={"sub": user.username}) refresh_token = create_refresh_token(data={"sub": user.username}) @@ -26,7 +26,7 @@ class AuthService: async def authenticate_user_via_email(self, email: str) -> Optional[Token]: user = await self.user_repo.authenticate_via_email(email) - if not user: + if not user or not user.is_active: return None access_token = create_access_token(data={"sub": user.email}) refresh_token = create_refresh_token(data={"sub": user.email})