Аутентификация JWT с помощью Django REST Framework
JSON Web Token - это открытый стандарт для безопасной передачи данных внутри сторон с использованием объекта JSON. JWT используется для механизмов аутентификации без сохранения состояния для пользователей и поставщиков, это означает, что поддержание сеанса происходит на стороне клиента, а не на сервере. Здесь мы реализуем систему аутентификации JWT в Django.
- django: Установка Django
- djangorestframework_simplejwt:
pip установить djangorestframework_simplejwt
Базовая настройка:
Запустите проект с помощью следующей команды -
Конфигурация запуска проекта django-admin
Измените каталог на конфигурацию проекта -
cd config
Запустите сервер. Запустите сервер, набрав следующую команду в терминале -
сервер запуска python manage.py
Чтобы проверить, запущен ли сервер или нет, откройте веб-браузер и введите http://127.0.0.1:8000/ в качестве URL-адреса.
Теперь остановите сервер, нажав
ctrl-c
Теперь давайте создадим приложение под названием «приложение».
приложение python manage.py startapp
добавление конфигурации в файл settings.py:
откройте файл settings.py в папке config и добавьте конфигурацию.
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES' : [ 'rest_framework_simplejwt.authentication.JWTAuthentication' , ], } |
редактировать файл urls.py
откройте urls.py в папке конфигурации
from django.urls import path, include from rest_framework_simplejwt import views as jwt_views urlpatterns = [ path( 'api/token/' , jwt_views.TokenObtainPairView.as_view(), name = 'token_obtain_pair' ), path( 'api/token/refresh/' , jwt_views.TokenRefreshView.as_view(), name = 'token_refresh' ), path(' ', include(' app.urls')), ] |
редактировать views.py
откройте views.py в папке приложения и сделайте представление API
from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.permissions import IsAuthenticated class HelloView(APIView): permission_classes = (IsAuthenticated, ) def get( self , request): content = { 'message' : 'Hello, GeeksforGeeks' } return Response(content) |
редактировать urls.py
создайте urls.py в папке приложения и отредактируйте его
from django.urls import path from . import views urlpatterns = [ path( 'hello/' , views.HelloView.as_view(), name = 'hello' ), ] |
Применение :
Чтобы сделать HTTP-запрос, мы использовали HTTPie, чтобы установить его.
$ sudo apt установить httpie
Шаг 1 :
перенести проект, создать суперпользователя и сервер выполнения
$ python3 manage.py мигрировать
$ python manage.py создает суперпользователя
$ python manage.py runserver 4000
Шаг 2 :
Теперь нам нужно пройти аутентификацию и получить токен. который мы получим в конечной точке, это
/ API / токен /
$ http post http://127.0.0.1:4000/api/token/ имя пользователя = пароль паука = vinayak
добавьте свое имя пользователя и пароль
Шаг 3 :
скопировать токен доступа и сделать запрос
$ HTTP http://127.0.0.1:4000/hello/ "Авторизация: Знаменосец eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTg3Mjc5NDIxLCJqdGkiOiIzYWMwNDgzOTY3NjE0ZDgxYmFjMjBiMTBjMDlkMmYwOCIsInVzZXJfaWQiOjF9.qtNrUpyPQI8W2K2T22NhcgVZGFTyLN1UL7uqJ0KnF0Y"
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.