Есть ли способ сделать JWT в собственном пользовательском представлении?
Я пытался узнать о JWT и использовал rest_framework_simplejwt и djoser, и в обоих случаях они предоставляют представление для создания JWT (вход в систему), и это заставляет меня задуматься, есть ли способ создать JWT в собственном пользовательском представлении?
Да, можете.
Для библиотеки - djangorestframework-simplejwt
Если вы просмотрите их документацию, вы увидите, что вы можете создавать токен в пользовательских представлениях, как показано ниже.
from rest_framework_simplejwt.tokens import RefreshToken
def some_function(user):
refresh = RefreshToken.for_user(user)
return {
'refresh': str(refresh),
'access': str(refresh.access_token),
}
Здесь
refresh - это токен обновления, а refresh.access_token передаст вам ваш токен доступа. Вы можете реализовать это в любом представлении, которое захотите. Кстати, user вот объект User из базы данных.