Получить пользователя из токена обновления в TokenRefreshView Django Simple JWT

#django #django-rest-framework #django-rest-framework-simplejwt

#django #django-rest-framework #django-rest-framework-simplejwt

Вопрос:

Я пытаюсь проверить, существует ли пользователь все еще при обновлении токена, возвращая обновленные данные пользователя (если они обновлены) при обновлении токена. Есть ли способ получить данные пользователя из токена обновления? [request.user] в настоящее время помечен как AnonymousUser, поэтому я не могу знать, кому принадлежит токен обновления.

Ответ №1:

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

  • конечная точка для обновления токена,
  • конечная точка для получения сведений о пользователе.

Пожалуйста, взгляните на пакет Djoser. Он имеет предопределенные представления и URL-адреса, которые вы можете использовать повторно.

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