Как установить пользовательский JWT в django с помощью dj-rest-auth
Я создал систему JWT-аутентификации на бэкенде, используя django, dj-rest-auth и simpleJWT. В настоящее время dj-rest-auth устанавливает JWT по умолчанию в куки ответа. Чтобы использовать пользовательские куки, я должен использовать /token и /token/refresh урлы от simpleJWT. Таким образом, тестируя в postman или swagger, я не получаю пользовательских JWT ни в теле ответа, ни в cookies (кроме стандартных, предоставляемых dj-rest-auth).
Есть ли способ обойти это, чтобы я мог получать эти пользовательские JWT в виде куки или тела ответа? Я также использую социальную аутентификацию, поэтому эти токены должны присутствовать и в ответных JWT.
Мой файл urls.py
urlpatterns = [
path('', include(router.urls)),
path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
path('users/', include('dj_rest_auth.urls')),
path('users/registration/', CustomRegisterView.as_view(), name='custom_rest_register'),
]
serializer.py
class EnrichedTokenPairSerializer(TokenObtainPairSerializer):
@classmethod
def get_token(cls, user):
token = super().get_token(user)
// custom token logic
return token`
I am using
Django>=5.0.2
django-allauth>=0.61.1
djangorestframework>=3.14.0
djangorestframework-simplejwt>=5.2.2
dj-rest-auth>=5.0.2
Любые предложения будут полезны.
Я выполнил аутентификацию с помощью dj-rest-auth и simpleJWT. У меня есть пользовательская функция сериализатора токенов для создания пользовательских токенов, которые возвращаются из /token url в simpleJWT. Но при входе в систему через Postman эти пользовательские токены отсутствуют. Я хочу, чтобы они отправлялись с сервера либо в cookies, либо в теле ответа.