* enterprise: add users and events export (reports app) * enterprise/reports: replace assert with AsertionError so that the assumption check is not lost when compiling to optimised byte code * enterprise/reports: use ConditionalInheritance with ExportMixin to make reduce coupling of enterprise with the rest of authentik * enterprise/reports: use custom iterative File to save data export instead of accessing default_storage directly, so all the FileField.save logic can run correctly (e.g. creating directories) * enterprise/reports: change app label to simply "authentik_reports" * wip Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * update for new file api Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * lint Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> * Apply suggestions from code review Signed-off-by: Dominic R <dominic@sdko.org> * wip * sources/oauth: save returned oauth refresh tokens and add slack provider (#18501) * sources/oauth: save returned oauth refresh tokens * Update authentik/sources/oauth/models.py Co-authored-by: Jens L. <jens@goauthentik.io> Signed-off-by: Connor Peshek <connor@connorpeshek.me> * lint * add tests * fix proper id setting * update id test --------- Signed-off-by: Connor Peshek <connor@connorpeshek.me> Co-authored-by: connor peshek <connorpeshek@unknown1641287c8f5d.attlocal.net> Co-authored-by: Jens L. <jens@goauthentik.io> Co-authored-by: connor peshek <connorpeshek@connors-MacBook-Pro.local> * core: custom avatar url improvements (#10525) Co-authored-by: Dominic R <dominic@sdko.org> * website/integrations: add salesforce (#18516) Co-authored-by: connor peshek <connorpeshek@connors-MacBook-Pro.local> Co-authored-by: dewi-tik <dewi@goauthentik.io> Co-authored-by: Dominic R <dominic@sdko.org> * endpoints: implement endpoint stage (#18468) * endpoints: implement endpoint stage Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix mismatched label Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix url in mdm config Signed-off-by: Jens Langhammer <jens@goauthentik.io> * rephrase Signed-off-by: Jens Langhammer <jens@goauthentik.io> * and API & UI Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add deprecated support and deprecate gdtc Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add stage mode Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fixup Signed-off-by: Jens Langhammer <jens@goauthentik.io> * rework stage slightly, add frontend Signed-off-by: Jens Langhammer <jens@goauthentik.io> * include jwks, add iat and exp Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set kid Signed-off-by: Jens Langhammer <jens@goauthentik.io> * include device details in event list Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * implement device summary Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add remaining tables Signed-off-by: Jens Langhammer <jens@goauthentik.io> * revert sanitize Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix uuid format issues Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> * web/flows: update default background image (#18540) Signed-off-by: Jens Langhammer <jens@goauthentik.io> * website/integrations: add hoop.dev (#17868) Co-authored-by: iops <iops@syneforge.com> Co-authored-by: Dominic R <dominic@sdko.org> * website: Docusaurus 3.9.2 (#18506) * endpoints/stage: v2, better error handling, more settings (#18545) * add options, idle fallback Signed-off-by: Jens Langhammer <jens@goauthentik.io> * delete other device tokens during enroll Signed-off-by: Jens Langhammer <jens@goauthentik.io> * better error handling Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> * website: Glossary (#16007) * website: Glossary fix minor issues wip Apply suggestion from @dominic-r Signed-off-by: Dominic R <dominic@sdko.org> anchor to param wip wip at least the lockfile changes now sure a-z first as tana asked idk why i switched in the first place wip wip lock lockfiles are hard wip please work no have? Revert "no have?" This reverts commit 743dbc1bc2900eedcc2c93af248e6afdec3688a3. * changed to sentence-case capitalization --------- Co-authored-by: Tana M Berry <tana@goauthentik.io> * web/i18n: Locale Context Merge Branch (#18426) * web: Update fonts to Patternfly 5 variants. * Fix order of heading override. * web: Flesh out locale context. * Fix Han pattern. * Remove comment. * Add additional regional codes. * Clarify comment. * Fix typos. * web/i18n: Add locale-specific font overrides. * Fix stale session in locale lifecycle. * core, web: Fix Han language codes. * Fix warnings about invalid BCP language code. * Build translations. * Add locale relative labels. * Add locale translations for Finnish and Portuguese. * Fix XLIFF errors. * Clean up labels. * Tidy regions. * Match region comment. * Update extracted values. * Fix locale switch not triggering on source language. * Split labels. * Clean up labels. * providers/scim: cache ServiceProviderConfig (#18047) * Update authentik/enterprise/reports/api/reports.py Co-authored-by: Jens L. <jens@beryju.org> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * enterprise/reports: got rid of unnecessary method-level import * enterprise/reports: celan up code duplication in data export generation (invoke viewset.filter_queryset directly instead of replicating it) * enterprise/reports: add check for app label when switching on content types * enterprise/reports: make hyperlink field on Notification larger so it can fit the security token in the export file URL * enterprise/reports: add is_superuser back in users export * enterprise/reports: split tests into multiple files * Apply suggestions from code review Signed-off-by: Dewi Roberts <dewi@goauthentik.io> * Fixed prettier issue * Update web/src/admin/events/DataExportListPage.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/admin/events/DataExportListPage.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/admin/events/EventListPage.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/admin/reports/ExportButton.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/admin/reports/ExportButton.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/admin/users/UserListPage.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/elements/notifications/NotificationDrawer.ts Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * Update web/src/elements/sidebar/SidebarItem.css Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> * enterprise/reports: resolve code review merge errors * enterprise/reports: remove the export button from the dom flow (by settings display:none) when there's no license * enterprise/reports: improve docs * include notification link in email Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * enterprise/reports: remove assignment assertion in ExportButton.ts * cleanup tests after perm update Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> Signed-off-by: Dominic R <dominic@sdko.org> Signed-off-by: Connor Peshek <connor@connorpeshek.me> Signed-off-by: Jens Langhammer <jens@goauthentik.io> Signed-off-by: Alexander Tereshkin <96586+atereshkin@users.noreply.github.com> Signed-off-by: Dewi Roberts <dewi@goauthentik.io> Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space> Co-authored-by: Dominic R <dominic@sdko.org> Co-authored-by: Connor Peshek <connor@connorpeshek.me> Co-authored-by: connor peshek <connorpeshek@unknown1641287c8f5d.attlocal.net> Co-authored-by: Jens L. <jens@goauthentik.io> Co-authored-by: connor peshek <connorpeshek@connors-MacBook-Pro.local> Co-authored-by: Konrad Mösch <konrad@moesch.org> Co-authored-by: dewi-tik <dewi@goauthentik.io> Co-authored-by: shcherbak <ju.shcherbak@gmail.com> Co-authored-by: iops <iops@syneforge.com> Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com> Co-authored-by: Tana M Berry <tana@goauthentik.io> Co-authored-by: Jens L. <jens@beryju.org>
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.