Django OAuth2 Toolkit

Я использую инструментарий django oauth2. Может ли кто-нибудь помочь мне в понимании?

  1. I am able to Signup the user based on the extended AbstractUser model.
  2. Based on Signup details, I'm able to authenticate the user by entering username, password, client_id, client_secret & grant_type.
  3. After entering login credentials, id & secret in these (127.0.0.1:8000/o/token/), I'm able to get the access & refresh token
  4. When getting the access_token, How can I pass the user details along with access_token. Can anyone please help me in sorting out these. I'm using Postman.

Serializers.py

from rest_framework import serializers
from django.contrib.auth import authenticate
from rest_framework.response import Response
from django.contrib.auth import get_user_model
User = get_user_model()

class UserSerializer(serializers.ModelSerializer):
    
    class Meta:
        model = User
        fields = ('first_name','last_name','username','password','email','date_of_birth',
                  'profile_image','bio','role','gender')
        extra_kwargs = {'is_staff': {'write_only':True},
                        'is_active':{'write_only':True},
                        'password':{'write_only':True}}

    def create(self, validated_data):
        return User.objects.create_user(**validated_data)

Views.py

from django.shortcuts import render
from rest_framework import generics, permissions, serializers, viewsets
from rest_framework.response import Response
from oauth2_provider.contrib.rest_framework import TokenHasReadWriteScope, TokenHasScope
from users.serializers import UserSerializer
from users.models import User

# Create your views here.


class UserAPI(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = User.objects.all()

Urls.py

from django.urls import path, include
from rest_framework import routers
from rest_framework.routers import DefaultRouter
from users.views import UserAPI
from users import views


router = DefaultRouter()
router.register('users', views.UserAPI, basename='users')



urlpatterns = router.urls
Вернуться на верх