feat: добавлен обработчик аутентификации
All checks were successful
Lint project / lint (push) Successful in 45s

- Создан новый модуль `handlers.py` для управления аутентификацией.
- Добавлена класс `AuthHandler` с методом для генерации хэшей паролей.
- Использование библиотеки `passlib` для обеспечения безопасного хранения паролей.
This commit is contained in:
proDream 2025-01-11 02:30:55 +04:00
parent 623e9ba325
commit c0ee89f175

View File

@ -0,0 +1,28 @@
from passlib.context import CryptContext
from lkeep.core.settings import settings
class AuthHandler:
"""
Обрабатывает аутентификационные запросы и обеспечивает безопасность пользовательских данных.
:ivar secret: Секретный ключ, используемый для дополнительной безопасности при генерации хешей.
:type secret: str
:ivar pwd_context: Контекст для использования bcrypt-алгоритма хеширования паролей.
:type pwd_context: CryptContext
"""
secret = settings.secret_key.get_secret_value()
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
async def get_password_hash(self, password: str) -> str:
"""
Генерирует хэш-значение пароля для безопасного сохранения и сравнения.
:param password: Пароль пользователя, который нужно зашифровать.
:type password: str
:returns: Хешированный вариант пароля.
:rtype: str
"""
return self.pwd_context.hash(password)