Конфигурация JWT в Джанго - PullRequest
0 голосов
/ 06 декабря 2018

Я разрабатываю приложение Django для Windows с Pyhton 2.7.15.Мне нужно реализовать механизм аутентификации, где, если у пользователя есть определенный токен JWT, он может просматривать приложение (другими словами, мне просто нужно проверить токен, а не генерировать его).Маркер очень прост и, возможно, будет примерно таким:

Заголовок

{
  "alg": "HS256",
  "typ": "JWT"
}

Полезная нагрузка

{
  "iss": "customIssuer"
}

Подпись

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  secret
)

Чтобы реализовать службу проверки, я установил инструменты Rest Framework JWT и изменил свой setting.py следующим образом:

...

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.TokenAuthentication'
    ),
}

JWT_AUTH = {
    'JWT_ISSUER': 'customIssuer'
}

...

затем я изменил urls.py:

...

from rest_framework_jwt.views import verify_jwt_token

urlpatterns = [
    ...
    url(r'^api-token-verify/', verify_jwt_token),
    ...
]

Наконец, используя Postman, я попытался отправить запрос POST с указанным выше токеном, но я получил ошибку 400 Bad Error с этим телом:

{
    "non_field_errors": [
        "Invalid payload."
    ]
}

Расследование причин, по которым я понимаю, что должен добавить утверждение имени пользователя в полезную нагрузку, но не хочу.Можно ли настроить приложение на игнорирование этой заявки?

...