Files
authentik/website
Dominic R 899994027d core: support hashed password in users API + automated install (#18686)
* core: add hash_password command and password_hash bootstrap support

* core: prevent hash format exposure in validation error

* core: remove redundant password length check

* core: remove extra blank lines from hash_password command

* core: add password_hash serializer tests, refine validation and imports

* core: add null password fields test, add hash warning to docs

* core: move hash validation to User.set_password_from_hash method

* core: emit password_changed signal in set_password_from_hash

* website: remove redundant hash security warning

* core: wrap conflict error message for translation

* core: wrap invalid hash error message for translation

* web, core: add set_password_hash API endpoint and admin UI

* core: simplify password_hash check to None comparison

* core: use None check for password conflict validation

* website: clarify Docker Compose $ escaping for .env vs compose.yml

* website: lint

* web: lint

* core: add nosec comment for empty password string in signal

* core: lint

* web: Fix Password Hash help text

* sources/kerberos,ldap: Gergo's review

* add testing for ^^ and type fix

* more general signal tests; not provider specific

* only used in tests

* add warning

* we can do this

* signals fix????

* core, web, website: review fixes

* style(docs): format automated install guide

* web: restore modal invoker import after rebase

Co-authored-by: Codex <codex@openai.com>

* fix generated clients

* core: trim hash password command tests

* core: add password hash permission

* core: cover service account password hashes

* web: remove password hash form

* core: regenerate password hash migration

* core: reuse password serializer for hashes

* docs: clarify hashed password imports

* Regenerate

* core: deduplicate user serializer writes

* core: deduplicate password update actions

* core: deduplicate password change signaling

* tests: reuse password hash API helper

* tests: reuse SSF credential assertions

* docs: centralize hashed password caveat

* core: name password hash signal source

* core: centralize password hash validation

* core: deduplicate serializer password saves

* docs: link source writeback caveats

* api: clarify password hash request field

* tests: deduplicate password hash API assertions

* web: reuse user display-name helper

* web: use existing user display formatter

* core: reuse reset password permission for hash endpoint

* core: keep separate password hash serializer

* tests: remove redundant password hash permission test

* 21745

Co-authored-by: Gergo <gergo@goauthentik.io>

* core: preserve empty password handling in user serializer

* core: inline blueprint user serializer fields

* Use password hash constant

* Simplify user serializer flow

* Inline password update handling

* Apply serializer cleanup

* Clean blueprint password handling

* Drop extra returns

* Split password hash signal

* Align hash signal receivers

* Remove stale password guards

* Inline password signal

---------

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Gergo <gergo@goauthentik.io>
2026-04-29 06:27:59 +02:00
..

authentik documentation source

This directory contains the source files for the authentik technical documentation, integration guides, and API documentation.

Contributions are welcome! Please refer to our contributor guidelines for details about contributing code or docs.

For instructions to set up your local environment for building docs locally, refer to our Docs development environment page.

For instructions for writing the docs and then testing in your local build, plus tips on writing, links to our Style Guide and templates, see the Writing documentation guide.

To ensure a smooth review process, we encourage you to build the documentation locally to preview and test your documentation contributions. Be sure to test locally before opening a pull request. Let us know if you have any questions or want help with any part of the process.

Package structure

At the root of the website directory is a package.json file that defines an NPM Workspace. This allows us to have multiple packages in the same repository, and to install their dependencies via a single command: make docs-install

---
config:
  layout: dagre
---
flowchart TD
    Root["NPM Workspace<br><code>./website</code>"]
    Root --> Topics["Topics<br><code>./docs</code>"] & Integrations["Integration Guides<br><code>./integrations</code>"] & API

    Schema["Schema<br><code>../schema.yml</code>"] --> API["Generated Documentation<br><code>./api</code>"]

     HoistedDependencies["Hoisted Dependencies<br><ul>
        <li>Docusaurus</li>
        <li>React</li>
        <li>MDX</li>
        </ul>"]


    style HoistedDependencies text-align:left

NPM packages which are in a parent workspace share a common node_modules directory. Sibling packages define their dependencies in their own package.json files. The dependencies which they share in common are lifted or "hoisted" to the parent node_modules directory.

Topics (AKA "The Docs")

The website/docs directory contains documentation on how to use authentik. It is organized into topics, which are defined by the sidebar.mjs file.

Integrations

The website/integrations directory contains documentation on how to use authentik with various third-party services.

API

The website/api directory contains documentation on the authentik API.

Deployment

Deployment is handled by a combination of Netlify and GitHub Action workflows.

Additional Resources