Я использую Django rest auth в одном из моих проектов, и он поддерживает вход в Google.Он поддерживает все социальные провайдеры, которые поддерживает django-allauth
. Здесь - список поддерживаемых социальных провайдеров django-allauth и django-rest-auth
# social_auth_view.py
from rest_framework_jwt.authentication import JSONWebTokenAuthentication
from allauth.socialaccount.providers.google.views import GoogleOAuth2Adapter
from rest_auth.registration.views import SocialLoginView
class GoogleLogin(SocialLoginView):
adapter_class = GoogleOAuth2Adapter
# urls.py
urlpatterns += [
...,
url(r'^rest-auth/google/$', GoogleLogin.as_view(), name='google_login')
]
Итак, если вы хотите поддержать любого другого социального провайдера.
- Адаптер импорта для вашего социального провайдера из
allauth.socialaccount.providers
. - Создание нового представления в качестве подкласса
rest_auth.registration.views.SocialLoginView
. - Добавьте адаптер, импортированный на шаге 1, в представлении как
adapter_class
attribute. - Импортировать это представление в urls.py