Атрибут password
Атрибут password принадлежит классу OAuth2PasswordRequestForm
и хранит строку с паролем пользователя, полученную из тела POST-запроса
при авторизации по схеме OAuth2 Password Flow.
Класс OAuth2PasswordRequestForm используется как зависимость
в обработчике маршрута, а его атрибут password доступен
через обращение к экземпляру формы.
Значение пароля приходит в поле password формы
с типом application/x-www-form-urlencoded.
Синтаксис
form.password
Пример
Давайте получим пароль пользователя из формы авторизации и вернём его длину:
from fastapi import FastAPI, Depends
from fastapi.security import OAuth2PasswordRequestForm
app = FastAPI()
@app.post('/token')
def login(form: OAuth2PasswordRequestForm = Depends()):
return {'password_length': len(form.password)}
Результат выполнения кода для пароля 'abcde':
{"password_length": 5}
Пример
Давайте проверим пароль пользователя и вернём результат проверки:
Результат выполнения кода для пароля 'abcde':
{"access": true}
Пример
Давайте используем атрибут password вместе с атрибутом username
для формирования ответа:
from fastapi import FastAPI, Depends
from fastapi.security import OAuth2PasswordRequestForm
app = FastAPI()
@app.post('/token')
def login(form: OAuth2PasswordRequestForm = Depends()):
return {
'user': form.username,
'password': form.password
}
Результат выполнения кода для пользователя 'user'
и пароля 'abcde':
{"user": "user", "password": "abcde"}
Смотрите также
-
класс
OAuth2PasswordRequestForm,
который представляет форму авторизации OAuth2 -
атрибут
username,
который хранит имя пользователя из формы -
класс
OAuth2PasswordBearer,
который извлекает токен из заголовка Authorization -
функция
Depends,
которая внедряет зависимость в обработчик маршрута