version: 1
metadata:
labels:
blueprints.goauthentik.io/instantiate: "false"
name: Example - Recovery with email verification
entries:
- identifiers:
slug: default-recovery-flow
id: flow
model: authentik_flows.flow
attrs:
name: Default recovery flow
title: Reset your password
designation: recovery
authentication: require_unauthenticated
name: default-recovery-field-password
id: prompt-field-password
model: authentik_stages_prompt.prompt
field_key: password
label: Password
type: password
required: true
placeholder: Password
order: 0
placeholder_expression: false
name: default-recovery-field-password-repeat
id: prompt-field-password-repeat
field_key: password_repeat
label: Password (repeat)
placeholder: Password (repeat)
order: 1
name: default-recovery-skip-if-restored
id: default-recovery-skip-if-restored
model: authentik_policies_expression.expressionpolicy
expression: |
return bool(request.context.get('is_restored', True))
name: default-recovery-email
id: default-recovery-email
model: authentik_stages_email.emailstage
use_global_settings: true
host: localhost
port: 25
username: ""
use_tls: false
use_ssl: false
timeout: 10
from_address: system@authentik.local
token_expiry: 30
subject: authentik
template: email/password_reset.html
activate_user_on_success: true
name: default-recovery-user-write
id: default-recovery-user-write
model: authentik_stages_user_write.userwritestage
user_creation_mode: never_create
name: default-recovery-identification
id: default-recovery-identification
model: authentik_stages_identification.identificationstage
user_fields:
- email
- username
name: default-recovery-user-login
id: default-recovery-user-login
model: authentik_stages_user_login.userloginstage
name: Change your password
id: stages-prompt-password
model: authentik_stages_prompt.promptstage
fields:
- !KeyOf prompt-field-password
- !KeyOf prompt-field-password-repeat
validation_policies: []
target: !KeyOf flow
stage: !KeyOf default-recovery-identification
order: 10
model: authentik_flows.flowstagebinding
id: flow-binding-identification
evaluate_on_plan: true
re_evaluate_policies: true
policy_engine_mode: any
invalid_response_action: retry
stage: !KeyOf default-recovery-email
order: 20
id: flow-binding-email
pk: 1219d06e-2c06-4c5b-a162-78e3959c6cf0
stage: !KeyOf stages-prompt-password
order: 30
re_evaluate_policies: false
stage: !KeyOf default-recovery-user-write
order: 40
stage: !KeyOf default-recovery-user-login
order: 100
policy: !KeyOf default-recovery-skip-if-restored
target: !KeyOf flow-binding-identification
model: authentik_policies.policybinding
negate: false
enabled: true
timeout: 30
target: !KeyOf flow-binding-email
state: absent