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 cc781cad00
web/admin: improve user email button labels (#7233)
* web: isolate clipboard handling

We would like to use the clipboard for more than just the token copy button.  This commit
enables that by separating the "Write to Clipboard" and "Write to Notifications" routines
into separate functions, putting "writeToClipboard" into the utilities collection, and
clarifying what happens when a custom presses the TokenCopy button.

* web: break out the recovery link logic into a standalone function

UserViewPage and UserLinkPage have the same functionality to request to view a
link with which a user may access an account recovery flow.  The language and
error messages were different on both of those pages.  This commit harmonizes
the language by making the request a standalone function.  It also exploits the
breakout of the "write to clipboard" commit to write the link to the clipboard,
and to inform the user that the clipboard has been written to, when possible.

* web: parity between UserViewPage and UserListPage

Since the UserListPage's "accordion" view has an offer to "Email
the recovery link" to the user, it seemed appropriate to grant the
same capability to the UserListPage.

* web: harmonize the CSS.

After a bit of messing around, I have also ensured that the gap between the buttons is
the same in all cases, that in the columnar display the buttons are of uniform width,
and that the buttons have the same next:

- "Set Password"
- "View Recovery Link"
- "Email Recovery Link"

NOTE: This commit is contingent upon the PR for [isolate clipboard
handling](https://github.com/goauthentik/authentik/pull/7229) to
be accepted, as it relies on the clipboard handler for the "write
link to clipboard" feature.

* web: ensure the existence of the user

Every `...render()` method in the UserViewPage class has a preamble
guard clause:

```
    if (!this.user) {
        return html``;
    }
```

With this clause, it should not be necessary to repeatedly check
the type of `this.user` throughout the rest of the method, but the
nominal type is `User?`, which means that functions called from
within the method need to be protected against `undefined` failure.
By creating a new variable with the type after the guard clause,
we ensure the type is `User` (no question!) and can safely use it
without those checks.

Along the way, I replaced the empty html with `nothing` and corrected
(mostly by removing) the return types.

References:

- [Lit-HTML: Prefer `nothing` over empty html or other falsey walues](https://lit.dev/docs/api/templates/#nothing)
- [TypeScript: Type annotations on return types are rarely
necessary](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#:~:text=Return%20Type%20Annotations&text=Much%20like%20variable%20type%20annotations,example%20doesn't%20change%20anything.)

* web: accepting suggested label change
2023-10-20 10:01:18 -07:00
.github Revert "web: Updates to the Context and Tasks libraries from lit. (#7168)" 2023-10-18 11:22:00 +02:00
.vscode root: migrate bootstrap to blueprints (#6433) 2023-07-31 19:34:46 +02:00
authentik sources/oauth: include default JWKS URLs for OAuth sources (#6992) 2023-10-20 16:54:03 +02:00
blueprints providers/radius: TOTP MFA support (#7217) 2023-10-18 19:43:36 +02:00
cmd web/flows: bottom-align about text on flows page (#7051) 2023-10-03 14:10:10 +02:00
internal providers/radius: TOTP MFA support (#7217) 2023-10-18 19:43:36 +02:00
lifecycle lifecycle: fix otp_merge migration again (#7244) 2023-10-20 14:27:57 +02:00
locale translate: Updates for file locale/en/LC_MESSAGES/django.po in de (#7151) 2023-10-12 12:36:58 +02: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 wdio group in /tests/wdio with 4 updates (#7241) 2023-10-20 11:16:01 +02:00
web web/admin: improve user email button labels (#7233) 2023-10-20 10:01:18 -07:00
website website/blogs: Fix sso blog to remove 3rd reason (#7230) 2023-10-20 07:30:48 -05:00
.bumpversion.cfg release: 2023.8.3 2023-09-11 18:55:08 +02: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 node from 20 to 21 (#7237) 2023-10-20 11:17:58 +02:00
LICENSE enterprise: initial license (#5293) 2023-04-19 16:13:45 +02:00
Makefile stages/email: Fix query parameters getting lost in Email links (#5376) 2023-10-19 17:52:27 +02: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.8.3 2023-09-11 18:55:08 +02:00
go.mod core: bump goauthentik.io/api/v3 from 3.2023083.7 to 3.2023083.8 (#7221) 2023-10-18 20:01:35 +02:00
go.sum core: bump goauthentik.io/api/v3 from 3.2023083.7 to 3.2023083.8 (#7221) 2023-10-18 20:01:35 +02:00
ldap.Dockerfile core: bump golang from 1.21.2-bookworm to 1.21.3-bookworm (#7142) 2023-10-11 11:36:24 +02:00
manage.py root: update deprecation warnings 2022-11-25 11:47:28 +01:00
poetry.lock core: bump ruff from 0.1.0 to 0.1.1 (#7238) 2023-10-20 11:16:40 +02:00
proxy.Dockerfile core: bump node from 20 to 21 (#7237) 2023-10-20 11:17:58 +02:00
pyproject.toml Merge branch 'version-2023.8' 2023-09-11 22:04:23 +02:00
radius.Dockerfile core: bump golang from 1.21.2-bookworm to 1.21.3-bookworm (#7142) 2023-10-11 11:36:24 +02:00
schema.yml sources/oauth: include default JWKS URLs for OAuth sources (#6992) 2023-10-20 16:54:03 +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.