stages/user_login: require next action flows before login - #24846
stages/user_login: require next action flows before login#24846dominic-r wants to merge 5 commits into
Conversation
✅ Deploy Preview for authentik-integrations ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
f5975c1 to
4447fbd
Compare
17e1f32 to
caedd92
Compare
| try: | ||
| resolve_next_actions(attributes[USER_ATTRIBUTE_NEXT_ACTIONS]) | ||
| except ValueError as exc: | ||
| raise ValidationError(str(exc)) from exc |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dominic/next-actions/plan-splice #24846 +/- ##
====================================================================
+ Coverage 91.41% 94.38% +2.97%
====================================================================
Files 1145 1109 -36
Lines 71789 68150 -3639
Branches 3875 0 -3875
====================================================================
- Hits 65625 64325 -1300
+ Misses 6129 3825 -2304
+ Partials 35 0 -35
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
caedd92 to
6110a14
Compare
Users with the goauthentik.io/user/next-actions attribute set are routed through the listed flows before the login stage creates their session, and each flow is removed from the attribute once completed. Requires a valid enterprise license, skipped during user switching, fails closed when an action doesn't resolve to a usable flow. The user API rejects values that don't resolve to flows or use an authentication/invalidation flow. Closes: #19681
Setting, removing, and completing a next action now create next_action_set/next_action_removed/next_action_completed events instead of only generic model updates, and the attribute save at login no longer creates a model update event.
6110a14 to
b0cf6c6
Compare
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
authentik PR Installation instructions Instructions for docker-composeAdd the following block to your AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-d5ed345a5a9702c402330c1741a6b59e6ad18629
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)sAfterwards, run the upgrade commands from the latest release notes. Instructions for KubernetesAdd the following block to your authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-d5ed345a5a9702c402330c1741a6b59e6ad18629Afterwards, run the upgrade commands from the latest release notes. |
Users with the
goauthentik.io/user/next-actionsattribute (a flow slug or list of slugs) are routed through those flows before the user login stage creates their session, and each flow is removed from the attribute once completed. Requires a valid enterprise license (silently skipped otherwise), is skipped during user switching, and fails closed when an action doesn't resolve to a usable flow. The user API rejects values that don't resolve to a flow or that use an authentication/invalidation flow, so blueprints and API writes are validated up front.This is the generalized take on #23577 per review feedback there: the action is a flow rather than a hardcoded password flag, and the original login plan resumes after the actions instead of being discarded.
Closes #19681