flows: add compatibility_mode to toggle ShadyDOM
closes #894 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
@ -4,7 +4,9 @@
|
||||
{% load i18n %}
|
||||
|
||||
{% block head_before %}
|
||||
{% if flow.compatibility_mode %}
|
||||
<script>ShadyDOM = { force: !navigator.webdriver };</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
|
||||
@ -6,6 +6,7 @@ from django.views.generic import RedirectView
|
||||
from django.views.generic.base import TemplateView
|
||||
|
||||
from authentik.core.views import impersonate
|
||||
from authentik.core.views.interface import FlowInterfaceView
|
||||
|
||||
urlpatterns = [
|
||||
path(
|
||||
@ -32,7 +33,7 @@ urlpatterns = [
|
||||
),
|
||||
path(
|
||||
"if/flow/<slug:flow_slug>/",
|
||||
ensure_csrf_cookie(TemplateView.as_view(template_name="if/flow.html")),
|
||||
ensure_csrf_cookie(FlowInterfaceView.as_view()),
|
||||
name="if-flow",
|
||||
),
|
||||
# Fallback for WS
|
||||
|
||||
17
authentik/core/views/interface.py
Normal file
17
authentik/core/views/interface.py
Normal file
@ -0,0 +1,17 @@
|
||||
"""Interface views"""
|
||||
from typing import Any
|
||||
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.views.generic.base import TemplateView
|
||||
|
||||
from authentik.flows.models import Flow
|
||||
|
||||
|
||||
class FlowInterfaceView(TemplateView):
|
||||
"""Flow interface"""
|
||||
|
||||
template_name = "if/flow.html"
|
||||
|
||||
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
|
||||
kwargs["flow"] = get_object_or_404(Flow, slug=self.kwargs.get("slug"))
|
||||
return super().get_context_data(**kwargs)
|
||||
Reference in New Issue
Block a user