58 lines
2.8 KiB
Python
58 lines
2.8 KiB
Python
from django.urls import re_path, path
|
|
|
|
from oauth2_provider import views
|
|
from rest_framework import routers
|
|
|
|
from .views.introspect import IntrospectTokenView, IntrospectApplicationView
|
|
from .views import apis as api_views
|
|
from .views import pages
|
|
app_name = "gooyal_oauth2"
|
|
|
|
|
|
base_urlpatterns = [
|
|
re_path(r"^authorize/$", views.AuthorizationView.as_view(), name="authorize"),
|
|
re_path(r"^token/$", views.TokenView.as_view(), name="token"),
|
|
re_path(r"^revoke_token/$", views.RevokeTokenView.as_view(), name="revoke-token"),
|
|
re_path(r"^introspect/$", IntrospectTokenView.as_view(), name="introspect"),
|
|
re_path(r"^introspect_application/$", IntrospectApplicationView.as_view(), name="introspect-application"),
|
|
]
|
|
|
|
router = routers.SimpleRouter()
|
|
router.register(r'apis/applications', api_views.ApplicationViewSet, basename='application')
|
|
|
|
management_urlpatterns = [
|
|
path("applications/", pages.ApplicationListView.as_view(), name="application_list"),
|
|
path('applications/register/', pages.ApplicationCreateView.as_view(), name='application_create'),
|
|
path("applications/<pk>/", pages.ApplicationDetailView.as_view(), name="application_detail"),
|
|
path("applications/<pk>/update/", pages.ApplicationUpdateView.as_view(), name="application_update"),
|
|
path("applications/<application_pk>/scopes/", pages.ApplicationScopeListView.as_view(), name="application_scope_list"),
|
|
path("applications/<application_pk>/scopes/register/", pages.ApplicationScopeCreateView.as_view(), name="application_scope_create"),
|
|
path("applications/<application_pk>/scopes/<pk>/", pages.ApplicationScopeDetailView.as_view(), name="application_scope_detail"),
|
|
path("applications/<application_pk>/scopes/<pk>/update/", pages.ApplicationScopeUpdateView.as_view(), name="application_scope_update"),
|
|
|
|
# Token management views
|
|
# re_path(r"^authorized_tokens/$", views.AuthorizedTokensListView.as_view(), name="authorized-token-list"),
|
|
# re_path(
|
|
# r"^authorized_tokens/(?P<pk>[\w-]+)/delete/$",
|
|
# views.AuthorizedTokenDeleteView.as_view(),
|
|
# name="authorized-token-delete",
|
|
# ),
|
|
]
|
|
|
|
oidc_urlpatterns = [
|
|
# .well-known/openid-configuration/ is deprecated
|
|
# https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
|
|
# does not specify a trailing slash
|
|
# Support for trailing slash shall be removed in a future release.
|
|
re_path(
|
|
r"^\.well-known/openid-configuration/?$",
|
|
views.ConnectDiscoveryInfoView.as_view(),
|
|
name="oidc-connect-discovery-info",
|
|
),
|
|
re_path(r"^\.well-known/jwks.json$", views.JwksInfoView.as_view(), name="jwks-info"),
|
|
re_path(r"^userinfo/$", views.UserInfoView.as_view(), name="user-info"),
|
|
re_path(r"^logout/$", views.RPInitiatedLogoutView.as_view(), name="rp-initiated-logout"),
|
|
]
|
|
|
|
|
|
urlpatterns = base_urlpatterns + management_urlpatterns + oidc_urlpatterns + router.urls
|