authentik.root.urls
authentik URL Configuration
1"""authentik URL Configuration""" 2 3from django.urls import include, path 4from structlog.stdlib import get_logger 5 6from authentik.core.views import error 7from authentik.lib.config import CONFIG 8from authentik.lib.utils.reflection import get_apps 9from authentik.root.monitoring import LiveView, MetricsView, ReadyView 10 11LOGGER = get_logger() 12 13handler400 = error.BadRequestView.as_view() 14handler403 = error.ForbiddenView.as_view() 15handler404 = error.NotFoundView.as_view() 16handler500 = error.ServerErrorView.as_view() 17 18_urlpatterns = [] 19 20for _authentik_app in get_apps(): 21 mountpoints = None 22 base_url_module = _authentik_app.name + ".urls" 23 if hasattr(_authentik_app, "mountpoint"): 24 mountpoint = _authentik_app.mountpoint 25 mountpoints = {base_url_module: mountpoint} 26 if hasattr(_authentik_app, "mountpoints"): 27 mountpoints = _authentik_app.mountpoints 28 if not mountpoints: 29 continue 30 for module, mountpoint in mountpoints.items(): 31 namespace = _authentik_app.label + module.replace(base_url_module, "") 32 _path = path( 33 mountpoint, 34 include( 35 (module, _authentik_app.label), 36 namespace=namespace, 37 ), 38 ) 39 _urlpatterns.append(_path) 40 LOGGER.debug( 41 "Mounted URLs", 42 app_name=_authentik_app.name, 43 app_mountpoint=mountpoint, 44 namespace=namespace, 45 ) 46 47_urlpatterns += [ 48 path("-/metrics/", MetricsView.as_view(), name="metrics"), 49 path("-/health/live/", LiveView.as_view(), name="health-live"), 50 path("-/health/ready/", ReadyView.as_view(), name="health-ready"), 51] 52 53urlpatterns = [path(CONFIG.get("web.path", "/")[1:], include(_urlpatterns))]
LOGGER =
<BoundLoggerLazyProxy(logger=None, wrapper_class=None, processors=None, context_class=None, initial_values={}, logger_factory_args=())>
def
handler400(request, *args, **kwargs):
98 def view(request, *args, **kwargs): 99 self = cls(**initkwargs) 100 self.setup(request, *args, **kwargs) 101 if not hasattr(self, "request"): 102 raise AttributeError( 103 "%s instance has no 'request' attribute. Did you override " 104 "setup() and forget to call super()?" % cls.__name__ 105 ) 106 return self.dispatch(request, *args, **kwargs)
Show Bad Request message
def
handler403(request, *args, **kwargs):
98 def view(request, *args, **kwargs): 99 self = cls(**initkwargs) 100 self.setup(request, *args, **kwargs) 101 if not hasattr(self, "request"): 102 raise AttributeError( 103 "%s instance has no 'request' attribute. Did you override " 104 "setup() and forget to call super()?" % cls.__name__ 105 ) 106 return self.dispatch(request, *args, **kwargs)
Show Forbidden message
def
handler404(request, *args, **kwargs):
98 def view(request, *args, **kwargs): 99 self = cls(**initkwargs) 100 self.setup(request, *args, **kwargs) 101 if not hasattr(self, "request"): 102 raise AttributeError( 103 "%s instance has no 'request' attribute. Did you override " 104 "setup() and forget to call super()?" % cls.__name__ 105 ) 106 return self.dispatch(request, *args, **kwargs)
Show Not Found message
def
handler500(request, *args, **kwargs):
98 def view(request, *args, **kwargs): 99 self = cls(**initkwargs) 100 self.setup(request, *args, **kwargs) 101 if not hasattr(self, "request"): 102 raise AttributeError( 103 "%s instance has no 'request' attribute. Did you override " 104 "setup() and forget to call super()?" % cls.__name__ 105 ) 106 return self.dispatch(request, *args, **kwargs)
Show Server Error message
urlpatterns =
[<URLResolver <URLResolver list> (None:None) ''>]