Django oauth2 с использованием электронной почты вместо имени пользователя

авторизация:

from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
from rest_framework_simplejwt.views import TokenObtainPairView


class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
    @classmethod
    def get_token(cls, user):
        token = super().get_token(user)
        token['email'] = user.email
        return token


class MyTokenObtainPairView(TokenObtainPairView):
    serializer_class = MyTokenObtainPairSerializer

урлы:

from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
from rest_framework_simplejwt.views import TokenRefreshView
from api.authorization import MyTokenObtainPairView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('api.urls')),
    path('api/token/', MyTokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),

] + static(
        settings.MEDIA_URL,
        document_root=settings.MEDIA_ROOT
    )

Я получаю "имя пользователя": ["Это поле обязательно"], когда я пытаюсь опубликовать свою информацию, я использую электронную почту и пароль. Я видел, что кто-то использует авторизацию, поэтому попробовал, но, похоже, ничего не вышло. Не знаю, где я напортачил.

{
"email": "aleksa@gmail.com",
"password": "Admin!123"
}
Вернуться на верх