JWT Auth в FastAPI | Выпуск и проверка токена | Пароль и шифрование через bcrypt

Описание к видео JWT Auth в FastAPI | Выпуск и проверка токена | Пароль и шифрование через bcrypt

Рассмотрим тему JSON Web Token (JWT). Расскажу, что такое JWT и какие готовые библиотеки можно использовать для FastAPI.
Напишем свои обертки для выпуска и проверки токена при помощи PyJWT, а также обертки для хэширования и проверки пароля пользователя через bcrypt.
Реализуем вход пользователя через форму.
Установим срока жизни токена, добавим проверку валидности токена.
Научимся извлекать токен из запроса с через HTTPBearer (который возвращает HTTPAuthorizationCredentials) и при помощи OAuth2PasswordBearer.

Большое спасибо всем, кто поддерживает лайком, комментарием, а также материально!
Поддержать выход роликов (зарплата монтажеру)
- через Tinkoff https://tinkoff.ru/cf/6kbKWtKhapM
- бусти https://boosty.to/mahenzon
- sponsr https://sponsr.ru/suren/
- через CloudTips https://pay.cloudtips.ru/p/9a8fa641

Ссылки на соцсети:
- Канал и чат в ТГ https://t.me/Khorenyan
- Паблик в ВК https://vk.com/surenkhorenyan
- YouTube:    / @surenkhorenyan  
- RuTube https://rutube.ru/channel/29899055/

Видео №6 из серии роликов про FastAPI

Код тут: https://github.com/mahenzon/micro-sho...


Метки:
00:00 Начало. Про Auth
01:00 Что такое JWT
04:00 Готовые библиотеки
07:34 Ставим PyJWT
08:16 Генерация пары ключей
13:25 Настройки
15:15 Код. Свои обертки
20:10 Как пускать пользователя (через форму)
22:29 Как шифровать пароль
27:01 Создание пользователей и хэширование паролей
29:17 Выпуск токена для пользователя
35:01 Срок жизни токена
39:12 Вход пользователя (форма)
43:08 Наш токен выпущен. Что внутри? Проверка подписи
45:20 Как проверять токен в коде?
48:20 Как вытащить токен из запроса: HTTPBearer
50:38 А что приходит? Знакомство с HTTPAuthorizationCredentials
51:57 Проверка токена
54:55 Повторный проход по шагам проверки
55:48 Обработка невалидного токена
58:27 Вход по токену
01:02:01 Подытог
01:02:27 Упрощение входа в документацию через OAuth2PasswordBearer
01:07:05 Что получилось
01:08:35 Огромное спасибо

Комментарии

Информация по комментариям в разработке