Django DRF: Не получен куки токена обновления в TokenRefreshView
Я работаю над проектом Django REST Framework с JWT-аутентификацией. Я пытаюсь реализовать механизм обновления токена, используя только HTTP-куки, но у меня возникают проблемы с получением куки токена обновления в моем TokenRefreshView.Токен, установленный в представлении SignIn
Вот мой вид SignIn, где я устанавливаю cookie:
class SignIn(viewsets.ViewSet):
def post(self, request):
# ... authentication logic ...
if user.check_password(password) and user.is_active:
token = RefreshToken.for_user(user)
context = {
"detail": "Sign in successful",
"user": user_data,
"token": str(token.access_token),
}
response = Response(context, status=status.HTTP_200_OK)
response.set_cookie(
"refresh_token",
str(token),
httponly=True,
max_age=settings.SIMPLE_JWT["REFRESH_TOKEN_LIFE_TIME"].total_seconds(),
)
return response
Вот мой вид обновления токена
class TokenRefreshView(viewsets.ViewSet):
def post(self, request):
refresh_token = request.COOKIES.get("refresh_token")
print(request.COOKIES) # This prints an empty dict
print("refresh", refresh_token) # This prints "refresh None"
if not refresh_token:
return Response(
{"error": "Refresh token not found"},
status=status.HTTP_404_NOT_FOUND,
)
# ... rest of the view ...
Конфигурация Axios
axios.defaults.withCredentials = true;