5.11 Реализация аутентификации с помощью OAuth2 и JWT
7 из 7 шагов пройдено
2 из 2 баллов  получено

Запустим сервер используя команду uvicorn app.main:app --reload и откроем документацию. И мы увидим конечную точку Login.

Попробуем отправить запрос, введя валидные параметры в поле username и password:

Добавим конечную точку в файле auth.py, у которой будет установлена зависимость от oauth2_scheme

@router.get('/read_current_user')
async def read_current_user(user: User = Depends(oauth2_scheme)):
    return user

И посмотрим на изменения документации. Во первых у нас появится кнопка авторизации:

А во вторых у этой конечной точки появится значок закрытого замочка. 

Нажмем на кнопку «Authorize» в правом верхнем углу документации. Кнопка вызовет появление встроенной формы входа, показанной на скриншоте ниже, которую мы можем использовать для тестирования нашего кода:

Мы видим, что форма входа OAuth2 обнаруживает правильный URL-адрес токена, указанный в экземпляре OAuth2PasswordBearer. Параметр Flow или grant_type, указанный в форме входа, должен быть «password». После регистрации проверенных учетных данных кнопка «Authorize» перенаправит пользователя на окно, показанное на скриншоте ниже, в котором предложит пользователю выйти из системы или продолжить авторизованный доступ

Более того, вы заметите, что значок замка в защищенной конечной точки API стал закрыт. Это указывает на то, что эта конечная точка готова к выполнению, поскольку пользователь уже прошел аутентификацию:

Попробуем выполнить запрос:

В следующем шаге мы добавим технологию JWT к реализации нашей авторизации.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.