feat: добавлен обработчик аутентификации
All checks were successful
Lint project / lint (push) Successful in 45s
All checks were successful
Lint project / lint (push) Successful in 45s
- Создан новый модуль `handlers.py` для управления аутентификацией. - Добавлена класс `AuthHandler` с методом для генерации хэшей паролей. - Использование библиотеки `passlib` для обеспечения безопасного хранения паролей.
This commit is contained in:
parent
623e9ba325
commit
c0ee89f175
28
lkeep/apps/auth/handlers.py
Normal file
28
lkeep/apps/auth/handlers.py
Normal 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)
|
Loading…
x
Reference in New Issue
Block a user