如何覆盖用户保存Django allauth.socialaccounts
我需要重写自定义OAuth2Adapter中的用户保存方法。我怎么能做到? 我需要在我的用户模型中保存一些特殊字段 auth\u provider/views.py如何覆盖用户保存Django allauth.socialaccounts,django,django-allauth,Django,Django Allauth,我需要重写自定义OAuth2Adapter中的用户保存方法。我怎么能做到? 我需要在我的用户模型中保存一些特殊字段 auth\u provider/views.py import requests from allauth.socialaccount.providers.oauth2.views import ( OAuth2Adapter, OAuth2CallbackView, OAuth2LoginView, ) from config.settings.base
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)