"""Common url routing for application authorization""" from django.conf import settings from django.conf.urls import url, include from django.urls import path from oauth2_provider.views import AuthorizationView from rest_framework_social_oauth2.views import (ConvertTokenView, TokenView, RevokeTokenView, invalidate_sessions) from social_core.utils import setting_name from social_django import views as social_django_views from authorization.views import web as views extra = getattr(settings, setting_name('TRAILING_SLASH'), True) and '/' or '' app_name = 'social' urlpatterns_social_django = [ # authentication / association url(r'^login/(?P[^/]+){0}$'.format(extra), social_django_views.auth, name='begin'), url(r'^complete/(?P[^/]+){0}$'.format(extra), social_django_views.complete, name='complete'), # disconnection url(r'^disconnect/(?P[^/]+){0}$'.format(extra), social_django_views.disconnect, name='disconnect'), url(r'^disconnect/(?P[^/]+)/(?P\d+){0}$' .format(extra), social_django_views.disconnect, name='disconnect_individual'), ] urlpatterns_rest_framework_social_oauth2 = [ url(r'^authorize/?$', AuthorizationView.as_view(), name="authorize"), url(r'^token/?$', TokenView.as_view(), name="token"), url('', include('social_django.urls', namespace="social")), url(r'^invalidate-sessions/?$', invalidate_sessions, name="invalidate_sessions") ] urlpatterns_api = [ path('social/signup/', views.SocialSignUpView.as_view(), name='signup'), path('revoke-token/', views.RevokeTokenView.as_view(), name="revoke_token"), ] urlpatterns = urlpatterns_api + \ urlpatterns_social_django + \ urlpatterns_rest_framework_social_oauth2