flows: remove default-recovery
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
9dd6b7d436
commit
df92f01719
|
@ -32,7 +32,7 @@ from authentik.core.middleware import (
|
||||||
)
|
)
|
||||||
from authentik.core.models import Token, TokenIntents, User
|
from authentik.core.models import Token, TokenIntents, User
|
||||||
from authentik.events.models import EventAction
|
from authentik.events.models import EventAction
|
||||||
from authentik.flows.models import Flow, FlowDesignation
|
from authentik.tenants.models import Tenant
|
||||||
|
|
||||||
|
|
||||||
class UserSerializer(ModelSerializer):
|
class UserSerializer(ModelSerializer):
|
||||||
|
@ -179,8 +179,9 @@ class UserViewSet(ModelViewSet):
|
||||||
# pylint: disable=invalid-name, unused-argument
|
# pylint: disable=invalid-name, unused-argument
|
||||||
def recovery(self, request: Request, pk: int) -> Response:
|
def recovery(self, request: Request, pk: int) -> Response:
|
||||||
"""Create a temporary link that a user can use to recover their accounts"""
|
"""Create a temporary link that a user can use to recover their accounts"""
|
||||||
|
tenant: Tenant = request._request.tenant
|
||||||
# Check that there is a recovery flow, if not return an error
|
# Check that there is a recovery flow, if not return an error
|
||||||
flow = Flow.with_policy(request, designation=FlowDesignation.RECOVERY)
|
flow = tenant.flow_recovery
|
||||||
if not flow:
|
if not flow:
|
||||||
raise Http404
|
raise Http404
|
||||||
user: User = self.get_object()
|
user: User = self.get_object()
|
||||||
|
@ -191,7 +192,8 @@ class UserViewSet(ModelViewSet):
|
||||||
)
|
)
|
||||||
querystring = urlencode({"token": token.key})
|
querystring = urlencode({"token": token.key})
|
||||||
link = request.build_absolute_uri(
|
link = request.build_absolute_uri(
|
||||||
reverse_lazy("authentik_flows:default-recovery") + f"?{querystring}"
|
reverse_lazy("authentik_core:if-flow", kwargs={"flow_slug": flow.slug})
|
||||||
|
+ f"?{querystring}"
|
||||||
)
|
)
|
||||||
return Response({"link": link})
|
return Response({"link": link})
|
||||||
|
|
||||||
|
|
|
@ -142,11 +142,6 @@ class Flow(SerializerModel, PolicyBindingModel):
|
||||||
LOGGER.debug("with_policy: no flow found", filters=flow_filter)
|
LOGGER.debug("with_policy: no flow found", filters=flow_filter)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def related_flow(self, designation: str, request: HttpRequest) -> Optional["Flow"]:
|
|
||||||
"""Get a related flow with `designation`. Currently this only queries
|
|
||||||
Flows by `designation`, but will eventually use `self` for related lookups."""
|
|
||||||
return Flow.with_policy(request, designation=designation)
|
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f"Flow {self.name} ({self.slug})"
|
return f"Flow {self.name} ({self.slug})"
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,6 @@ urlpatterns = [
|
||||||
ToDefaultFlow.as_view(designation=FlowDesignation.INVALIDATION),
|
ToDefaultFlow.as_view(designation=FlowDesignation.INVALIDATION),
|
||||||
name="default-invalidation",
|
name="default-invalidation",
|
||||||
),
|
),
|
||||||
path(
|
|
||||||
"-/default/recovery/",
|
|
||||||
ToDefaultFlow.as_view(designation=FlowDesignation.RECOVERY),
|
|
||||||
name="default-recovery",
|
|
||||||
),
|
|
||||||
path(
|
path(
|
||||||
"-/default/unenrollment/",
|
"-/default/unenrollment/",
|
||||||
ToDefaultFlow.as_view(designation=FlowDesignation.UNRENOLLMENT),
|
ToDefaultFlow.as_view(designation=FlowDesignation.UNRENOLLMENT),
|
||||||
|
|
Reference in New Issue