РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
233 of 307 menu

Класс HTTPBasicCredentials

Класс HTTPBasicCredentials применяется для представления учётных данных, переданных клиентом в заголовке Authorization по схеме Basic. FastAPI автоматически разбирает такой заголовок, декодирует Base64 и создаёт экземпляр этого класса. Класс имеет два обязательных атрибута: username (имя пользователя) и password (пароль). Обычно объект получают через зависимость с классом HTTPBasic, после чего проверяют учётные данные и возвращают пользователя или выбрасывают исключение HTTPException.

Синтаксис

from fastapi.security import HTTPBasicCredentials HTTPBasicCredentials(username, password)

Атрибуты

Класс содержит два атрибута, доступных только для чтения:

username - имя пользователя, извлечённое из заголовка.

password - пароль, извлечённый из заголовка.

Пример

Давайте получим объект HTTPBasicCredentials через зависимость HTTPBasic и выведем имя пользователя:

from fastapi import FastAPI, Depends from fastapi.security import HTTPBasic, HTTPBasicCredentials app = FastAPI() security = HTTPBasic() @app.get('/user') def user(credentials: HTTPBasicCredentials = Depends(security)): return {'username': credentials.username}

Результат выполнения кода при верных учётных данных:

{"username": "abcde"}

Пример

Давайте проверим имя пользователя и пароль, и при неверных данных вернём ошибку 401:

from fastapi import FastAPI, Depends, HTTPException from fastapi.security import HTTPBasic, HTTPBasicCredentials app = FastAPI() security = HTTPBasic() @app.get('/user') def user(credentials: HTTPBasicCredentials = Depends(security)): if credentials.username != 'abcde' or credentials.password != 'hello': raise HTTPException( status_code=401, detail='Incorrect username or password', headers={'WWW-Authenticate': 'Basic'}, ) return {'username': credentials.username}

Результат выполнения кода при верных учётных данных:

{"username": "abcde"}

Результат выполнения кода при неверных учётных данных:

{"detail": "Incorrect username or password"}

Смотрите также

  • класс HTTPBasic,
    который создаёт зависимость для Basic-аутентификации
  • атрибут username,
    который хранит имя пользователя
  • атрибут password,
    который хранит пароль пользователя
  • класс Security,
    который добавляет проверку scopes к зависимости
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить