events: add flow_execution event type
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
d162c79373
commit
0b00768b84
|
@ -314,169 +314,10 @@ class Migration(migrations.Migration):
|
||||||
old_name="user_json",
|
old_name="user_json",
|
||||||
new_name="user",
|
new_name="user",
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("sign_up", "Sign Up"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("invitation_created", "Invite Created"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("invitation_created", "Invite Created"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
migrations.RemoveField(
|
||||||
model_name="event",
|
model_name="event",
|
||||||
name="date",
|
name="date",
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("token_view", "Token View"),
|
|
||||||
("invitation_created", "Invite Created"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("token_view", "Token View"),
|
|
||||||
("invitation_created", "Invite Created"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("token_view", "Token View"),
|
|
||||||
("invitation_created", "Invite Created"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("token_view", "Token View"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("configuration_error", "Configuration Error"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name="NotificationTransport",
|
name="NotificationTransport",
|
||||||
fields=[
|
fields=[
|
||||||
|
@ -610,68 +451,6 @@ class Migration(migrations.Migration):
|
||||||
help_text="Only send notification once, for example when sending a webhook into a chat channel.",
|
help_text="Only send notification once, for example when sending a webhook into a chat channel.",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("token_view", "Token View"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("system_task_execution", "System Task Execution"),
|
|
||||||
("system_task_exception", "System Task Exception"),
|
|
||||||
("configuration_error", "Configuration Error"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("secret_view", "Secret View"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("system_task_execution", "System Task Execution"),
|
|
||||||
("system_task_exception", "System Task Exception"),
|
|
||||||
("configuration_error", "Configuration Error"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.RunPython(
|
migrations.RunPython(
|
||||||
code=token_view_to_secret_view,
|
code=token_view_to_secret_view,
|
||||||
),
|
),
|
||||||
|
@ -688,76 +467,11 @@ class Migration(migrations.Migration):
|
||||||
migrations.RunPython(
|
migrations.RunPython(
|
||||||
code=update_expires,
|
code=update_expires,
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("secret_view", "Secret View"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("system_task_execution", "System Task Execution"),
|
|
||||||
("system_task_exception", "System Task Exception"),
|
|
||||||
("configuration_error", "Configuration Error"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("email_sent", "Email Sent"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name="event",
|
model_name="event",
|
||||||
name="tenant",
|
name="tenant",
|
||||||
field=models.JSONField(blank=True, default=authentik.events.models.default_tenant),
|
field=models.JSONField(blank=True, default=authentik.events.models.default_tenant),
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
|
||||||
model_name="event",
|
|
||||||
name="action",
|
|
||||||
field=models.TextField(
|
|
||||||
choices=[
|
|
||||||
("login", "Login"),
|
|
||||||
("login_failed", "Login Failed"),
|
|
||||||
("logout", "Logout"),
|
|
||||||
("user_write", "User Write"),
|
|
||||||
("suspicious_request", "Suspicious Request"),
|
|
||||||
("password_set", "Password Set"),
|
|
||||||
("secret_view", "Secret View"),
|
|
||||||
("invitation_used", "Invite Used"),
|
|
||||||
("authorize_application", "Authorize Application"),
|
|
||||||
("source_linked", "Source Linked"),
|
|
||||||
("impersonation_started", "Impersonation Started"),
|
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
|
||||||
("policy_execution", "Policy Execution"),
|
|
||||||
("policy_exception", "Policy Exception"),
|
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
|
||||||
("system_task_execution", "System Task Execution"),
|
|
||||||
("system_task_exception", "System Task Exception"),
|
|
||||||
("system_exception", "System Exception"),
|
|
||||||
("configuration_error", "Configuration Error"),
|
|
||||||
("model_created", "Model Created"),
|
|
||||||
("model_updated", "Model Updated"),
|
|
||||||
("model_deleted", "Model Deleted"),
|
|
||||||
("email_sent", "Email Sent"),
|
|
||||||
("update_available", "Update Available"),
|
|
||||||
("custom_", "Custom Prefix"),
|
|
||||||
]
|
|
||||||
),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name="event",
|
model_name="event",
|
||||||
name="action",
|
name="action",
|
||||||
|
@ -776,6 +490,7 @@ class Migration(migrations.Migration):
|
||||||
("source_linked", "Source Linked"),
|
("source_linked", "Source Linked"),
|
||||||
("impersonation_started", "Impersonation Started"),
|
("impersonation_started", "Impersonation Started"),
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
("impersonation_ended", "Impersonation Ended"),
|
||||||
|
("flow_execution", "Flow Execution"),
|
||||||
("policy_execution", "Policy Execution"),
|
("policy_execution", "Policy Execution"),
|
||||||
("policy_exception", "Policy Exception"),
|
("policy_exception", "Policy Exception"),
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
("property_mapping_exception", "Property Mapping Exception"),
|
||||||
|
|
|
@ -70,6 +70,7 @@ class EventAction(models.TextChoices):
|
||||||
IMPERSONATION_STARTED = "impersonation_started"
|
IMPERSONATION_STARTED = "impersonation_started"
|
||||||
IMPERSONATION_ENDED = "impersonation_ended"
|
IMPERSONATION_ENDED = "impersonation_ended"
|
||||||
|
|
||||||
|
FLOW_EXECUTION = "flow_execution"
|
||||||
POLICY_EXECUTION = "policy_execution"
|
POLICY_EXECUTION = "policy_execution"
|
||||||
POLICY_EXCEPTION = "policy_exception"
|
POLICY_EXCEPTION = "policy_exception"
|
||||||
PROPERTY_MAPPING_EXCEPTION = "property_mapping_exception"
|
PROPERTY_MAPPING_EXCEPTION = "property_mapping_exception"
|
||||||
|
|
|
@ -371,6 +371,12 @@ class FlowExecutorView(APIView):
|
||||||
NEXT_ARG_NAME, "authentik_core:root-redirect"
|
NEXT_ARG_NAME, "authentik_core:root-redirect"
|
||||||
)
|
)
|
||||||
self.cancel()
|
self.cancel()
|
||||||
|
Event.new(
|
||||||
|
action=EventAction.FLOW_EXECUTION,
|
||||||
|
flow=self.flow,
|
||||||
|
designation=self.flow.designation,
|
||||||
|
successful=True,
|
||||||
|
).from_http(self.request)
|
||||||
return to_stage_response(self.request, redirect_with_qs(next_param))
|
return to_stage_response(self.request, redirect_with_qs(next_param))
|
||||||
|
|
||||||
def stage_ok(self) -> HttpResponse:
|
def stage_ok(self) -> HttpResponse:
|
||||||
|
|
|
@ -66,6 +66,7 @@ class Migration(migrations.Migration):
|
||||||
("source_linked", "Source Linked"),
|
("source_linked", "Source Linked"),
|
||||||
("impersonation_started", "Impersonation Started"),
|
("impersonation_started", "Impersonation Started"),
|
||||||
("impersonation_ended", "Impersonation Ended"),
|
("impersonation_ended", "Impersonation Ended"),
|
||||||
|
("flow_execution", "Flow Execution"),
|
||||||
("policy_execution", "Policy Execution"),
|
("policy_execution", "Policy Execution"),
|
||||||
("policy_exception", "Policy Exception"),
|
("policy_exception", "Policy Exception"),
|
||||||
("property_mapping_exception", "Property Mapping Exception"),
|
("property_mapping_exception", "Property Mapping Exception"),
|
||||||
|
|
|
@ -7539,6 +7539,7 @@ paths:
|
||||||
- configuration_error
|
- configuration_error
|
||||||
- custom_
|
- custom_
|
||||||
- email_sent
|
- email_sent
|
||||||
|
- flow_execution
|
||||||
- impersonation_ended
|
- impersonation_ended
|
||||||
- impersonation_started
|
- impersonation_started
|
||||||
- invitation_used
|
- invitation_used
|
||||||
|
@ -21134,6 +21135,7 @@ components:
|
||||||
- source_linked
|
- source_linked
|
||||||
- impersonation_started
|
- impersonation_started
|
||||||
- impersonation_ended
|
- impersonation_ended
|
||||||
|
- flow_execution
|
||||||
- policy_execution
|
- policy_execution
|
||||||
- policy_exception
|
- policy_exception
|
||||||
- property_mapping_exception
|
- property_mapping_exception
|
||||||
|
|
|
@ -1985,6 +1985,10 @@ msgstr "Flow"
|
||||||
msgid "Flow Overview"
|
msgid "Flow Overview"
|
||||||
msgstr "Flow Overview"
|
msgstr "Flow Overview"
|
||||||
|
|
||||||
|
#: src/pages/events/utils.ts
|
||||||
|
msgid "Flow execution"
|
||||||
|
msgstr "Flow execution"
|
||||||
|
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
msgid "Flow inspector"
|
msgid "Flow inspector"
|
||||||
|
|
|
@ -1970,6 +1970,10 @@ msgstr "Flux"
|
||||||
msgid "Flow Overview"
|
msgid "Flow Overview"
|
||||||
msgstr "Aperçu du flux"
|
msgstr "Aperçu du flux"
|
||||||
|
|
||||||
|
#: src/pages/events/utils.ts
|
||||||
|
msgid "Flow execution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
msgid "Flow inspector"
|
msgid "Flow inspector"
|
||||||
|
|
|
@ -1977,6 +1977,10 @@ msgstr ""
|
||||||
msgid "Flow Overview"
|
msgid "Flow Overview"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/events/utils.ts
|
||||||
|
msgid "Flow execution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
#: src/flows/FlowInspector.ts
|
#: src/flows/FlowInspector.ts
|
||||||
msgid "Flow inspector"
|
msgid "Flow inspector"
|
||||||
|
|
|
@ -31,6 +31,8 @@ export function ActionToLabel(action?: EventActions): string {
|
||||||
return t`Impersonation started`;
|
return t`Impersonation started`;
|
||||||
case EventActions.ImpersonationEnded:
|
case EventActions.ImpersonationEnded:
|
||||||
return t`Impersonation ended`;
|
return t`Impersonation ended`;
|
||||||
|
case EventActions.FlowExecution:
|
||||||
|
return t`Flow execution`;
|
||||||
case EventActions.PolicyExecution:
|
case EventActions.PolicyExecution:
|
||||||
return t`Policy execution`;
|
return t`Policy execution`;
|
||||||
case EventActions.PolicyException:
|
case EventActions.PolicyException:
|
||||||
|
|
Reference in New Issue