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.
Find a file
Ken Sternberg 911f8e49cc web: Replace ad-hoc search for CryptoCertificateKeyPairs with ak-crypto-certeficate-search
This commit replaces various ad-hoc implementations of `search-select` for CryptoCertificateKeyPairs
with a web component that encapsulates all of the needed behavior and exposes a single API.

The results are: Lots of visual clutter is eliminated.  A single search of:

```HTML
<ak-search-select
    .fetchObjects=${async (query?: string): Promise<CertificateKeyPair[]> => {
        const args: CryptoCertificatekeypairsListRequest = {
            ordering: "name",
            hasKey: true,
            includeDetails: false,
        };
        if (query !== undefined) {
            args.search = query;
        }
        const certificates = await new CryptoApi(
            DEFAULT_CONFIG,
        ).cryptoCertificatekeypairsList(args);
        return certificates.results;
    }}
    .renderElement=${(item: CertificateKeyPair): string => {
        return item.name;
    }}
    .value=${(item: CertificateKeyPair | undefined): string | undefined => {
        return item?.pk;
    }}
    .selected=${(item: CertificateKeyPair): boolean => {
        return this.instance?.tlsVerification === item.pk;
    }}
    ?blankable=${true}
>
</ak-search-select>
```

Now looks like:

```HTML
<ak-crypto-certificate-search certificate=${this.instance?.tlsVerification}>
</ak-crypto-certificate-search>
```

There are three searches that do not require there to be a valid key with the certificate; these are
supported with the boolean property `nokey`; likewise, there is one search (in SAMLProviderForm)
that states that if there is no current certificate in the SAMLProvider and only one certificate can
be found in the Authentik database, use that one; this is supported with the boolean property
`singleton`.

These changes replace 382 lines of object-oriented invocations with 36 lines of declarative
configuration, and 98 lines for the class.  Overall, the code for "find a crypto certificate" has
been reduced by 46%.

Suggestions for a better word than `singleton` are welcome!
2023-08-04 11:04:25 -07:00
.github ci: bump peter-evans/create-pull-request from 4 to 5 (#6459) 2023-08-03 10:20:58 +02:00
.vscode root: migrate bootstrap to blueprints (#6433) 2023-07-31 19:34:46 +02:00
authentik provider/oauth2: fix aud (Audience) field type which can be a list of… (#6447) 2023-08-01 23:16:26 +02:00
blueprints root: migrate bootstrap to blueprints (#6433) 2023-07-31 19:34:46 +02:00
cmd cmd: use live endpoint instead of ready for inbuild healthcheck 2023-05-08 22:04:18 +02:00
internal outposts: make metrics compliant with Prometheus best-practices (#6398) 2023-07-27 18:51:08 +02:00
lifecycle core: bump django from 4.1.7 to 4.2 (#5238) 2023-08-01 19:30:28 +02:00
locale web: app icons v2 (#6410) 2023-07-28 14:25:56 +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 outposts: support json patch for Kubernetes (#6319) 2023-07-22 02:29:28 +02:00
web web: Replace ad-hoc search for CryptoCertificateKeyPairs with ak-crypto-certeficate-search 2023-08-04 11:04:25 -07:00
website Bugs found by CI/CD. 2023-08-03 15:39:01 -07:00
.bumpversion.cfg release: 2023.6.1 2023-07-10 13:20:22 +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 root: add generated Source docs (#5323) 2023-07-31 11:59:20 +02:00
CODE_OF_CONDUCT.md root: rework and expand security policy 2022-11-28 12:10:53 +01:00
CODEOWNERS root: Test codeowners (#5586) 2023-05-11 20:26:04 +02: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
docker-compose.yml release: 2023.6.1 2023-07-10 13:20:22 +02:00
Dockerfile root: replace builtin psycopg libpq binary implementation with distro… (#6448) 2023-08-02 11:48:30 +02:00
go.mod core: bump github.com/getsentry/sentry-go from 0.22.0 to 0.23.0 (#6449) 2023-08-02 10:57:33 +02:00
go.sum core: bump github.com/getsentry/sentry-go from 0.22.0 to 0.23.0 (#6449) 2023-08-02 10:57:33 +02:00
ldap.Dockerfile core: bump golang from 1.20.6-bullseye to 1.20.7-bullseye (#6454) 2023-08-02 10:56:54 +02:00
LICENSE enterprise: initial license (#5293) 2023-04-19 16:13:45 +02:00
Makefile web/flows: add more stories (#6444) 2023-08-03 17:27:58 +02:00
manage.py root: update deprecation warnings 2022-11-25 11:47:28 +01:00
poetry.lock core: bump debugpy from 1.6.7 to 1.6.8 (#6458) 2023-08-03 10:21:13 +02:00
proxy.Dockerfile core: bump golang from 1.20.6-bullseye to 1.20.7-bullseye (#6454) 2023-08-02 10:56:54 +02:00
pyproject.toml root: replace builtin psycopg libpq binary implementation with distro… (#6448) 2023-08-02 11:48:30 +02:00
radius.Dockerfile core: bump golang from 1.20.6-bullseye to 1.20.7-bullseye (#6454) 2023-08-02 10:56:54 +02:00
README.md web: Add storybook (#5865) 2023-06-07 13:05:33 +02:00
schema.yml api: re-fix url import logging (#6400) 2023-07-27 12:56:51 +02:00
SECURITY.md root: Update security policy (#6222) 2023-07-12 06:56:37 -06:00

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.