Аутентификация JWT с помощью Django REST Framework

Опубликовано: 1 Декабря, 2021

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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.

Следующий
Реализуйте аутентификацию токена с помощью Django REST Framework
Рекомендуемые статьи
Страница :
Статья предоставлена:
Итсвинаяк
@itsvinayak
Голосуйте за трудности
Текущая сложность: средняя
Теги статьи:
  • Проект
  • Python
  • Технический скриптер
  • Написать из дома
Сообщить о проблеме
Python Technical Scripter Проект

РЕКОМЕНДУЕМЫЕ СТАТЬИ