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

52 lines
1.6 KiB
Python

"""Common url routing for application authorization"""
from django.conf import settings
from django.conf.urls import url
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 = 'auth'
urlpatterns_social_django = [
url(r'^authorize/?$', AuthorizationView.as_view(), name="authorize"),
url(r'^complete/(?P<backend>[^/]+){0}$'.format(extra), social_django_views.complete,
name='complete'),
]
urlpatterns_oauth2 = [
path('oauth2/signup/facebook/', views.OAuth2SignUpView.as_view(),
name='oauth2-signup-facebook'),
# for admin sign in page
path('oauth2/token/', drf_social_oauth2_views .TokenView.as_view(),
name="token"),
]
urlpatterns_jwt = [
path('signup/', views.SignUpView.as_view(),
name='signup'),
path('signup/finish/<str:uid>/<str:token>/', views.SignupFinishView.as_view(),
name='signup-finish'),
# sign in
path('login/', views.LoginByUsernameOrEmailView.as_view(),
name='login'),
# refresh token
path('refresh-token/', views.RefreshTokenView.as_view(),
name="refresh-token"),
# logout
path('logout/', views.LogoutView.as_view(),
name="logout"),
]
urlpatterns = urlpatterns_jwt + \
urlpatterns_oauth2 + \
urlpatterns_social_django # for social oauth2