goauthentik / goauthentik/authentik

Conditional stage flow based on previous stage outcome in flows (Authenticator Validation Stage)

Open
#12,973 2 comments 13 reactions 0 assignees View on GitHub
enhancement enhancement/under_consideration
Dominant language
Python
Stars
25.6k
Forks
2k
Avg merge
1d 1h
Merged PRs (30d)
644

Description

**Is your feature request related to a problem? Please describe.**
Currently on my instance, when users fail to log in via a passwordless (WebAuthn) method their only option is to retry with the same method; it is not easy to return to the standard username/password identification flow. I would like to be able to solve this in the passwordless flow by checking the outcome (pass/fail, for example) of the Authenticator Validation Stage and redirecting a user, with all context, to the initial password flow so they can start the process again. A similar example would be to display a different, more informative/specific error message using a Prompt Stage (or something similar) and include more buttons to give the user more options.

**Describe the solution you'd like**
It would be useful to direct how a flow behaves (the path through different stages) based on the outcome of the previous stage. So, for example, there might be a way to link them together with a flowchart diagram, or in the binding settings there might be an option to choose whether a stage should occur based on the outcome of the previous one. Just a way to determine what the user sees based on the success/failure of their login attempt.

**Describe alternatives you've considered**
I've tried using the policy options to change whether a stage is displayed, but I think this is designed for user roles and properties and not the success/failure state of what happens within the flow. I have been told that there is currently no way to do something like this.

**Additional context**
See the original discussion: #12967.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.