This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/website/docs/flow/flows.md
Jens L 1cfe1aff13
wip: rename to authentik (#361)
* root: initial rename

* web: rename custom element prefix

* root: rename external functions with pb_ prefix

* root: fix formatting

* root: replace domain with goauthentik.io

* proxy: update path

* root: rename remaining prefixes

* flows: rename file extension

* root: pbadmin -> akadmin

* docs: fix image filenames

* lifecycle: ignore migration files

* ci: copy default config from current source before loading last tagged

* *: new sentry dsn

* tests: fix missing python3.9-dev package

* root: add additional migrations for service accounts created by outposts

* core: mark system-created service accounts with attribute

* policies/expression: fix pb_ replacement not working

* web: fix last linting errors, add lit-analyse

* policies/expressions: fix lint errors

* web: fix sidebar display on screens where not all items fit

* proxy: attempt to fix proxy pipeline

* proxy: use go env GOPATH to get gopath

* lib: fix user_default naming inconsistency

* docs: add upgrade docs

* docs: update screenshots to use authentik

* admin: fix create button on empty-state of outpost

* web: fix modal submit not refreshing SiteShell and Table

* web: fix height of app-card and height of generic icon

* web: fix rendering of subtext

* admin: fix version check error not being caught

* web: fix worker count not being shown

* docs: update screenshots

* root: new icon

* web: fix lint error

* admin: fix linting error

* root: migrate coverage config to pyproject
2020-12-05 22:08:42 +01:00

2.6 KiB

title
Flows

Flows are a method of describing a sequence of stages. A stage represents a single verification or logic step. They are used to authenticate users, enroll them, and more.

Upon flow execution, a plan containing all stages is generated. This means that all attached policies are evaluated upon execution. This behaviour can be altered by enabling the Re-evaluate Policies option on the binding.

To determine which flow is linked, authentik searches all flows with the required designation and chooses the first instance the current user has access to.

Permissions

Flows can have policies assigned to them. These policies determine if the current user is allowed to see and use this flow.

Designation

Flows are designated for a single purpose. This designation changes when a flow is used. The following designations are available:

Authentication

This is designates a flow to be used for authentication.

The authentication flow should always contain a User Login stage, which attaches the staged user to the current session.

Invalidation

This designates a flow to be used to invalidate a session.

This stage should always contain a User Logout stage, which resets the current session.

Enrollment

This designates a flow for enrollment. This flow can contain any amount of verification stages, such as email or captcha. At the end, to create the user, you can use the user_write stage, which either updates the currently staged user, or if none exists, creates a new one.

Unenrollment

This designates a flow for unenrollment. This flow can contain any amount of verification stages, such as email or captcha. As a final stage, to delete the account, use the user_delete stage.

Recovery

This designates a flow for recovery. This flow normally contains an identification stage to find the user. It can also contain any amount of verification stages, such as email or captcha. Afterwards, use the prompt stage to ask the user for a new password and the user_write stage to update the password.

Setup

This designates a flow for general setup. This designation doesn't have any constraints in what you can do. For example, by default this designation is used to configure Factors, like change a password and setup TOTP.