Найти существующий токен JWT для пользователя - PullRequest
0 голосов
/ 27 марта 2020

У меня есть функция для ручного создания нового AccessToken для пользователя (с использованием библиотеки rest_framework_simplejwt):

from rest_framework_simplejwt.tokens import AccessToken

def create_access_token_for_user(user):
    access_token = AccessToken.for_user(user)

Теперь я пытаюсь написать тест, чтобы убедиться, что это на самом деле работает, как и ожидалось, и я не могу найти какой-либо способ получить AccessToken для данного пользователя. Тест должен выглядеть примерно так:

def test_access_token_created(client):
    user = create_user()
    create_access_token_for_user(user)

    access_token = AccessToken.get_token_for_user(user)  # This, but real

    assert access_token is not None  # Or some check to see if it exists

rest_framework_simplejwt docs , похоже, не имеет ничего, что делает это, или, по крайней мере, ничего, что я смог правильно использовать.

1 Ответ

1 голос
/ 27 марта 2020

Я не знаю точную реализацию библиотеки, но обычно JWT не имеет состояния, что означает, что он не хранится нигде на вашем сервере (не в вашей базе данных), поэтому не думайте о AccessToken как о Модель, к которой можно обратиться, чтобы найти связанного пользователя или какой токен был сгенерирован для какого пользователя.

Кроме того, обычно нет необходимости тестировать внешнюю библиотеку, по крайней мере, если она популярна. Вы можете сослаться на тесты, написанные разработчиками, доступные в официальном репозитории.

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