Итак, у меня есть API отдыха для моего приложения Django «Управление временем».Я использую авторизацию JWT (JSON Web Token) для своего API.У меня есть все настройки и представления, но я не совсем понял, как это работает на самом деле.У меня есть клиент для моего приложения, который будет использовать эти токены авторизации для добавления посещаемости.
Вот мой проект url.py
:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
urlpatterns = [
path('', admin.site.urls),
path('time/', include('timemanagement.urls')),
path('api-auth', include("rest_framework.urls")),
path('api/token/', TokenObtainPairView.as_view()),
path('api/token/refresh/', TokenRefreshView.as_view()),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Проблема 1. В основном, когда мое приложение запускается впервыевверх, что я хочу это сделать?Я предполагаю, что мне нужно сначала сделать запрос к 'myserver.com/api/token/'
с моим именем пользователя и паролем в качестве заголовков, но я не знаю, как бы я это сделал с библиотекой Python Requests.
Проблема 2 - Допустим, мой токен истек.Как мое клиентское приложение узнает об этом?(Отправляя запрос с этим токеном, я предполагаю, что получу ошибку?) Если да, то как мне обработать эту ошибку, чтобы получить новый токен?И что, если срок действия этого токена также истекает, потому что 'api/token/refresh/'
дает только один токен на этот раз без токена обновления.
Кроме того, каждый раз, когда загружается мое приложение, я должен запрашивать новый токен из 'api / token'с моими учетными данными администратора или будет только один токен для одного приложения, которое будет обновляться снова и снова.Я не использую POSTMAN, я буду использовать библиотеку запросов Python.
Спасибо за ваше время,