/
urusai
/
code_sample
Обзор
Документация
Войти
/
urusai
/
code_sample
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/services/security/base_http.py
29 строк
967 B
nick
init
30 сен 2024, 16:12
30 сен 2024, 16:12
c68451c
Код
Авторство
О чём код?
import secrets from fastapi import Depends, HTTPException from starlette import status from fastapi.security import HTTPBasic, HTTPBasicCredentials from di.markers import SettingsAPIMarker from settings.api.settings import SettingsApplication SECURITY_HTTP_AUTH = HTTPBasic() def get_username_http_auth( credentials: HTTPBasicCredentials = Depends(SECURITY_HTTP_AUTH), settings_app: SettingsApplication = Depends(SettingsAPIMarker), ): correct_username = secrets.compare_digest( credentials.username, settings_app.BASE_HTTP_AUTH_USERNAME ) correct_password = secrets.compare_digest( credentials.password, settings_app.BASE_HTTP_AUTH_PASSWORD ) if not (correct_username and correct_password): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Incorrect email or password", headers={"WWW-Authenticate": "Basic"}, ) return credentials.username