core: Expose password hashes in the user list API Endpoint#15572
core: Expose password hashes in the user list API Endpoint#15572josegomezr wants to merge 3 commits intogoauthentik:mainfrom
Conversation
✅ Deploy Preview for authentik-docs canceled.
|
✅ Deploy Preview for authentik-integrations canceled.
|
✅ Deploy Preview for authentik-storybook canceled.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #15572 +/- ##
==========================================
+ Coverage 93.15% 93.16% +0.01%
==========================================
Files 831 831
Lines 44135 44185 +50
==========================================
+ Hits 41115 41166 +51
+ Misses 3020 3019 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
c37f8ef to
e751456
Compare
|
I'd strongly prefer to not include something like this, even with the additional permission required, this still makes it quite easy to shoot yourself in the foot. We could add an endpoint that requires admin auth to validate an individual user's password instead? |
Whilst interesting too, the goal was rather for the other IDP to synchronize user data completely in order for it to operate independently of Authentik and merely connect occasionally to pull/push changed data. |
|
How about shielding this "feature" behind a very explicit config:
By default is deactivated, so it's harder to shoot yourself in the foot, and if you get to that point you must know what you're doing. |
Generally when talking about two-way synchronization across multiple IdPs, this would already be supported by various enterprise features (e.g. source stage) rather than as a typical homelab use case. |
|
We read https://docs.goauthentik.io/docs/add-secure-apps/flows-stages/stages/source/ but it is by our understanding not suitable to sync complete user information (including passphrase hashes) out of Authentik to a secondary IDP. |
Details
Return the stored password hash in the user list API endpoint.
The field will only appear if:
include_password=trueis provided in the requestauthentik_core.view_password_hashespermission.Closes #15569
Checklist
ak test authentik/)make lint-fix)If an API change has been made
make gen-build)If applicable (not sure if it applies)