Как использовать JWT (JSON Web Tokens) с Django и Python для создания REST API для регистрации и входа в систему
Я пытаюсь реализовать JWT (JSON Web Tokens) в проекте Django. Но я не смог добиться того же. Можете ли вы помочь мне с некоторым учебником или советами или ссылками, чтобы изучить то же самое.
Я попытался использовать pyjwt в своем проекте, но маркер, генерируемый каждый раз, когда я обращался к API, был одинаковым для одного и того же адреса электронной почты пользователя и пароля.
1 ответ
JWT представляют собой комбинации из трех частей: заголовка, полезной нагрузки и контрольной подписи (см. Изображение ниже), они могут нести информацию о пользователе (имя, идентификатор и т. Д.) Или даже время истечения токена. Таким образом, если ни одна из этих сведений не изменится, токен будет таким же.
Каждый раз, когда пользователь входит в систему, токен будет генерироваться с использованием его информации (имя пользователя, идентификатор, адрес электронной почты и т. Д.). Если эта информация не изменится, токен не изменится. Если время истечения не добавлено в токен, то каждый раз, когда пользователь регистрируется, новое время истечения будет сгенерировано и добавлено в токен, создавая новое. Когда токен истекает, клиент может запросить новый токен доступа (обновить)
связи
- JWT: Официальный сайт
- Аутентификация без сохранения состояния с использованием JWT
- Обновить токены
- Фреймворк Django REST JWT: еще один пакет для поддержки аутентификации JWT для фреймворка Django REST