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

Атрибут username

Атрибут username относится к классу HTTPBasicCredentials и содержит имя пользователя, которое клиент передал в заголовке Authorization при HTTP Basic аутентификации. FastAPI автоматически декодирует заголовок и заполняет этот атрибут строкой. Атрибут доступен только для чтения в рамках обработчика запроса.

Синтаксис

credentials.username

Пример

Давайте создадим приложение, которое принимает HTTP Basic аутентификацию и возвращает имя пользователя из атрибута username:

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

Результат выполнения кода для пользователя 'user' с паролем 'abcde':

{"username": "user"}

Пример

Давайте проверим имя пользователя и вернём приветствие только для корректного логина:

from fastapi import FastAPI, Depends, HTTPException from fastapi.security import HTTPBasic, HTTPBasicCredentials app = FastAPI() security = HTTPBasic() @app.get('/login') def login(credentials: HTTPBasicCredentials = Depends(security)): if credentials.username != 'user': raise HTTPException(status_code=401, detail='Invalid username') return {'message': 'hello', 'username': credentials.username}

Результат выполнения кода для корректного пользователя 'user':

{"message": "hello", "username": "user"}

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

  • класс HTTPBasicCredentials,
    который хранит данные HTTP Basic аутентификации
  • атрибут password,
    который хранит пароль из HTTP Basic аутентификации
  • класс HTTPBasic,
    который извлекает данные из заголовка Authorization
  • функция Depends,
    которая внедряет зависимость HTTPBasic в обработчик
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить