Мне нужно получить JWT без активации в админке юзера. Не пойму как это сделать.
settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
# 'rest_framework.permissions.IsAdminUser',
'rest_framework.permissions.AllowAny',
),
'PAGE_SIZE': 10,
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
#'rest_framework.authentication.TokenAuthentication',
#'rest_framework.authentication.BasicAuthentication',
#'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PAGINATION_CLASS':
'rest_framework_json_api.pagination.PageNumberPagination',
#'TEST_REQUEST_DEFAULT_FORMAT': 'json',
}
JWT_AUTH = {
'JWT_EXPIRATION_DELTA': datetime.timedelta(days=2),
'JWT_ALLOW_REFRESH': True,
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7) # default
}
DJOSER = {
'SEND_ACTIVATION_EMAIL': True,
'SEND_CONFIRMATION_EMAIL': True,
'ACTIVATION_URL': 'auth/activate/{uid}/{token}/',
'PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND': True,
'PASSWORD_RESET_CONFIRM_URL': 'auth/reset/confirm/{uid}/{token}/',
'TOKEN_MODEL': None
}
SIMPLE_JWT = {
'AUTH_HEADER_TYPES': ('JWT' ,),
}
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/base-auth/', include('rest_framework.urls')),
path('api/v1/shops/', include('shop.urls')),
path('api/v1/auth/', include('djoser.urls')),
path('api/v1/auth_token/', include('djoser.urls.authtoken')),
path('auth/', include('djoser.urls')),
path('api-auth/', include('rest_framework.urls')),
path('auth/', include('djoser.urls.jwt')),
path('', YozjkeView.as_view()),
]
views.py
class YozjkeView(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
return Response({'key': 'GRIBAN YSATIU'})
Через POSTMAN я создаю пользователя
Далее если пытаюсь получить JWT токен сразу то получаю ошибку, что для начала нужно его активировать
{
"detail": "No active account found with the given credentials"
}
После активации пользователя в админке DRF я делаю еще один запрос и получаю уже сам токен
Как мне получить токен пользователя не активируя его в админке DRF?