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 73751e5cd9
web: refactor status label to separate component (#7407)
* web: break circular dependency between AKElement & Interface.

This commit changes the way the root node of the web application shell is
discovered by child components, such that the base class shared by both
no longer results in a circular dependency between the two models.

I've run this in isolation and have seen no failures of discovery; the identity
token exists as soon as the Interface is constructed and is found by every item
on the page.

* web: fix broken typescript references

This built... and then it didn't?  Anyway, the current fix is to
provide type information the AkInterface for the data that consumers
require.

* A quality of life thing: `<ak-status-label good>`

There's an idiom throughout the UI:

``` HTML
<ak-label color=${item.enabled ? PFColor.Green : PFColor.Red}>
      ${item.enabled ? msg("Yes") : msg("No")}
      </ak-label>
```

There are two problems with this.

- Repeating the conditional multiple times is error-prone
- The color scheme doesn't communicate much.

There are uses for ak-label that aren't like this, but I'm focusing on this particular use case,
which occurs about 20 times throughout the UI.

Since it's so common, let's isolate the most common case: `<ak-status-label good />` gives you the
"good" status, and `<ak-status-label/>` gives you the "bad" status, which is the default (no
arguments to the function).

There wasn't much clarity in the system for when to use orange vs red vs grey, but looking through
the use cases, it became clear that Red meant fail/inaccessible, Orange meant "Warning, but not
blocking," and Grey just means "info: this thing is off".

So let's define that with meaning: there are three types, error, warning, and info. Which
corresponds to debugging levels, but whatever, nerds grok that stuff.

So that example at the top becomes

```<ak-status-label ?good=${item.enabled}></ak-status-label>```

... and we can now more clearly understand what that conveys.

There is some heavy tension in this case: this is an easier and quicker-to-write solution to
informing the user of a binary status in an iconic way, but the developer has to remember that it
exists.

Story provided, and changes to the existing uses of the existing idiom provided.

* Added the 'compact label' story to storybook.
2023-11-20 11:24:48 -08:00
.github root: specify node and python versions in respective config files, deduplicate in CI (#7620) 2023-11-19 00:33:37 +01:00
.vscode root: migrate bootstrap to blueprints (#6433) 2023-07-31 19:34:46 +02:00
authentik sources/ldap: clean-up certs written from db (#7617) 2023-11-20 15:29:18 +01:00
blueprints stages/identification: add option to pretend user exists (#7610) 2023-11-18 01:55:48 +01:00
cmd web/flows: bottom-align about text on flows page (#7051) 2023-10-03 14:10:10 +02:00
internal internal: remove special route for /outpost.goauthentik.io (#7539) 2023-11-13 17:39:40 +01:00
lifecycle lifecycle: rework otp_merge migration (#7359) 2023-10-28 17:56:04 +02:00
locale core: compile backend translations (#7637) 2023-11-20 12:44:49 +01:00
schemas providers: SCIM (#4835) 2023-03-06 19:39:08 +01:00
scripts providers/oauth2: fix id_token being saved incorrectly leading to lost claims (#6645) 2023-08-28 00:51:48 +02:00
tests web: bump the eslint group in /tests/wdio with 1 update (#7635) 2023-11-20 12:48:50 +01:00
web web: refactor status label to separate component (#7407) 2023-11-20 11:24:48 -08:00
website root: specify node and python versions in respective config files, deduplicate in CI (#7620) 2023-11-19 00:33:37 +01:00
.bumpversion.cfg release: 2023.10.3 2023-11-09 19:20:28 +01:00
.dockerignore root: don't exclude enterprise from container image (#6956) 2023-09-22 16:22:16 +02:00
.editorconfig website: codespell with custom dictionary and CI (#5062) 2023-03-24 00:24:55 +01:00
.gitignore root: Ignore the vendor folder (#7094) 2023-10-06 17:50:46 +02:00
CODEOWNERS web: bump the eslint group in /web with 1 update (#7039) 2023-10-02 19:37:32 +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 core: bump golang from 1.21.3-bookworm to 1.21.4-bookworm 2023-11-08 11:13:24 +01:00
LICENSE enterprise: initial license (#5293) 2023-04-19 16:13:45 +02:00
Makefile website: bump the docusaurus group in /website with 3 updates (#7400) 2023-11-06 15:12:23 +01:00
README.md root: remove outdated sponsorship section on readme (#6973) 2023-09-25 16:38:50 +02:00
SECURITY.md website: update 2023.8 release notes (#6666) 2023-08-29 19:57:14 +02:00
docker-compose.yml release: 2023.10.3 2023-11-09 19:20:28 +01:00
go.mod core: bump goauthentik.io/api/v3 from 3.2023103.3 to 3.2023103.4 (#7634) 2023-11-20 10:53:03 +01:00
go.sum core: bump goauthentik.io/api/v3 from 3.2023103.3 to 3.2023103.4 (#7634) 2023-11-20 10:53:03 +01:00
ldap.Dockerfile core: bump golang from 1.21.3-bookworm to 1.21.4-bookworm 2023-11-08 11:13:24 +01:00
manage.py root: update deprecation warnings 2022-11-25 11:47:28 +01:00
poetry.lock core: bump psycopg from 3.1.12 to 3.1.13 (#7625) 2023-11-20 10:54:11 +01:00
proxy.Dockerfile core: bump golang from 1.21.3-bookworm to 1.21.4-bookworm 2023-11-08 11:13:24 +01:00
pyproject.toml root: specify node and python versions in respective config files, deduplicate in CI (#7620) 2023-11-19 00:33:37 +01:00
radius.Dockerfile core: bump golang from 1.21.3-bookworm to 1.21.4-bookworm 2023-11-08 11:13:24 +01:00
schema.yml stages/identification: add option to pretend user exists (#7610) 2023-11-18 01:55:48 +01: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.