80 lines
2.6 KiB
Cheetah
80 lines
2.6 KiB
Cheetah
version: 1
|
|
metadata:
|
|
labels:
|
|
blueprints.goauthentik.io/instantiate: "true"
|
|
name: Invitation Enrollment Flow
|
|
context:
|
|
welcome_message: {{ if eq (env "WELCOME_MESSAGE") "" }} "Welcome to authentik!" {{ else }} {{ env "WELCOME_MESSAGE" }} {{ end }}
|
|
|
|
entries:
|
|
### DEPENDENCIES
|
|
- model: authentik_blueprints.metaapplyblueprint
|
|
attrs:
|
|
identifiers:
|
|
name: Flow Translations
|
|
required: true
|
|
|
|
### FLOW
|
|
- attrs:
|
|
designation: enrollment
|
|
name: invitation-enrollment-flow
|
|
title: !Context welcome_message
|
|
identifiers:
|
|
slug: invitation-enrollment-flow
|
|
id: invitation-enrollment-flow
|
|
model: authentik_flows.flow
|
|
|
|
### POLICIES
|
|
- attrs:
|
|
expression: |
|
|
if not regex_match(request.context.get('prompt_data').get('username'), '\s'):
|
|
return True
|
|
ak_message("Username must not contain any whitespace!")
|
|
return False
|
|
id: username-without-spaces-policy
|
|
identifiers:
|
|
name: username-without-spaces-policy
|
|
model: authentik_policies_expression.expressionpolicy
|
|
|
|
### STAGES
|
|
- identifiers:
|
|
name: invitation-stage
|
|
id: invitation-stage
|
|
model: authentik_stages_invitation.invitationstage
|
|
|
|
- identifiers:
|
|
name: enrollment-prompt-userdata
|
|
id: enrollment-prompt-userdata
|
|
model: authentik_stages_prompt.promptstage
|
|
attrs:
|
|
fields:
|
|
- !Find [authentik_stages_prompt.prompt, [name, default-source-enrollment-field-username]]
|
|
- !Find [authentik_stages_prompt.prompt, [name, default-user-settings-field-name]]
|
|
- !Find [authentik_stages_prompt.prompt, [name, default-user-settings-field-email]]
|
|
- !Find [authentik_stages_prompt.prompt, [name, default-password-change-field-password]]
|
|
- !Find [authentik_stages_prompt.prompt, [name, default-password-change-field-password-repeat]]
|
|
validation_policies:
|
|
- !Find [ authentik_policies_expression.expressionpolicy, [name, username-without-spaces-policy]]
|
|
|
|
### STAGE BINDINGS
|
|
- identifiers:
|
|
order: 1
|
|
stage: !KeyOf invitation-stage
|
|
target: !KeyOf invitation-enrollment-flow
|
|
model: authentik_flows.flowstagebinding
|
|
- identifiers:
|
|
order: 10
|
|
stage: !KeyOf enrollment-prompt-userdata
|
|
target: !KeyOf invitation-enrollment-flow
|
|
model: authentik_flows.flowstagebinding
|
|
- identifiers:
|
|
order: 20
|
|
stage: !Find [authentik_stages_user_write.userwritestage, [name, default-source-enrollment-write]]
|
|
target: !KeyOf invitation-enrollment-flow
|
|
model: authentik_flows.flowstagebinding
|
|
- identifiers:
|
|
order: 100
|
|
stage: !Find [authentik_stages_user_login.userloginstage, [name, default-authentication-login]]
|
|
target: !KeyOf invitation-enrollment-flow
|
|
model: authentik_flows.flowstagebinding
|