fix(auth): сбрасывать Redis-кэш пользователя после подтверждения email

get_current_user кэширует пользователя в Redis на 5 минут. verify_email
не сбрасывал этот кэш после user.is_verified = True — если пользователь
до подтверждения хотя бы раз дёрнул защищённый эндпоинт (закешировался
как неверифицированный), он получал "Необходимо подтвердить email адрес"
ещё до 5 минут после реального подтверждения по ссылке из письма.
This commit is contained in:
jze9
2026-07-27 12:22:37 +05:00
parent 673e72a15a
commit 3af79e9d03

View File

@@ -12,6 +12,7 @@ from app.core.security import (
create_access_token,
get_current_user,
hash_password,
invalidate_user_cache,
verify_password,
)
from app.database import get_db
@@ -146,5 +147,6 @@ async def verify_email(token: str, db: AsyncSession = Depends(get_db)) -> dict:
user.is_verified = True
user.verification_token = None
await db.commit()
await invalidate_user_cache(user.id)
return {"message": "Email успешно подтверждён"}