Куки отсутствуют в React, но отсутствуют в Django

Я использую SimpleJWT и RestFramework для аутентификации. Токены хранятся в cookies после завершения входа и запрос отправляется на login api, который находится в React.

class CustomTokenObtainPairView(TokenObtainPairView):

def post(self, request, *args, **kwargs):
    serializer = self.get_serializer(data=request.data)

    try:
        serializer.is_valid(raise_exception=True)
    except TokenError as e:
        raise InvalidToken(e.args[0])
       
      # set access token in browser with Httponly cookie.
    res = Response(serializer.validated_data, status=status.HTTP_200_OK)
    access_token = serializer.validated_data['access']
    res.set_cookie("access_token", access_token, max_age=settings.SIMPLE_JWT.get('ACCESS_TOKEN_LIFETIME').total_seconds(),samesite='Lax',secure=False, httponly=True)
    
    return res

Куки, доступные из Django:

print(request.COOKIES)

возвращает:

{'userVisitedBefore': 'true', 'tabstyle': 'html-tab', 'csrftoken': 'NECdxoDLb6fszteb8dB11ELh9l2keYUuHM13AaRAxHUHX45GJ9URloJnia9GrqCS', 'sessionid': 'jjafw09sok8wa05756ntjNr6nwxhg6q0', 'access_token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1niJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjM0NTY1ODk0LCJpYXQiOjE2MzQ1NjQ5OTQsImp0aSI6Ijc1ZGY0Njc4MzY1ZDRlNjc5NDM1NTRlMTgzMTU5Nzc1IiwidXNlcl9pZCI6MX0.2Ew92rRIRvoxylpgRu4uGnRGdOuoPV7NSgmGxzS6bnw'}

Куки, доступные из React:

const cookies = new Cookies();
console.log(cookies.getAll([]))

возвращает это без access_token и id сессии:

{userVisitedBefore: 'true', tabstyle: 'html-tab', csrftoken: 'NECdxoDLb6fszteb8dB11ELh9l2keYUuhM13AaRAxHUHX45GJ9URloJnia9GrqCS'}

Для всех интересующихся: Моим "решением" было сохранение токена в Cookies через universal-cookie, которые затем были доступны как из Django Views, так и из React Frontend. Также вместо сохранения их через CustomTokenObtainView, я сохранил их непосредственно в компоненте React Login следующим образом:

axiosInstance
        .post(`api/token/`, {
            email: formData.email,
            password: formData.password,
        })
        .then((res) => {
            cookies.set('access_token', localStorage.getItem('access_token'), { path: '/'});
            axiosInstance.defaults.headers['Authorization'] =   'JWT ' + localStorage.getItem('access_token');
            history.push("");
            location.reload();
        }).catch(err => console.log(err));
Вернуться на верх