166 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| metadata:
 | |
|   name: Default - Out-of-box-experience flow
 | |
| version: 1
 | |
| entries:
 | |
| - attrs:
 | |
|     denied_action: message_continue
 | |
|     designation: stage_configuration
 | |
|     name: default-oobe-setup
 | |
|     title: Welcome to authentik!
 | |
|   id: flow
 | |
|   identifiers:
 | |
|     slug: initial-setup
 | |
|   model: authentik_flows.flow
 | |
| - attrs:
 | |
|     order: 100
 | |
|     placeholder: Welcome to authentik! Please set a password for the default admin
 | |
|       user, akadmin.
 | |
|     placeholder_expression: false
 | |
|     required: true
 | |
|     sub_text: ''
 | |
|     type: static
 | |
|     field_key: oobe-header-text
 | |
|     label: oobe-header-text
 | |
|   id: prompt-field-header
 | |
|   identifiers:
 | |
|     name: initial-setup-field-header
 | |
|   model: authentik_stages_prompt.prompt
 | |
| - attrs:
 | |
|     order: 101
 | |
|     placeholder: Admin email
 | |
|     placeholder_expression: false
 | |
|     required: true
 | |
|     sub_text: ''
 | |
|     type: email
 | |
|     field_key: email
 | |
|     label: Email
 | |
|   id: prompt-field-email
 | |
|   identifiers:
 | |
|     name: initial-setup-field-email
 | |
|   model: authentik_stages_prompt.prompt
 | |
| - attrs:
 | |
|     order: 300
 | |
|     placeholder: Password
 | |
|     placeholder_expression: false
 | |
|     required: true
 | |
|     sub_text: ''
 | |
|     type: password
 | |
|     field_key: password
 | |
|     label: Password
 | |
|   id: prompt-field-password
 | |
|   identifiers:
 | |
|     name: initial-setup-field-password
 | |
|   model: authentik_stages_prompt.prompt
 | |
| - attrs:
 | |
|     order: 301
 | |
|     placeholder: Password (repeat)
 | |
|     placeholder_expression: false
 | |
|     required: true
 | |
|     sub_text: ''
 | |
|     type: password
 | |
|     field_key: password_repeat
 | |
|     label: Password (repeat)
 | |
|   id: prompt-field-password-repeat
 | |
|   identifiers:
 | |
|     name: initial-setup-field-password-repeat
 | |
|   model: authentik_stages_prompt.prompt
 | |
| - attrs:
 | |
|     expression: |
 | |
|       # This policy sets the user for the currently running flow
 | |
|       # by injecting "pending_user"
 | |
|       akadmin = ak_user_by(username="akadmin")
 | |
|       context["flow_plan"].context["pending_user"] = akadmin
 | |
|       return True
 | |
|   id: policy-default-oobe-prefill-user
 | |
|   identifiers:
 | |
|     name: default-oobe-prefill-user
 | |
|   model: authentik_policies_expression.expressionpolicy
 | |
| - attrs:
 | |
|     expression: |
 | |
|       # This policy ensures that the setup flow can only be
 | |
|       # executed when the admin user doesn''t have a password set
 | |
|       akadmin = ak_user_by(username="akadmin")
 | |
|       return not akadmin.has_usable_password()
 | |
|   id: policy-default-oobe-password-usable
 | |
|   identifiers:
 | |
|     name: default-oobe-password-usable
 | |
|   model: authentik_policies_expression.expressionpolicy
 | |
| - attrs:
 | |
|     expression: |
 | |
|       # This policy ensures that the setup flow can only be
 | |
|       # used one time
 | |
|       from authentik.flows.models import Flow, FlowAuthenticationRequirement
 | |
|       Flow.objects.filter(slug="initial-setup").update(
 | |
|           authentication=FlowAuthenticationRequirement.REQUIRE_SUPERUSER,
 | |
|       )
 | |
|       return True
 | |
|   id: policy-default-oobe-flow-set-authentication
 | |
|   identifiers:
 | |
|     name: default-oobe-flow-set-authentication
 | |
|   model: authentik_policies_expression.expressionpolicy
 | |
| - attrs:
 | |
|     fields:
 | |
|     - !KeyOf prompt-field-header
 | |
|     - !KeyOf prompt-field-email
 | |
|     - !KeyOf prompt-field-password
 | |
|     - !KeyOf prompt-field-password-repeat
 | |
|     validation_policies: []
 | |
|   id: stage-default-oobe-password
 | |
|   identifiers:
 | |
|     name: stage-default-oobe-password
 | |
|   model: authentik_stages_prompt.promptstage
 | |
| - id: stage-default-authentication-login
 | |
|   identifiers:
 | |
|     name: default-authentication-login
 | |
|   model: authentik_stages_user_login.userloginstage
 | |
| - id: stage-default-password-change-write
 | |
|   identifiers:
 | |
|     name: default-password-change-write
 | |
|   model: authentik_stages_user_write.userwritestage
 | |
|   attrs:
 | |
|     user_creation_mode: never_create
 | |
| - attrs:
 | |
|     evaluate_on_plan: true
 | |
|     invalid_response_action: retry
 | |
|     re_evaluate_policies: false
 | |
|   identifiers:
 | |
|     order: 10
 | |
|     stage: !KeyOf stage-default-oobe-password
 | |
|     target: !KeyOf flow
 | |
|   model: authentik_flows.flowstagebinding
 | |
| - attrs:
 | |
|     evaluate_on_plan: false
 | |
|     invalid_response_action: retry
 | |
|     re_evaluate_policies: true
 | |
|   id: binding-password-write
 | |
|   identifiers:
 | |
|     order: 20
 | |
|     stage: !KeyOf stage-default-password-change-write
 | |
|     target: !KeyOf flow
 | |
|   model: authentik_flows.flowstagebinding
 | |
| - attrs:
 | |
|     evaluate_on_plan: true
 | |
|     invalid_response_action: retry
 | |
|     re_evaluate_policies: false
 | |
|   id: binding-login
 | |
|   identifiers:
 | |
|     order: 100
 | |
|     stage: !KeyOf stage-default-authentication-login
 | |
|     target: !KeyOf flow
 | |
|   model: authentik_flows.flowstagebinding
 | |
| - identifiers:
 | |
|     order: 0
 | |
|     policy: !KeyOf policy-default-oobe-password-usable
 | |
|     target: !KeyOf flow
 | |
|   model: authentik_policies.policybinding
 | |
| - identifiers:
 | |
|     order: 0
 | |
|     policy: !KeyOf policy-default-oobe-prefill-user
 | |
|     target: !KeyOf binding-password-write
 | |
|   model: authentik_policies.policybinding
 | |
| - identifiers:
 | |
|     order: 0
 | |
|     policy: !KeyOf policy-default-oobe-flow-set-authentication
 | |
|     target: !KeyOf binding-login
 | |
|   model: authentik_policies.policybinding
 | 
