stages/user_write: Fix user attributes are not sanitized under certains conditions #17890
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Details
This PR fixes a case where certain prompt types (like the date prompt) lead to a failure in the user write stage, because of unsanitized attributes. The original issue was reported in #8708 and later fixed in #8926. However, the fix in #8926 only worked if the prompt would write to
attributes_fooorattributes.foo.bar. If the normal syntax is usedattributes.foothe stage would try to directly update the user attributes, which lead to unsanitized values. This PR fixes that case.Checklist
ak test authentik/)make lint-fix)If an API change has been made
make gen-build)If changes to the frontend have been made
make web)If applicable
make docs)