Получение django rest framework jwt аутентификации для работы [django rest, angular 5] - PullRequest
0 голосов
/ 08 мая 2018

поэтому я установил djanogo rest Framework JWT и установил настройки и классы аутентификации. Согласно этому руководству. Я опущу настройки, так как они правильные, и проблема не в этом. Также не стоит размещать слишком много кода

https://getblimp.github.io/django-rest-framework-jwt/

Затем я вызываю представление авторизации на моем сервере из внешнего интерфейса

 let token = "hardcoded token just to get the service working"; 
    if(token != null){
      this.authservice.authorizetoken(token)
        .subscribe(
          (req: any)=>{
            console.log(req);
          }
        );

// grab the permissions a user has and who they are by token
    authorizetoken(token){
      return this.http.get(userauthorization, {
        headers: new HttpHeaders().set('Authorization', 'JWT' + token )
      });
    }

тогда в моем django вот код вида:

class UserAuthorization(APIView):
    authentication_classes = (JSONWebTokenAuthentication,)
    def get(self, request, *args, **kwargs):
        print(request.user)
        return Response({})

но я продолжаю возвращать anonymousUser. Разве это не должен быть пользовательский объект, так как я передаю токен в заголовке?

Я не знаю, что я делаю неправильно.

1 Ответ

0 голосов
/ 08 мая 2018

Согласно документации заголовки должны быть в формате Authorization: JWT <your_token>. Когда вы устанавливаете токен в заголовках внутри вашей функции authorizetoken, вы пропускаете пробел между 'JWT'+ token. Это может быть проблемой для не аутентификации пользователя. Вы пробовали конечную точку с почтальоном?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...