Как я могу переопределить сохранение пользователем Django allauth.socialaccounts

#django #django-allauth

#django #django-allauth

Вопрос:

Мне нужно переопределить метод сохранения пользователя в моем пользовательском OAuth2Adapter. Как я могу это сделать? Мне нужно сохранить некоторые специальные поля в моей пользовательской модели

auth_provider/views.py

 import requests
from allauth.socialaccount.providers.oauth2.views import (
    OAuth2Adapter,
    OAuth2CallbackView,
    OAuth2LoginView,
)

from config.settings.base import EXAMPLE_URLS
from app.users.auth_provider.provider import ExampleProvider


class ExampleAdapter(OAuth2Adapter):
    provider_id = ExampleProvider.id
    access_token_url = EXAMPLE_URLS["web"]   "oauth/token"
    authorize_url = EXAMPLE_URLS["web"]   "oauth/authorize"
    profile_url = EXAMPLE_URLS["api"]   "me"

    def complete_login(self, request, app, access_token, **kwargs):
        headers = {"Authorization": "Bearer %s" % access_token}
        extra_data = requests.get(self.profile_url, headers=headers)

        return self.get_provider().sociallogin_from_response(request, extra_data.json())


oauth2_login = OAuth2LoginView.adapter_view(ExampleAdapter)
oauth2_callback = OAuth2CallbackView.adapter_view(ExampleAdapter)