From c279c185a0588b842bb771db64399a61ab328c82 Mon Sep 17 00:00:00 2001 From: HulewiczKamil Date: Thu, 22 Apr 2021 02:28:09 +0200 Subject: [PATCH] Django API endpoint for OAuth with allauth and dj-rest-auth #5 --- meeting_scheduler/db.sqlite3 | Bin 229376 -> 229376 bytes .../meeting_scheduler/settings.py | 11 +++++++---- meeting_scheduler/meeting_scheduler/urls.py | 6 ++---- meeting_scheduler/scheduler_api/views.py | 11 ++++++----- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/meeting_scheduler/db.sqlite3 b/meeting_scheduler/db.sqlite3 index 172401ebcbd00350028747edddebc66067b2fb6e..33cb95a748588e9522d05ea37ebfc61e533f5c30 100644 GIT binary patch delta 4926 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 B(i#8& delta 486 zcmZo@;A?2$n;^~TJWEp|Ky1LVtzwQD-$CtLrXnF3o`>_v&pyewSY># zGw^@kEZFdtpOb@GoHH>cH#2Y31{MJ}M!wq&e783?UgXngQetHFZ4P$KNHMI;&oZqv zOH0f)voy*tD$mHsOifEPHBPC@F-*0XTsV76uxD10Raw4Kx{0TMKvh7bkylBOQLcr# zr-`m*pl`0OTVPU7RI-;#kgjKWS$KK6k%5t+u7N2KDInZuX=rY4#0B&hBmW%+{yUom z3oh}iC^P$V5^_P)hHV=d867ymS|2g+KLTpK!7ne%?8u47qRosOm=!j&JouwOX#>l0 xmH;M)%`6Rn`L{DJV1kItgT)^(32bLkU}6&3%EtUpe>2O5Kk|z<2rT-b002y{kWl~t diff --git a/meeting_scheduler/meeting_scheduler/settings.py b/meeting_scheduler/meeting_scheduler/settings.py index 261ce8e..d672e75 100644 --- a/meeting_scheduler/meeting_scheduler/settings.py +++ b/meeting_scheduler/meeting_scheduler/settings.py @@ -26,7 +26,7 @@ # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['*'] # Application definition @@ -43,7 +43,7 @@ 'corsheaders', 'rest_framework', 'rest_framework.authtoken', - 'rest_auth', + 'dj_rest_auth', #Custom applications 'scheduler_api', @@ -58,7 +58,7 @@ 'allauth.socialaccount.providers.google', ] -SITE_ID = 1 +SITE_ID = 2 # Provider specific settings SOCIALACCOUNT_PROVIDERS = { @@ -199,6 +199,9 @@ ], } +CORS_ORIGIN_ALLOW_ALL = True + CORS_ALLOWED_ORIGINS = [ "http://localhost:3000", -] \ No newline at end of file +] + diff --git a/meeting_scheduler/meeting_scheduler/urls.py b/meeting_scheduler/meeting_scheduler/urls.py index 716948e..212710c 100644 --- a/meeting_scheduler/meeting_scheduler/urls.py +++ b/meeting_scheduler/meeting_scheduler/urls.py @@ -15,14 +15,12 @@ """ from django.contrib import admin from django.urls import path, include -from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView -from scheduler_api.views import GoogleLogin + urlpatterns = [ path('admin/', admin.site.urls), path('', include('scheduler.urls', namespace='scheduler')), path('api/', include('scheduler_api.urls', namespace='scheduler_api')), path('auth/', include('rest_framework.urls', namespace='rest_framework')), #Mock - path('accounts/', include('allauth.urls')), - path('rest-auth/google/', GoogleLogin.as_view(), name='google-login') + #path('accounts/', include('allauth.urls')), ] diff --git a/meeting_scheduler/scheduler_api/views.py b/meeting_scheduler/scheduler_api/views.py index 56c3021..ff8bf4a 100644 --- a/meeting_scheduler/scheduler_api/views.py +++ b/meeting_scheduler/scheduler_api/views.py @@ -1,20 +1,21 @@ from rest_framework.decorators import parser_classes, api_view, permission_classes from rest_framework.parsers import JSONParser from rest_framework.response import Response -from rest_framework.permissions import IsAuthenticated -from rest_auth.registration.views import SocialLoginView +from rest_framework.permissions import IsAuthenticatedOrReadOnly, AllowAny +from dj_rest_auth.registration.views import SocialLoginView from allauth.socialaccount.providers.google.views import GoogleOAuth2Adapter @api_view(['POST']) @parser_classes([JSONParser]) +@permission_classes([AllowAny]) def google_data(request, format=None): - print (f'XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD received data: {request.data}') - return Response({'received data': request.data}) + print (f'XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD received data: {request}') + return Response({'received data': request}) @api_view(['GET']) @parser_classes([JSONParser]) -@permission_classes([IsAuthenticated]) +@permission_classes([AllowAny]) def google_data(request, format=None): content ={ 'status':'request was permitted'