gault-millau/apps/authorization/urls/common.py

47 lines
1.9 KiB
Python

"""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<backend>[^/]+){0}$'.format(extra), social_django_views.auth,
name='begin'),
url(r'^complete/(?P<backend>[^/]+){0}$'.format(extra), social_django_views.complete,
name='complete'),
# disconnection
url(r'^disconnect/(?P<backend>[^/]+){0}$'.format(extra), social_django_views.disconnect,
name='disconnect'),
url(r'^disconnect/(?P<backend>[^/]+)/(?P<association_id>\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'^convert-token/?$', ConvertTokenView.as_view(), name="convert_token"),
url(r'^revoke-token/?$', RevokeTokenView.as_view(), name="revoke_token"),
url(r'^invalidate-sessions/?$', invalidate_sessions, name="invalidate_sessions")
]
urlpatterns_api = [
path('social/signup/', views.SocialSignUpView.as_view(), name='signup'),
]
urlpatterns = urlpatterns_api + \
urlpatterns_social_django + \
urlpatterns_rest_framework_social_oauth2