53 lines
2.1 KiB
Python
53 lines
2.1 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 import views as drf_social_oauth2_views
|
|
from social_core.utils import setting_name
|
|
from social_django import views as social_django_views
|
|
|
|
from authorization.views import common 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('', include('social_django.urls', namespace="social")),
|
|
url(r'^invalidate-sessions/?$', drf_social_oauth2_views.invalidate_sessions,
|
|
name="invalidate_sessions")
|
|
]
|
|
|
|
urlpatterns_api = [
|
|
# sign up
|
|
path('social/signup/', views.SocialSignUpView.as_view(), name='signup-social'),
|
|
# sign in
|
|
path('login/username/', views.LoginByUsernameView.as_view(), name='login-username'),
|
|
path('login/email/', views.LoginByEmailView.as_view(), name='login-email'),
|
|
# for admin sign in page
|
|
path('token/', drf_social_oauth2_views .TokenView.as_view(), name="token"),
|
|
# logout
|
|
path('logout/', views.LogoutView.as_view(), name="logout"),
|
|
path('revoke-token/', views.RevokeTokenView.as_view(), name="revoke-token"),
|
|
]
|
|
|
|
urlpatterns = urlpatterns_api + \
|
|
urlpatterns_social_django + \
|
|
urlpatterns_rest_framework_social_oauth2
|