blueprints: v1 (#1573)
* managed: move flowexporter to managed Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * *: implement SerializerModel in all models Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: add initial api Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: start blueprint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * managed: spec Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * version blueprint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * yep Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * remove v2, improve v1 Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * start custom tag, more rebrand Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add default flows Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * move blueprints out of website Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * try new things Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add !lookup, fix web Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * update and cleanup default Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix tags in lists Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * don't save field if its set to default value Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * more flow cleanup Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * format web Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix missing serializer for sms Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * ignore _set fields Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * remove custom file extension Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * migrate default flow to tenant Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * include blueprints Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix tests Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
121
blueprints/default/20-flow-default-source-enrollment.yaml
Normal file
121
blueprints/default/20-flow-default-source-enrollment.yaml
Normal file
@ -0,0 +1,121 @@
|
||||
entries:
|
||||
- attrs:
|
||||
compatibility_mode: false
|
||||
designation: enrollment
|
||||
layout: stacked
|
||||
name: Welcome to authentik! Please select a username.
|
||||
policy_engine_mode: all
|
||||
title: Welcome to authentik! Please select a username.
|
||||
identifiers:
|
||||
slug: default-source-enrollment
|
||||
model: authentik_flows.flow
|
||||
id: flow
|
||||
- attrs:
|
||||
order: 100
|
||||
placeholder: Username
|
||||
placeholder_expression: false
|
||||
required: true
|
||||
sub_text: ''
|
||||
type: text
|
||||
identifiers:
|
||||
field_key: username
|
||||
label: Username
|
||||
id: prompt-field-username
|
||||
model: authentik_stages_prompt.prompt
|
||||
- attrs:
|
||||
execution_logging: false
|
||||
expression: |
|
||||
# Check if we''ve not been given a username by the external IdP
|
||||
# and trigger the enrollment flow
|
||||
return ''username'' not in context.get(''prompt_data'', {})
|
||||
meta_model_name: authentik_policies_expression.expressionpolicy
|
||||
identifiers:
|
||||
name: default-source-enrollment-if-username
|
||||
id: default-source-enrollment-if-username
|
||||
model: authentik_policies_expression.expressionpolicy
|
||||
- attrs:
|
||||
execution_logging: false
|
||||
expression: |
|
||||
# This policy ensures that this flow can only be used when the user
|
||||
# is in a SSO Flow (meaning they come from an external IdP)
|
||||
return ak_is_sso_flow
|
||||
meta_model_name: authentik_policies_expression.expressionpolicy
|
||||
identifiers:
|
||||
name: default-source-enrollment-if-sso
|
||||
id: default-source-enrollment-if-sso
|
||||
model: authentik_policies_expression.expressionpolicy
|
||||
- attrs:
|
||||
meta_model_name: authentik_stages_user_login.userloginstage
|
||||
session_duration: seconds=0
|
||||
identifiers:
|
||||
name: default-source-enrollment-login
|
||||
id: default-source-enrollment-login
|
||||
model: authentik_stages_user_login.userloginstage
|
||||
- attrs:
|
||||
fields:
|
||||
- !KeyOf prompt-field-username
|
||||
meta_model_name: authentik_stages_prompt.promptstage
|
||||
validation_policies: []
|
||||
identifiers:
|
||||
name: default-source-enrollment-prompt
|
||||
id: default-source-enrollment-prompt
|
||||
model: authentik_stages_prompt.promptstage
|
||||
- attrs:
|
||||
create_users_as_inactive: false
|
||||
create_users_group: null
|
||||
meta_model_name: authentik_stages_user_write.userwritestage
|
||||
user_path_template: ''
|
||||
identifiers:
|
||||
name: default-source-enrollment-write
|
||||
id: default-source-enrollment-write
|
||||
model: authentik_stages_user_write.userwritestage
|
||||
- attrs:
|
||||
evaluate_on_plan: true
|
||||
invalid_response_action: retry
|
||||
policy_engine_mode: all
|
||||
re_evaluate_policies: true
|
||||
identifiers:
|
||||
order: 0
|
||||
stage: !KeyOf default-source-enrollment-prompt
|
||||
target: !KeyOf flow
|
||||
id: prompt-binding
|
||||
model: authentik_flows.flowstagebinding
|
||||
- attrs:
|
||||
evaluate_on_plan: true
|
||||
invalid_response_action: retry
|
||||
policy_engine_mode: all
|
||||
re_evaluate_policies: false
|
||||
identifiers:
|
||||
order: 1
|
||||
stage: !KeyOf default-source-enrollment-write
|
||||
target: !KeyOf flow
|
||||
model: authentik_flows.flowstagebinding
|
||||
- attrs:
|
||||
evaluate_on_plan: true
|
||||
invalid_response_action: retry
|
||||
policy_engine_mode: all
|
||||
re_evaluate_policies: false
|
||||
identifiers:
|
||||
order: 2
|
||||
stage: !KeyOf default-source-enrollment-login
|
||||
target: !KeyOf flow
|
||||
model: authentik_flows.flowstagebinding
|
||||
- attrs:
|
||||
enabled: true
|
||||
negate: false
|
||||
timeout: 30
|
||||
identifiers:
|
||||
order: 0
|
||||
policy: !KeyOf default-source-enrollment-if-sso
|
||||
target: !KeyOf flow
|
||||
model: authentik_policies.policybinding
|
||||
- attrs:
|
||||
enabled: true
|
||||
negate: false
|
||||
timeout: 30
|
||||
identifiers:
|
||||
order: 0
|
||||
policy: !KeyOf default-source-enrollment-if-username
|
||||
target: !KeyOf prompt-binding
|
||||
model: authentik_policies.policybinding
|
||||
version: 1
|
||||
Reference in New Issue
Block a user