goauthentik / goauthentik/authentik
Conditional stage flow based on previous stage outcome in flows (Authenticator Validation Stage)
- 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
Assessment
This issue has not been assessed yet.