deleted-user-auth-fix: удаленный пользователь не может авторизоваться
This commit is contained in:
parent
ab2c1151fa
commit
2a88240dd9
@ -36,9 +36,9 @@ async def get_user_by_token(
|
|||||||
|
|
||||||
user_repo = UserRepository(db)
|
user_repo = UserRepository(db)
|
||||||
user = await user_repo.get_by_username(username)
|
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)
|
user = await user_repo.get_by_email(username)
|
||||||
if user is None:
|
if user is None or not user.is_active:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
detail="Пользователь не найден",
|
detail="Пользователь не найден",
|
||||||
|
|||||||
@ -14,7 +14,7 @@ class AuthService:
|
|||||||
|
|
||||||
async def authenticate_user(self, username: str, password: str) -> Optional[Token]:
|
async def authenticate_user(self, username: str, password: str) -> Optional[Token]:
|
||||||
user = await self.user_repo.authenticate(username, password)
|
user = await self.user_repo.authenticate(username, password)
|
||||||
if not user:
|
if not user or not user.is_active:
|
||||||
return None
|
return None
|
||||||
access_token = create_access_token(data={"sub": user.username})
|
access_token = create_access_token(data={"sub": user.username})
|
||||||
refresh_token = create_refresh_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]:
|
async def authenticate_user_via_email(self, email: str) -> Optional[Token]:
|
||||||
user = await self.user_repo.authenticate_via_email(email)
|
user = await self.user_repo.authenticate_via_email(email)
|
||||||
if not user:
|
if not user or not user.is_active:
|
||||||
return None
|
return None
|
||||||
access_token = create_access_token(data={"sub": user.email})
|
access_token = create_access_token(data={"sub": user.email})
|
||||||
refresh_token = create_refresh_token(data={"sub": user.email})
|
refresh_token = create_refresh_token(data={"sub": user.email})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user