authentik fork
This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Ken Sternberg 7c7957f160
web/user: refactor LibraryPage for testing, add CTA (#5665)
* 5171: Fixed README to comply with Prettier rules.

I'm pretty impressed that that worked.  Good on Jens for having that
in the prettier rules.

* web: revised package.json

Removed the migration and web/README.md file.  The former should not have
been included; the latter is currently unprofessional in tone.

* web: revise LibraryPage, add CTA

TL;DR:

- Separated LibraryPage into a bunch of different, independent parts, none of which require
Authentik running to be testable or viewable.
- This made adding the "Add an Application" CTA easier.
- This sets the stage for unit and view testing of the UI

This commit revises the LibraryPage, devolving it into a couple of independent components that have
to asynchronous dependencies, with a single asynchronous master:

- LibraryPage: Loads the UIConfig, UserConfig, and CoreApi, and once those are loaded, launches the
  LibraryPageImpl.
- LibraryPageImpl: the ListView of applications available, and updates the ListView according to
  search criteria it receives via an event listener.
  - LibraryPageImpl.css: The stylesheet. Put here because it's visual clutter.
  - LibraryPageImpl.utils: defines static functions used to filter the view. Here because, again, it
    would otherwise be visual clutter of the LibraryPageImpl.
- ApplicationEmptyState: Shows the "You have no applications" and, if the user is a superuser, the
  "Add an application" button.
- ApplicationSearch: Contains the Fuse implementation and, as the search result is updated, sends
  the selected and filtered app list to the LibraryPage via an event.  Also controls the "Choose an
  application by pressing Enter" event.
- ApplicationList: Displays the list of applications.

All of these components are _responsive_ to changes in the Apps collection via the LibraryPage
itself, but none of them invoke the Apps collection, UIConfig, and CoreApi directly, so it should be
possible to create Storybook implementations that view the LibraryPageImpl itself without having to
have an instance of Authentik running.

If the user is a superuser, the "You have no applications" panel now shows the "Add an Application"
button and a link to the documentation on how to add an application.

* web: lint and prettier updates

\#\# Details

-   Resolves #5171

\#\# Changes

This just updates the prettier and eslint passes.

* \#\# Details

-   Resolves #5171

\#\# Changes

Removed unused declarations.

* \#\# Details

-   web: refactor LibraryPage, resolves #5171

\#\# Changes

Some changes found in code review, including an embarassing failure
to both remove the old internal accessor and propagate the new
one for "isAdmin".

A pattern is emerging that a LitComponent class should consist of:

- styles
- properties
- states
- queries
- other object fields
- constructor()
- connectedCallBack()
- disconnectedCallBack()
- event listeners
- callback helpers
- render helpers
- render()

... in that order.

* actually remove LibraryPage that got re-added in the rebase

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* fix router import

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* use pf-c-button for CTA

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* fix different alignment compared to old version

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* use docLink() for documentation link

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* also open docs in new tab

Signed-off-by: Jens Langhammer <jens@goauthentik.io>

* web: minor language changes

As requested by @Tana.

---------

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
2023-05-22 23:35:26 +02:00
.github ci: bump helm/kind-action from 1.6.0 to 1.7.0 (#5667) 2023-05-18 10:51:48 +02:00
.vscode web/flows: improve UI for TOTP code input (#5676) 2023-05-18 18:41:53 +02:00
authentik root: add install ID (#5717) 2023-05-22 17:24:12 +02:00
blueprints core: make groups field for user optional (#5702) 2023-05-21 15:19:05 +02:00
cmd cmd: use live endpoint instead of ready for inbuild healthcheck 2023-05-08 22:04:18 +02:00
internal release: 2023.5.1 2023-05-18 21:33:38 +02:00
lifecycle root: add install ID (#5717) 2023-05-22 17:24:12 +02:00
locale Translations for locale/en/LC_MESSAGES/django.po in zh_CN (#5712) 2023-05-22 10:49:32 +02:00
schemas providers: SCIM (#4835) 2023-03-06 19:39:08 +01:00
scripts root: fix generate_config script not setting debug (#5465) 2023-05-03 23:52:59 +03:00
tests core: bump goauthentik.io/api/v3 from 3.2023041.11 to 3.2023041.12 (#5578) 2023-05-11 11:53:58 +02:00
web web/user: refactor LibraryPage for testing, add CTA (#5665) 2023-05-22 23:35:26 +02:00
website website/integrations: Update discord integration role check expression - fix errors. (#5723) 2023-05-22 22:06:03 +02:00
.bumpversion.cfg release: 2023.5.1 2023-05-18 21:33:38 +02:00
.dockerignore enterprise: initial license (#5293) 2023-04-19 16:13:45 +02:00
.editorconfig website: codespell with custom dictionary and CI (#5062) 2023-03-24 00:24:55 +01:00
.gitignore website/blog: Becoming OpenID certified - Why standards matter (#4865) 2023-03-07 18:22:53 +01:00
CODEOWNERS root: Test codeowners (#5586) 2023-05-11 20:26:04 +02:00
CODE_OF_CONDUCT.md root: rework and expand security policy 2022-11-28 12:10:53 +01:00
CONTRIBUTING.md website/developer-docs: move contributing to dev docs index and link contributing file (#5554) 2023-05-09 20:26:55 +02:00
Dockerfile web: revised package.json (#5612) 2023-05-16 12:45:10 +02:00
LICENSE enterprise: initial license (#5293) 2023-04-19 16:13:45 +02:00
Makefile *: improve configuration error events (#5523) 2023-05-08 15:34:43 +02:00
README.md Update README.md (#5188) 2023-04-06 08:07:48 -05:00
SECURITY.md website/docs: add 2023.5 to release sidebar (#5631) 2023-05-16 14:12:30 +02:00
docker-compose.yml release: 2023.5.1 2023-05-18 21:33:38 +02:00
go.mod core: bump goauthentik.io/api/v3 from 3.2023051.1 to 3.2023051.3 (#5715) 2023-05-22 10:46:31 +02:00
go.sum core: bump goauthentik.io/api/v3 from 3.2023051.1 to 3.2023051.3 (#5715) 2023-05-22 10:46:31 +02:00
ldap.Dockerfile core: bump golang from 1.20.3-bullseye to 1.20.4-bullseye (#5454) 2023-05-03 12:07:05 +03:00
manage.py root: update deprecation warnings 2022-11-25 11:47:28 +01:00
poetry.lock core: bump pycryptodome from 3.17 to 3.18.0 (#5716) 2023-05-22 10:45:59 +02:00
proxy.Dockerfile web: revised package.json (#5612) 2023-05-16 12:45:10 +02:00
pyproject.toml release: 2023.5.1 2023-05-18 21:33:38 +02:00
radius.Dockerfile core: bump golang from 1.20.3-bullseye to 1.20.4-bullseye (#5454) 2023-05-03 12:07:05 +03:00
schema.yml core: make groups field for user optional (#5702) 2023-05-21 15:19:05 +02:00

README.md

authentik logo


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

What is authentik?

Authentik is an open-source Identity Provider that emphasizes flexibility and versatility. It can be seamlessly integrated into existing environments to support new protocols. Authentik is also a great solution for implementing sign-up, recovery, and other similar features in your application, saving you the hassle of dealing with them.

Installation

For small/test setups it is recommended to use Docker Compose; refer to the documentation.

For bigger setups, there is a Helm Chart here. This is documented here.

Screenshots

Light Dark

Development

See Developer Documentation

Security

See SECURITY.md

Adoption and Contributions

Your organization uses authentik? We'd love to add your logo to the readme and our website! Email us @ hello@goauthentik.io or open a GitHub Issue/PR! For more information on how to contribute to authentik, please refer to our CONTRIBUTING.md file.

Sponsors

This project is proudly sponsored by:

DigitalOcean provides development and testing resources for authentik.