From 6dec6be2839bd6b499faedc70b7c8aeafb4fced8 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 16 Mar 2021 12:22:14 +0000 Subject: [PATCH] adding Social login --- back_latienda/settings/base.py | 14 ++++++++++++++ back_latienda/urls.py | 1 + requirements.txt | 1 + 3 files changed, 16 insertions(+) diff --git a/back_latienda/settings/base.py b/back_latienda/settings/base.py index 4996fc6..e1ab88b 100644 --- a/back_latienda/settings/base.py +++ b/back_latienda/settings/base.py @@ -57,6 +57,7 @@ INSTALLED_APPS = [ 'storages', 'mapwidgets', 'django_admin_listfilter_dropdown', + 'social_django', # local apps 'core', @@ -77,6 +78,8 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + + 'social_django.middleware.SocialAuthExceptionMiddleware', ] ROOT_URLCONF = 'back_latienda.urls' @@ -92,6 +95,9 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + + 'social_django.context_processors.backends', + 'social_django.context_processors.login_redirect', ], }, }, @@ -123,6 +129,14 @@ AUTH_PASSWORD_VALIDATORS = [ AUTH_USER_MODEL = 'core.CustomUser' +AUTHENTICATION_BACKENDS = ( + 'social_core.backends.github.GithubOAuth2', + 'social_core.backends.twitter.TwitterOAuth', + 'social_core.backends.facebook.FacebookOAuth2', + + 'django.contrib.auth.backends.ModelBackend', +) + # DRF Options REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': [ diff --git a/back_latienda/urls.py b/back_latienda/urls.py index b18a320..0d58a53 100644 --- a/back_latienda/urls.py +++ b/back_latienda/urls.py @@ -31,6 +31,7 @@ admin.site.site_header = 'LaTiendaCOOP Administration' urlpatterns = [ path('admin/', admin.site.urls), path('activate///',core_views.activate_user, name='activate_user'), + path('api/v1/oauth/', include('social_django.urls', namespace='social')), path('api/v1/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'), path('api/v1/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'), path('api/v1/token/verify/', TokenVerifyView.as_view(), name='token_verify'), diff --git a/requirements.txt b/requirements.txt index df15689..88b7bac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,6 +18,7 @@ django-autocomplete-light==3.8.2 # manually install `pip install --default-timeout=100 future` to avoid wcapi to timeout django-map-widgets==0.3.0 django-admin-list-filter-dropdown==1.0.3 +social-auth-app-django==4.0.0 # required for production django-anymail[amazon_ses]==8.2 boto3==1.17.11