Аутентификация на предъявителя не работает на мобильных, но работает на ПК ( react, django )

Я написал приложение React с бэкендом на Django, которое отлично работает на ПК. Однако, когда я открываю его на iPhone (ios 15), оно не включает Authenticate: Bearer 'my_token'.

const getStats = async () => {
    console.log(accessToken)
    let response = await fetch('http://192.168.1.2:8000/api/getstats', {
        method: 'GET',
        headers: {
            'Content-Type': 'application/json',
            'Accept': 'application/json',
            'Authorization': 'Bearer ' + String(accessToken),
            
        },
    })

Django получает этот заголовок при получении запросов на ПК:

{'Content-Length': '', 'Content-Type': 'application/json', 'Host': '192.168.1.2:8000', 'Connection': 'keep-alive', 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjQwMDI3NTExLCJpYXQiOjE2NDAwMjYzMTEsImp0aSI6Ijk0OTdlZGZjZWEzYzQwMTJiYzc5YjQ2ODc4YWJiYWQ2IiwidXNlcl9pZCI6MiwiZW1haWwiOiJ5YnJvdmNAZ21haWwuY29tIn0.nKdBwT4XmKSWlqMP3EYF_pXpLgJAjDR_XuaSsummgbQ', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', 'Accept': '*/*', 'Origin': 'http://192.168.1.2:3000', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'}

Как видите, токен аутентификации был предоставлен, и все работает нормально

{'Content-Length': '', 'Content-Type': 'application/json', 'Host': '192.168.1.2:8000', 'Origin': 'http://192.168.1.2:3000', 'Accept': '*/*', 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/96.0.4664.101 Mobile/15E148 Safari/604.1', 'Accept-Language': 'en-GB,en;q=0.9', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive'}

Этот Django получает в качестве заголовка, когда я отправляю запрос с iPhone.

А это моя функция на Django, которая выводит эти заголовки

@api_view(['GET'])
# @permission_classes([IsAuthenticated])
def getStats(request):
    print(request.headers)
    print(request.user)
    all_cart_elems = Cart.objects.all()
    all_orders = Orders.objects.all()
    all_users = Telegram_users.objects.all()
    print(len(all_cart_elems))
    data = {
        'cart_elems': len(all_cart_elems),
        'orders': len(all_orders),
        'all_users': len(all_users)
    }
    return Response(data)

Мне очень нужна ваша помощь, я думал об этом весь день!

Вернуться на верх