Adetunji Oludele Adebayo dfcf2cfb51 stages/user_write: only write user when data changes (#24158)
The user write stage previously saved the pending user on every run that
had prompt data, emitting a model_updated event and triggering downstream
provider/SCIM syncs even when the submitted data matched the existing user.

Snapshot the user's concrete field values before applying prompt data and
only save (and send the user_write signal) when something actually changed.
Newly created users are always written, and group membership is still
reconciled since those operations are idempotent.

Closes #23799

Co-authored-by: tungyhardDevOps <190939682+tungyhardDevOps@users.noreply.github.com>
2026-07-28 17:23:33 +01:00
2026-04-27 01:08:32 +02:00
2026-03-31 11:33:46 +02:00
2026-06-24 19:50:08 +02:00
2026-07-22 17:02:10 +02:00
2025-09-02 21:38:53 +00:00
2023-04-19 16:13:45 +02:00
2026-07-21 18:35:55 +02:00
2026-04-27 01:08:32 +02:00

authentik logo


Join Discord GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status Code Coverage Latest version

What is authentik?

authentik is an open-source Identity Provider (IdP) for modern SSO. It supports SAML, OAuth2/OIDC, LDAP, RADIUS, and more, designed for self-hosting from small labs to large production clusters.

Our enterprise offering is available for organizations to securely replace existing IdPs such as Okta, Auth0, Entra ID, and Ping Identity for robust, large-scale identity management.

Installation

  • Docker Compose: recommended for small/test setups. See the documentation.
  • Kubernetes (Helm Chart): recommended for larger setups. See the documentation and the Helm chart repository.
  • AWS CloudFormation: deploy on AWS using our official templates. See the documentation.
  • DigitalOcean Marketplace: one-click deployment via the official Marketplace app. See the app listing.

Screenshots

Light Dark

Development and contributions

See the Developer Documentation for information about setting up local build environments, testing your contributions, and our contribution process.

When you contribute documentation, either to accompany a code change or as a standalone contribution, please be sure to follow our documentation Style Guide.

Security

Please see SECURITY.md.

Adoption

Using authentik? We'd love to hear your story and feature your logo. Email us at hello@goauthentik.io or open a GitHub Issue/PR!

License

MIT License CC BY-SA 4.0 authentik EE License

Languages
Python 55.4%
TypeScript 34%
Rust 3.5%
JavaScript 2.6%
CSS 2.3%
Other 2.1%