Настройки Django Rest Framework для разрешения аутентификации из Flutter с использованием ключа аутроизации

В настоящее время я пытаюсь получить данные с помощью Flutter из Django rest framework следующим образом:

  final response = await http.get(
    url,
    headers: {
      HttpHeaders.authorizationHeader:
          'Authorization: Bearer ......bla bla ..........',
    },
  );

но я продолжаю получать {detail: Authentication credentials were not provided.} и из терминала Django Rest Framework он показывает: Forbidden: /api/dj-rest-auth/user/

Вот Django settings.py:

INSTALLED_APPS = [
.......................
    'rest_framework',
    'users',
    'corsheaders',
    'django.contrib.sites',
    'rest_framework.authtoken',
    'dj_rest_auth',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'dj_rest_auth.registration',
]


# REST_FRAMEWORK = {
#     'DEFAULT_PERMISSION_CLASSES': [
#     'rest_framework.permissions.AllowAny',
#
# ]}
REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    )
}

CORS_ALLOW_ALL_ORIGINS=True
AllowAny =True

Когда я пытался использовать 'rest_framework.permissions.AllowAny'

возврат запрещен при использовании

'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',)

возврат Unauthorized

вот views.py:

@csrf_exempt
def aPage(request):
    user:User=User.objects.get(pk=1)
    username=request.POST.get("username")
    email=request.POST.get("email")
    print(email)
    print(username)
    return JsonResponse({"Username":username , "email": email})

Как я могу отправить аутентификацию вошедшего пользователя, используя его токен, чтобы позволить ему получить данные из api? Что я делаю неправильно, что приводит к таким ошибкам?

Значение HttpHeaders.authorizationHeader равно "authorization" из-за этого он посылает недействительные заголовки попробуйте так

headers: {
      HttpHeaders.authorizationHeader: 'Bearer xxxxxxxx',
},
Вернуться на верх