Compare commits

...

46 Commits

Author SHA1 Message Date
86a4a7dcee release: 2022.3.3 2022-03-21 22:37:13 +01:00
73fe866cb6 website/docs: prepare 2022.3.3
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-21 22:37:01 +01:00
8b95e9f97a crypto: open files in read-only mode for importing (#2536)
closes #2535
2022-03-21 10:46:09 +01:00
a3eb72d160 website/integrations: Document using pfSense as Provider Integration (#2534)
* Add pfSense documentation

* add pfSense to sidebar

* Add pfsense secure setup

* rearrangement of sections for better clarity

* Add port value in unsecure setup

* change admonitions type for unsecure setup

* add `Test you setup` section

* add `Change pfSense default authentication backend` section

* Minor corrections

Co-authored-by: Danaël Giordana <danael@giordana.cc>
2022-03-21 10:45:30 +01:00
b418db6ecf build(deps): bump @babel/plugin-proposal-decorators in /web (#2537)
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.17.2 to 7.17.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:02:15 +01:00
6cb1ab1d2b build(deps): bump country-flag-icons from 1.4.22 to 1.4.24 in /web (#2538)
Bumps [country-flag-icons](https://gitlab.com/catamphetamine/country-flag-icons) from 1.4.22 to 1.4.24.
- [Release notes](https://gitlab.com/catamphetamine/country-flag-icons/tags)
- [Changelog](https://gitlab.com/catamphetamine/country-flag-icons/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/country-flag-icons/compare/v1.4.22...v1.4.24)

---
updated-dependencies:
- dependency-name: country-flag-icons
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:01:09 +01:00
ae09dac720 build(deps): bump @babel/core from 7.17.7 to 7.17.8 in /web (#2539)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.7 to 7.17.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:00:53 +01:00
44c9ad19a7 build(deps): bump sentry-sdk from 1.5.7 to 1.5.8 (#2540)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 1.5.7 to 1.5.8.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/1.5.7...1.5.8)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:00:40 +01:00
554272a927 build(deps): bump paramiko from 2.10.2 to 2.10.3 (#2541)
Bumps [paramiko](https://github.com/paramiko/paramiko) from 2.10.2 to 2.10.3.
- [Release notes](https://github.com/paramiko/paramiko/releases)
- [Changelog](https://github.com/paramiko/paramiko/blob/main/NEWS)
- [Commits](https://github.com/paramiko/paramiko/compare/2.10.2...2.10.3)

---
updated-dependencies:
- dependency-name: paramiko
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:00:26 +01:00
acf2af8f66 build(deps): bump github.com/go-openapi/runtime from 0.23.2 to 0.23.3 (#2542)
Bumps [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) from 0.23.2 to 0.23.3.
- [Release notes](https://github.com/go-openapi/runtime/releases)
- [Commits](https://github.com/go-openapi/runtime/compare/v0.23.2...v0.23.3)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 09:59:19 +01:00
b45a442447 outposts/ldap: fix contexts
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-19 18:28:27 +01:00
75a720ead1 outposts/ldap: prevent operations error from nil dereference (#2447)
closes #2526
2022-03-19 18:26:26 +01:00
615ce287ce Translate /web/src/locales/en.po in zh_CN (#2529)
translation completed for the source file '/web/src/locales/en.po'
on the 'zh_CN' language.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2022-03-19 17:46:55 +01:00
aa8d97249a Translate /web/src/locales/en.po in zh-Hans (#2530)
translation completed for the source file '/web/src/locales/en.po'
on the 'zh-Hans' language.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2022-03-19 17:46:46 +01:00
2390df17f1 Translate /web/src/locales/en.po in zh_TW (#2532)
translation completed for the source file '/web/src/locales/en.po'
on the 'zh_TW' language.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2022-03-19 17:46:34 +01:00
c022052539 Translate /web/src/locales/en.po in zh-Hant (#2531)
translation completed for the source file '/web/src/locales/en.po'
on the 'zh-Hant' language.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2022-03-19 17:46:21 +01:00
13c050e2a6 web: fix style for selected item in select in dark mode
closes #2528

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-18 21:20:11 +01:00
ef371b3750 web/admin: default to not include current session in flow play, add option to start with current session
closes #2527

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-18 19:41:11 +01:00
bb1f79347b build(deps): bump python (#2524)
Bumps python from 3.10.2-slim-bullseye to 3.10.3-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-18 10:14:07 +01:00
6ed0d6d124 build(deps-dev): bump pytest from 7.1.0 to 7.1.1 (#2525)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.0...7.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-18 10:13:54 +01:00
4ed60fe36b build(deps): bump postcss from 8.4.11 to 8.4.12 in /website (#2512) 2022-03-17 09:46:38 +01:00
ca9fa79095 build(deps): bump @types/grecaptcha from 3.0.3 to 3.0.4 in /web (#2513) 2022-03-17 09:46:23 +01:00
a2408cefcf build(deps): bump golang from 1.17.8-bullseye to 1.18.0-bullseye (#2511) 2022-03-17 09:45:44 +01:00
145eaa5de3 build(deps): bump prettier from 2.5.1 to 2.6.0 in /web (#2515) 2022-03-17 09:45:15 +01:00
1991c930f2 build(deps-dev): bump prettier from 2.5.1 to 2.6.0 in /website (#2516) 2022-03-17 09:44:55 +01:00
736f84b670 build(deps): bump country-flag-icons from 1.4.21 to 1.4.22 in /web (#2517) 2022-03-17 09:44:41 +01:00
d4d5c2675b build(deps): bump urllib3 from 1.26.8 to 1.26.9 (#2518) 2022-03-17 09:44:25 +01:00
be232e2b77 core: fix provider launch URL being prioritised over manually configured launch URL
closes #2493

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-16 10:26:55 +01:00
42389188ad web/elements: make SearchSelect optionally blankable
closes #2504

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-16 10:12:47 +01:00
1f6af8c221 web/admin: fix user defaulting to 0 when not set in PolicyBindingForm
closes #2496

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-16 10:12:47 +01:00
f4955e3e62 build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#2502) 2022-03-16 09:31:14 +01:00
a8ef3096c1 build(deps): bump postcss from 8.4.8 to 8.4.11 in /website (#2498) 2022-03-16 09:29:05 +01:00
14f76b2575 build(deps): bump webcomponent-qr-code from 1.0.5 to 1.0.6 in /web (#2499) 2022-03-16 09:28:51 +01:00
50065d37b9 build(deps): bump @fortawesome/fontawesome-free in /web (#2500) 2022-03-16 09:28:40 +01:00
a54670fb91 build(deps): bump lit from 2.2.0 to 2.2.1 in /web (#2501) 2022-03-16 09:28:28 +01:00
51fda51cbf build(deps): bump goauthentik.io/api/v3 from 3.2022031.2 to 3.2022032.1 (#2503) 2022-03-16 09:27:22 +01:00
53d0205e86 outposts/proxy: use Prefix in ingress for k8s
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2022-03-15 19:01:08 +01:00
0f56d00959 website/docs: added example for custom user attributes (#2406)
* added example for custom user attributes

* simplified example

Co-authored-by: croudsarabi <constantin.roudsarabi@andrena.de>
2022-03-15 18:12:02 +01:00
b7a6fccdf9 web: Update Web API Client version (#2491)
Signed-off-by: GitHub <noreply@github.com>

Co-authored-by: BeryJu <BeryJu@users.noreply.github.com>
2022-03-15 10:28:36 +01:00
522f49f48c Merge branch 'version-2022.3' 2022-03-15 10:07:40 +01:00
e685f11514 build(deps): bump @typescript-eslint/eslint-plugin in /web (#2486) 2022-03-15 09:35:36 +01:00
1841b9b4c6 build(deps): bump rollup from 2.70.0 to 2.70.1 in /web (#2485) 2022-03-15 09:32:23 +01:00
40e37a5c2c build(deps): bump @typescript-eslint/parser in /web (#2487) 2022-03-15 09:31:27 +01:00
ac838645a9 build(deps): bump @babel/core from 7.17.5 to 7.17.7 in /web (#2488) 2022-03-15 09:31:06 +01:00
be40d67c4d build(deps): bump paramiko from 2.10.1 to 2.10.2 (#2489) 2022-03-15 09:30:46 +01:00
700cc06f45 build(deps): bump goauthentik.io/api/v3 from 3.2022031.1 to 3.2022031.2 (#2490) 2022-03-15 09:30:30 +01:00
46 changed files with 2922 additions and 2180 deletions

View File

@ -1,5 +1,5 @@
[bumpversion]
current_version = 2022.3.2
current_version = 2022.3.3
tag = True
commit = True
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-?(?P<release>.*)

View File

@ -30,9 +30,9 @@ jobs:
with:
push: ${{ github.event_name == 'release' }}
tags: |
beryju/authentik:2022.3.2,
beryju/authentik:2022.3.3,
beryju/authentik:latest,
ghcr.io/goauthentik/server:2022.3.2,
ghcr.io/goauthentik/server:2022.3.3,
ghcr.io/goauthentik/server:latest
platforms: linux/amd64,linux/arm64
context: .
@ -69,9 +69,9 @@ jobs:
with:
push: ${{ github.event_name == 'release' }}
tags: |
beryju/authentik-${{ matrix.type }}:2022.3.2,
beryju/authentik-${{ matrix.type }}:2022.3.3,
beryju/authentik-${{ matrix.type }}:latest,
ghcr.io/goauthentik/${{ matrix.type }}:2022.3.2,
ghcr.io/goauthentik/${{ matrix.type }}:2022.3.3,
ghcr.io/goauthentik/${{ matrix.type }}:latest
file: ${{ matrix.type }}.Dockerfile
platforms: linux/amd64,linux/arm64
@ -152,7 +152,7 @@ jobs:
SENTRY_PROJECT: authentik
SENTRY_URL: https://sentry.beryju.org
with:
version: authentik@2022.3.2
version: authentik@2022.3.3
environment: beryjuorg-prod
sourcemaps: './web/dist'
url_prefix: '~/static/dist'

View File

@ -16,7 +16,7 @@ ENV NODE_ENV=production
RUN cd /work/web && npm i && npm run build
# Stage 3: Build go proxy
FROM docker.io/golang:1.17.8-bullseye AS builder
FROM docker.io/golang:1.18.0-bullseye AS builder
WORKDIR /work
@ -32,7 +32,7 @@ COPY ./go.sum /work/go.sum
RUN go build -o /work/authentik ./cmd/server/main.go
# Stage 4: Run
FROM docker.io/python:3.10.2-slim-bullseye
FROM docker.io/python:3.10.3-slim-bullseye
LABEL org.opencontainers.image.url https://goauthentik.io
LABEL org.opencontainers.image.description goauthentik.io Main server image, see https://goauthentik.io for more info.

View File

@ -137,6 +137,6 @@ install:
cd website && npm i
a: install
tmux -CC \
tmux \
new-session 'make run' \; \
split-window 'make web-watch'

View File

@ -2,7 +2,7 @@
from os import environ
from typing import Optional
__version__ = "2022.3.2"
__version__ = "2022.3.3"
ENV_GIT_HASH_KEY = "GIT_BUILD_HASH"

View File

@ -287,10 +287,10 @@ class Application(PolicyBindingModel):
def get_launch_url(self, user: Optional["User"] = None) -> Optional[str]:
"""Get launch URL if set, otherwise attempt to get launch URL based on provider."""
url = None
if self.meta_launch_url:
url = self.meta_launch_url
if provider := self.get_provider():
url = provider.launch_url
if self.meta_launch_url:
url = self.meta_launch_url
if user and url:
if isinstance(user, SimpleLazyObject):
user._setup()

View File

@ -4,8 +4,10 @@ from rest_framework.test import APITestCase
from authentik.core.models import Application
from authentik.core.tests.utils import create_test_admin_user
from authentik.flows.models import Flow
from authentik.policies.dummy.models import DummyPolicy
from authentik.policies.models import PolicyBinding
from authentik.providers.oauth2.models import OAuth2Provider
class TestApplicationsAPI(APITestCase):
@ -13,8 +15,19 @@ class TestApplicationsAPI(APITestCase):
def setUp(self) -> None:
self.user = create_test_admin_user()
self.provider = OAuth2Provider.objects.create(
name="test",
redirect_uris="http://some-other-domain",
authorization_flow=Flow.objects.create(
name="test",
slug="test",
),
)
self.allowed = Application.objects.create(
name="allowed", slug="allowed", meta_launch_url="https://goauthentik.io/%(username)s"
name="allowed",
slug="allowed",
meta_launch_url="https://goauthentik.io/%(username)s",
provider=self.provider,
)
self.denied = Application.objects.create(name="denied", slug="denied")
PolicyBinding.objects.create(
@ -64,8 +77,19 @@ class TestApplicationsAPI(APITestCase):
"pk": str(self.allowed.pk),
"name": "allowed",
"slug": "allowed",
"provider": None,
"provider_obj": None,
"provider": self.provider.pk,
"provider_obj": {
"assigned_application_name": "allowed",
"assigned_application_slug": "allowed",
"authorization_flow": str(self.provider.authorization_flow.pk),
"component": "ak-provider-oauth2-form",
"meta_model_name": "authentik_providers_oauth2.oauth2provider",
"name": self.provider.name,
"pk": self.provider.pk,
"property_mappings": [],
"verbose_name": "OAuth2/OpenID Provider",
"verbose_name_plural": "OAuth2/OpenID Providers",
},
"launch_url": f"https://goauthentik.io/{self.user.username}",
"meta_launch_url": "https://goauthentik.io/%(username)s",
"meta_icon": None,
@ -100,8 +124,19 @@ class TestApplicationsAPI(APITestCase):
"pk": str(self.allowed.pk),
"name": "allowed",
"slug": "allowed",
"provider": None,
"provider_obj": None,
"provider": self.provider.pk,
"provider_obj": {
"assigned_application_name": "allowed",
"assigned_application_slug": "allowed",
"authorization_flow": str(self.provider.authorization_flow.pk),
"component": "ak-provider-oauth2-form",
"meta_model_name": "authentik_providers_oauth2.oauth2provider",
"name": self.provider.name,
"pk": self.provider.pk,
"property_mappings": [],
"verbose_name": "OAuth2/OpenID Provider",
"verbose_name_plural": "OAuth2/OpenID Providers",
},
"launch_url": f"https://goauthentik.io/{self.user.username}",
"meta_launch_url": "https://goauthentik.io/%(username)s",
"meta_icon": None,

View File

@ -61,7 +61,7 @@ def certificate_discovery(self: MonitoredTask):
else:
cert_name = path.name.replace(path.suffix, "")
try:
with open(path, "r+", encoding="utf-8") as _file:
with open(path, "r", encoding="utf-8") as _file:
body = _file.read()
if "PRIVATE KEY" in body:
private_keys[cert_name] = ensure_private_key_valid(body)

View File

@ -129,7 +129,7 @@ class IngressReconciler(KubernetesObjectReconciler[V1Ingress]):
),
),
path="/outpost.goauthentik.io",
path_type="ImplementationSpecific",
path_type="Prefix",
)
]
),
@ -147,7 +147,7 @@ class IngressReconciler(KubernetesObjectReconciler[V1Ingress]):
),
),
path="/",
path_type="ImplementationSpecific",
path_type="Prefix",
)
]
),

View File

@ -17,7 +17,7 @@ services:
image: redis:alpine
restart: unless-stopped
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.3.2}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.3.3}
restart: unless-stopped
command: server
environment:
@ -38,7 +38,7 @@ services:
- "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000"
- "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443"
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.3.2}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.3.3}
restart: unless-stopped
command: worker
environment:

6
go.mod
View File

@ -8,7 +8,7 @@ require (
github.com/garyburd/redigo v1.6.2 // indirect
github.com/getsentry/sentry-go v0.13.0
github.com/go-ldap/ldap/v3 v3.4.2
github.com/go-openapi/runtime v0.23.2
github.com/go-openapi/runtime v0.23.3
github.com/go-openapi/strfmt v0.21.2
github.com/golang-jwt/jwt v3.2.2+incompatible
github.com/google/uuid v1.3.0
@ -26,8 +26,8 @@ require (
github.com/prometheus/client_golang v1.12.1
github.com/quasoft/memstore v0.0.0-20191010062613-2bce066d2b0b
github.com/sirupsen/logrus v1.8.1
github.com/stretchr/testify v1.7.0
goauthentik.io/api/v3 v3.2022031.1
github.com/stretchr/testify v1.7.1
goauthentik.io/api/v3 v3.2022032.1
golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c

11
go.sum
View File

@ -132,8 +132,8 @@ github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJ
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0=
github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
github.com/go-openapi/runtime v0.23.2 h1:SLoYVM3ovq+lynpgrHQZ5WQcx+CBE0HHHCZU3c2jQoo=
github.com/go-openapi/runtime v0.23.2/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk=
github.com/go-openapi/runtime v0.23.3 h1:/dxjx4KCOQI5ImBMz036F6v/DzZ2NUjSRvbLJs1rgoE=
github.com/go-openapi/runtime v0.23.3/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk=
github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
@ -424,8 +424,9 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
@ -460,8 +461,8 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
goauthentik.io/api/v3 v3.2022031.1 h1:8n0fHdp8DIlLrTZR79SX8jfYHnJFOeloEJ5D82xRNjU=
goauthentik.io/api/v3 v3.2022031.1/go.mod h1:QM9J32HgYE4gL71lWAfAoXSPdSmLVLW08itfLI3Mo10=
goauthentik.io/api/v3 v3.2022032.1 h1:8PCy0tHUNjGVNJ7nuKPsK64vURFTeqUifyj68RlqMK4=
goauthentik.io/api/v3 v3.2022032.1/go.mod h1:QM9J32HgYE4gL71lWAfAoXSPdSmLVLW08itfLI3Mo10=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

View File

@ -25,4 +25,4 @@ func OutpostUserAgent() string {
return fmt.Sprintf("authentik-outpost@%s", FullVersion())
}
const VERSION = "2022.3.2"
const VERSION = "2022.3.3"

View File

@ -116,12 +116,12 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult,
var users *[]api.User
var groups *[]api.Group
errs, _ := errgroup.WithContext(req.Context())
errs, errCtx := errgroup.WithContext(req.Context())
if needUsers {
errs.Go(func() error {
if flags.CanSearch {
uapisp := sentry.StartSpan(req.Context(), "authentik.providers.ldap.search.api_user")
uapisp := sentry.StartSpan(errCtx, "authentik.providers.ldap.search.api_user")
searchReq, skip := utils.ParseFilterForUser(c.CoreApi.CoreUsersList(uapisp.Context()), parsedFilter, false)
if skip {
@ -140,8 +140,8 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult,
users = &u.Results
} else {
if flags.UserInfo == nil {
uapisp := sentry.StartSpan(req.Context(), "authentik.providers.ldap.search.api_user")
u, _, err := c.CoreApi.CoreUsersRetrieve(req.Context(), flags.UserPk).Execute()
uapisp := sentry.StartSpan(errCtx, "authentik.providers.ldap.search.api_user")
u, _, err := c.CoreApi.CoreUsersRetrieve(uapisp.Context(), flags.UserPk).Execute()
uapisp.Finish()
if err != nil {
@ -164,7 +164,7 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult,
if needGroups {
errs.Go(func() error {
gapisp := sentry.StartSpan(req.Context(), "authentik.providers.ldap.search.api_group")
gapisp := sentry.StartSpan(errCtx, "authentik.providers.ldap.search.api_group")
searchReq, skip := utils.ParseFilterForGroup(c.CoreApi.CoreGroupsList(gapisp.Context()), parsedFilter, false)
if skip {
req.Log().Trace("Skip backend request")
@ -252,7 +252,7 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult,
if scope >= 0 && (strings.EqualFold(req.BaseDN, ds.si.GetBaseDN()) || utils.HasSuffixNoCase(req.BaseDN, ds.si.GetBaseVirtualGroupDN())) {
singlevg := utils.HasSuffixNoCase(req.BaseDN, ","+ds.si.GetBaseVirtualGroupDN())
if !singlevg || utils.IncludeObjectClass(filterOC, constants.GetContainerOCs()) {
if !singlevg && utils.IncludeObjectClass(filterOC, constants.GetContainerOCs()) {
entries = append(entries, utils.GetContainerEntry(filterOC, ds.si.GetBaseVirtualGroupDN(), constants.OUVirtualGroups))
scope -= 1
}

View File

@ -1,5 +1,5 @@
# Stage 1: Build
FROM docker.io/golang:1.17.8-bullseye AS builder
FROM docker.io/golang:1.18.0-bullseye AS builder
WORKDIR /go/src/goauthentik.io

26
poetry.lock generated
View File

@ -1091,7 +1091,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
[[package]]
name = "paramiko"
version = "2.10.1"
version = "2.10.3"
description = "SSH2 protocol library"
category = "main"
optional = false
@ -1353,7 +1353,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pytest"
version = "7.1.0"
version = "7.1.1"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
@ -1535,7 +1535,7 @@ urllib3 = {version = ">=1.26,<2.0", extras = ["secure", "socks"]}
[[package]]
name = "sentry-sdk"
version = "1.5.7"
version = "1.5.8"
description = "Python client for Sentry (https://sentry.io)"
category = "main"
optional = false
@ -1806,7 +1806,7 @@ python-versions = ">=3.6"
[[package]]
name = "urllib3"
version = "1.26.8"
version = "1.26.9"
description = "HTTP library with thread-safe connection pooling, file post, and more."
category = "main"
optional = false
@ -1820,7 +1820,7 @@ pyOpenSSL = {version = ">=0.14", optional = true, markers = "extra == \"secure\"
PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = "extra == \"socks\""}
[package.extras]
brotli = ["brotlipy (>=0.6.0)"]
brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
@ -2869,8 +2869,8 @@ packaging = [
{file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
]
paramiko = [
{file = "paramiko-2.10.1-py2.py3-none-any.whl", hash = "sha256:f6cbd3e1204abfdbcd40b3ecbc9d32f04027cd3080fe666245e21e7540ccfc1b"},
{file = "paramiko-2.10.1.tar.gz", hash = "sha256:443f4da23ec24e9a9c0ea54017829c282abdda1d57110bf229360775ccd27a31"},
{file = "paramiko-2.10.3-py2.py3-none-any.whl", hash = "sha256:ac6593479f2b47a9422eca076b22cff9f795495e6733a64723efc75dd8c92101"},
{file = "paramiko-2.10.3.tar.gz", hash = "sha256:ddb1977853aef82804b35d72a0e597b244fa326c404c350bd00c5b01dbfee71a"},
]
pathspec = [
{file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
@ -3126,8 +3126,8 @@ pysocks = [
{file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"},
]
pytest = [
{file = "pytest-7.1.0-py3-none-any.whl", hash = "sha256:b555252a95bbb2a37a97b5ac2eb050c436f7989993565f5e0c9128fcaacadd0e"},
{file = "pytest-7.1.0.tar.gz", hash = "sha256:f1089d218cfcc63a212c42896f1b7fbf096874d045e1988186861a1a87d27b47"},
{file = "pytest-7.1.1-py3-none-any.whl", hash = "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea"},
{file = "pytest-7.1.1.tar.gz", hash = "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"},
]
pytest-django = [
{file = "pytest-django-4.5.2.tar.gz", hash = "sha256:d9076f759bb7c36939dbdd5ae6633c18edfc2902d1a69fdbefd2426b970ce6c2"},
@ -3222,8 +3222,8 @@ selenium = [
{file = "selenium-4.1.3-py3-none-any.whl", hash = "sha256:14d28a628c831c105d38305c881c9c7847199bfd728ec84240c5e86fa1c9bd5a"},
]
sentry-sdk = [
{file = "sentry-sdk-1.5.7.tar.gz", hash = "sha256:aa52da941c56b5a76fd838f8e9e92a850bf893a9eb1e33ffce6c21431d07ee30"},
{file = "sentry_sdk-1.5.7-py2.py3-none-any.whl", hash = "sha256:411a8495bd18cf13038e5749e4710beb4efa53da6351f67b4c2f307c2d9b6d49"},
{file = "sentry-sdk-1.5.8.tar.gz", hash = "sha256:38fd16a92b5ef94203db3ece10e03bdaa291481dd7e00e77a148aa0302267d47"},
{file = "sentry_sdk-1.5.8-py2.py3-none-any.whl", hash = "sha256:32af1a57954576709242beb8c373b3dbde346ac6bd616921def29d68846fb8c3"},
]
service-identity = [
{file = "service-identity-21.1.0.tar.gz", hash = "sha256:6e6c6086ca271dc11b033d17c3a8bea9f24ebff920c587da090afc9519419d34"},
@ -3359,8 +3359,8 @@ uritemplate = [
{file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"},
]
urllib3 = [
{file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
{file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"},
{file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"},
{file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"},
]
uvicorn = [
{file = "uvicorn-0.17.6-py3-none-any.whl", hash = "sha256:19e2a0e96c9ac5581c01eb1a79a7d2f72bb479691acd2b8921fce48ed5b961a6"},

View File

@ -7,7 +7,7 @@ ENV NODE_ENV=production
RUN cd /static && npm i && npm run build-proxy
# Stage 2: Build
FROM docker.io/golang:1.17.8-bullseye AS builder
FROM docker.io/golang:1.18.0-bullseye AS builder
WORKDIR /go/src/goauthentik.io

View File

@ -92,7 +92,7 @@ addopts = "-p no:celery --junitxml=unittest.xml"
[tool.poetry]
name = "authentik"
version = "2022.3.2"
version = "2022.3.3"
description = ""
authors = ["Jens Langhammer <jens.langhammer@beryju.org>"]

View File

@ -1,7 +1,7 @@
openapi: 3.0.3
info:
title: authentik
version: 2022.3.2
version: 2022.3.3
description: Making authentication simple.
contact:
email: hello@beryju.org

447
web/package-lock.json generated
View File

@ -9,14 +9,14 @@
"version": "0.0.0",
"license": "GNU GPLv3",
"dependencies": {
"@babel/core": "^7.17.5",
"@babel/plugin-proposal-decorators": "^7.17.2",
"@babel/core": "^7.17.8",
"@babel/plugin-proposal-decorators": "^7.17.8",
"@babel/plugin-transform-runtime": "^7.17.0",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.7",
"@formatjs/intl-listformat": "^6.5.2",
"@fortawesome/fontawesome-free": "^6.0.0",
"@goauthentik/api": "^2022.3.1-1647250825",
"@fortawesome/fontawesome-free": "^6.1.0",
"@goauthentik/api": "^2022.3.2-1647336362",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.2",
"@lingui/core": "^3.13.2",
@ -36,9 +36,9 @@
"@trivago/prettier-plugin-sort-imports": "^3.2.0",
"@types/chart.js": "^2.9.35",
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
"@typescript-eslint/eslint-plugin": "^5.14.0",
"@typescript-eslint/parser": "^5.14.0",
"@types/grecaptcha": "^3.0.4",
"@typescript-eslint/eslint-plugin": "^5.15.0",
"@typescript-eslint/parser": "^5.15.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
"base64-js": "^1.5.1",
@ -46,18 +46,18 @@
"chartjs-adapter-moment": "^1.0.0",
"codemirror": "^5.65.2",
"construct-style-sheets-polyfill": "^3.1.0",
"country-flag-icons": "^1.4.21",
"country-flag-icons": "^1.4.24",
"eslint": "^8.11.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-custom-elements": "0.0.4",
"eslint-plugin-lit": "^1.6.1",
"flowchart.js": "^1.17.1",
"fuse.js": "^6.5.3",
"lit": "^2.2.0",
"lit": "^2.2.1",
"moment": "^2.29.1",
"prettier": "^2.5.1",
"prettier": "^2.6.0",
"rapidoc": "^9.2.0",
"rollup": "^2.70.0",
"rollup": "^2.70.1",
"rollup-plugin-copy": "^3.4.0",
"rollup-plugin-cssimport": "^1.0.2",
"rollup-plugin-minify-html-literals": "^1.2.6",
@ -66,7 +66,7 @@
"ts-lit-plugin": "^1.2.1",
"tslib": "^2.3.1",
"typescript": "^4.6.2",
"webcomponent-qr-code": "^1.0.5",
"webcomponent-qr-code": "^1.0.6",
"yaml": "^1.10.2"
}
},
@ -101,25 +101,25 @@
}
},
"node_modules/@babel/compat-data": {
"version": "7.16.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
"integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
"integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
"version": "7.17.5",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
"integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
"integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.17.3",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helpers": "^7.17.2",
"@babel/parser": "^7.17.3",
"@babel/generator": "^7.17.7",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-module-transforms": "^7.17.7",
"@babel/helpers": "^7.17.8",
"@babel/parser": "^7.17.8",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0",
@ -138,9 +138,9 @@
}
},
"node_modules/@babel/generator": {
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
"integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
"integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
"dependencies": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
@ -174,11 +174,11 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
"integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
"integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
"dependencies": {
"@babel/compat-data": "^7.16.4",
"@babel/compat-data": "^7.17.7",
"@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
@ -191,9 +191,9 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.17.1",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz",
"integrity": "sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==",
"version": "7.17.6",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz",
"integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.7",
"@babel/helper-environment-visitor": "^7.16.7",
@ -323,18 +323,18 @@
}
},
"node_modules/@babel/helper-module-transforms": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz",
"integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
"integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
"dependencies": {
"@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-simple-access": "^7.16.7",
"@babel/helper-simple-access": "^7.17.7",
"@babel/helper-split-export-declaration": "^7.16.7",
"@babel/helper-validator-identifier": "^7.16.7",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.7",
"@babel/types": "^7.16.7"
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
@ -388,11 +388,11 @@
}
},
"node_modules/@babel/helper-simple-access": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
"integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
"integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
"dependencies": {
"@babel/types": "^7.16.7"
"@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
@ -451,12 +451,12 @@
}
},
"node_modules/@babel/helpers": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
"integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
"integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
"dependencies": {
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.17.0",
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0"
},
"engines": {
@ -477,9 +477,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
"integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
"integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
@ -565,11 +565,11 @@
}
},
"node_modules/@babel/plugin-proposal-decorators": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz",
"integrity": "sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz",
"integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==",
"dependencies": {
"@babel/helper-create-class-features-plugin": "^7.17.1",
"@babel/helper-create-class-features-plugin": "^7.17.6",
"@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-replace-supers": "^7.16.7",
"@babel/plugin-syntax-decorators": "^7.17.0",
@ -1757,18 +1757,18 @@
}
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz",
"integrity": "sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.0.tgz",
"integrity": "sha512-OgM74M6+Q7BuKAj8r+VfzwjnIGZrY62R4ipbiDvBW4FA0mLnB3yeuV/2bW63j+zppGyTvBp/3jqXp9ZXy43nFw==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@goauthentik/api": {
"version": "2022.3.1-1647250825",
"resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.1-1647250825.tgz",
"integrity": "sha512-dhGE3Dj8vdyb8E4uCOfnKWXVN4N+elYcP7xT4tWZDzwwmlRxb3HU2I8OOrxJgVKmeICIaJtQu3/Ld6AmakJJCQ=="
"version": "2022.3.2-1647336362",
"resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.2-1647336362.tgz",
"integrity": "sha512-BU+FkUDEACeIfvdBw5A8WAKC6xZZ43kpyu7kE4jRe2ltNr3YjgWGgGdQFcPte4wHACDsZ6SLxwhujGjvCGX7iw=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@ -2776,9 +2776,9 @@
}
},
"node_modules/@types/grecaptcha": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.3.tgz",
"integrity": "sha512-osLqWRzsRsDtCfiCl1lbtUY8ANGCQsG/hhht3E7g1pVT7fD5SXgAg53S2grKjjSkXcm0fvMDbhUeL9NyAJvzGQ=="
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.4.tgz",
"integrity": "sha512-7l1Y8DTGXkx/r4pwU1nMVAR+yD/QC+MCHKXAyEX/7JZhwcN1IED09aZ9vCjjkcGdhSQiu/eJqcXInpl6eEEEwg=="
},
"node_modules/@types/html-minifier": {
"version": "3.5.3",
@ -2879,13 +2879,13 @@
"integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz",
"integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz",
"integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==",
"dependencies": {
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/type-utils": "5.14.0",
"@typescript-eslint/utils": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/type-utils": "5.15.0",
"@typescript-eslint/utils": "5.15.0",
"debug": "^4.3.2",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.1.8",
@ -2925,13 +2925,13 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz",
"integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz",
"integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==",
"dependencies": {
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/typescript-estree": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/typescript-estree": "5.15.0",
"debug": "^4.3.2"
},
"engines": {
@ -2951,12 +2951,12 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz",
"integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz",
"integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==",
"dependencies": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/visitor-keys": "5.14.0"
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/visitor-keys": "5.15.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -2967,11 +2967,11 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz",
"integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz",
"integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==",
"dependencies": {
"@typescript-eslint/utils": "5.14.0",
"@typescript-eslint/utils": "5.15.0",
"debug": "^4.3.2",
"tsutils": "^3.21.0"
},
@ -2992,9 +2992,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz",
"integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz",
"integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@ -3004,12 +3004,12 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz",
"integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz",
"integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==",
"dependencies": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/visitor-keys": "5.14.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/visitor-keys": "5.15.0",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@ -3044,14 +3044,14 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz",
"integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz",
"integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==",
"dependencies": {
"@types/json-schema": "^7.0.9",
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/typescript-estree": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/typescript-estree": "5.15.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@ -3067,11 +3067,11 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz",
"integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz",
"integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==",
"dependencies": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/types": "5.15.0",
"eslint-visitor-keys": "^3.0.0"
},
"engines": {
@ -3941,9 +3941,9 @@
}
},
"node_modules/country-flag-icons": {
"version": "1.4.21",
"resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.21.tgz",
"integrity": "sha512-bA9jDr+T5li7EsKdDx0xVnO0bdMdoT8IA3BNbeT2XSWUygR1okhiZ2+eYiC1EKLrFZhI4aEHni2w03lUlOjogg=="
"version": "1.4.24",
"resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.24.tgz",
"integrity": "sha512-yUphht6AbH5OEbj1DGbG/sTenyRV2SEyW64JQazlmHV/ArFV8lQRQ5fvO4e8L7dC5UV95c21hJ1FEfu49WogbQ=="
},
"node_modules/create-require": {
"version": "1.1.1",
@ -5798,9 +5798,9 @@
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
},
"node_modules/lit": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/lit/-/lit-2.2.0.tgz",
"integrity": "sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/lit/-/lit-2.2.1.tgz",
"integrity": "sha512-dSe++R50JqrvNGXmI9OE13de1z5U/Y3J2dTm/9GC86vedI8ILoR8ZGnxfThFpvQ9m0lR0qRnIR4IiKj/jDCfYw==",
"dependencies": {
"@lit/reactive-element": "^1.3.0",
"lit-element": "^3.2.0",
@ -6876,14 +6876,17 @@
}
},
"node_modules/prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
"integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pretty-format": {
@ -7310,9 +7313,9 @@
}
},
"node_modules/rollup": {
"version": "2.70.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz",
"integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==",
"version": "2.70.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz",
"integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==",
"bin": {
"rollup": "dist/bin/rollup"
},
@ -8705,9 +8708,9 @@
}
},
"node_modules/webcomponent-qr-code": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.5.tgz",
"integrity": "sha512-uLulSj2nUe8HvhsuXSy8NySz3YPikpA2oIVrv15a4acNoiAdpickMFw5wSgFp7kxEb0twT/wC5VozZQHZhsZIw==",
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.6.tgz",
"integrity": "sha512-uEsH1rfuLQro8xgiyKHumdMEHeIKOvtS/LlvWTtdQ1ZLJXXpMT0dAqO0TJcXlk/DSHIl7btnq3mUdPR3QBSgNw==",
"dependencies": {
"qrjs": "^0.1.2"
}
@ -8937,22 +8940,22 @@
}
},
"@babel/compat-data": {
"version": "7.16.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
"integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q=="
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
"integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ=="
},
"@babel/core": {
"version": "7.17.5",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
"integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
"integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.17.3",
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helpers": "^7.17.2",
"@babel/parser": "^7.17.3",
"@babel/generator": "^7.17.7",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-module-transforms": "^7.17.7",
"@babel/helpers": "^7.17.8",
"@babel/parser": "^7.17.8",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0",
@ -8964,9 +8967,9 @@
}
},
"@babel/generator": {
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
"integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
"integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
"requires": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
@ -8991,20 +8994,20 @@
}
},
"@babel/helper-compilation-targets": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
"integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
"integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
"requires": {
"@babel/compat-data": "^7.16.4",
"@babel/compat-data": "^7.17.7",
"@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5",
"semver": "^6.3.0"
}
},
"@babel/helper-create-class-features-plugin": {
"version": "7.17.1",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz",
"integrity": "sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==",
"version": "7.17.6",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz",
"integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.7",
"@babel/helper-environment-visitor": "^7.16.7",
@ -9098,18 +9101,18 @@
}
},
"@babel/helper-module-transforms": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz",
"integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
"integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
"requires": {
"@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-module-imports": "^7.16.7",
"@babel/helper-simple-access": "^7.16.7",
"@babel/helper-simple-access": "^7.17.7",
"@babel/helper-split-export-declaration": "^7.16.7",
"@babel/helper-validator-identifier": "^7.16.7",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.7",
"@babel/types": "^7.16.7"
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0"
}
},
"@babel/helper-optimise-call-expression": {
@ -9148,11 +9151,11 @@
}
},
"@babel/helper-simple-access": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
"integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
"integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
"requires": {
"@babel/types": "^7.16.7"
"@babel/types": "^7.17.0"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
@ -9193,12 +9196,12 @@
}
},
"@babel/helpers": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
"integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
"integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
"requires": {
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.17.0",
"@babel/traverse": "^7.17.3",
"@babel/types": "^7.17.0"
}
},
@ -9213,9 +9216,9 @@
}
},
"@babel/parser": {
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
"integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA=="
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
"integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ=="
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.16.7",
@ -9265,11 +9268,11 @@
}
},
"@babel/plugin-proposal-decorators": {
"version": "7.17.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz",
"integrity": "sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw==",
"version": "7.17.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz",
"integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==",
"requires": {
"@babel/helper-create-class-features-plugin": "^7.17.1",
"@babel/helper-create-class-features-plugin": "^7.17.6",
"@babel/helper-plugin-utils": "^7.16.7",
"@babel/helper-replace-supers": "^7.16.7",
"@babel/plugin-syntax-decorators": "^7.17.0",
@ -10057,14 +10060,14 @@
}
},
"@fortawesome/fontawesome-free": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz",
"integrity": "sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q=="
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.0.tgz",
"integrity": "sha512-OgM74M6+Q7BuKAj8r+VfzwjnIGZrY62R4ipbiDvBW4FA0mLnB3yeuV/2bW63j+zppGyTvBp/3jqXp9ZXy43nFw=="
},
"@goauthentik/api": {
"version": "2022.3.1-1647250825",
"resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.1-1647250825.tgz",
"integrity": "sha512-dhGE3Dj8vdyb8E4uCOfnKWXVN4N+elYcP7xT4tWZDzwwmlRxb3HU2I8OOrxJgVKmeICIaJtQu3/Ld6AmakJJCQ=="
"version": "2022.3.2-1647336362",
"resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.2-1647336362.tgz",
"integrity": "sha512-BU+FkUDEACeIfvdBw5A8WAKC6xZZ43kpyu7kE4jRe2ltNr3YjgWGgGdQFcPte4wHACDsZ6SLxwhujGjvCGX7iw=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
@ -10884,9 +10887,9 @@
}
},
"@types/grecaptcha": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.3.tgz",
"integrity": "sha512-osLqWRzsRsDtCfiCl1lbtUY8ANGCQsG/hhht3E7g1pVT7fD5SXgAg53S2grKjjSkXcm0fvMDbhUeL9NyAJvzGQ=="
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.4.tgz",
"integrity": "sha512-7l1Y8DTGXkx/r4pwU1nMVAR+yD/QC+MCHKXAyEX/7JZhwcN1IED09aZ9vCjjkcGdhSQiu/eJqcXInpl6eEEEwg=="
},
"@types/html-minifier": {
"version": "3.5.3",
@ -10986,13 +10989,13 @@
"integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
},
"@typescript-eslint/eslint-plugin": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz",
"integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz",
"integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==",
"requires": {
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/type-utils": "5.14.0",
"@typescript-eslint/utils": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/type-utils": "5.15.0",
"@typescript-eslint/utils": "5.15.0",
"debug": "^4.3.2",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.1.8",
@ -11012,47 +11015,47 @@
}
},
"@typescript-eslint/parser": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz",
"integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz",
"integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==",
"requires": {
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/typescript-estree": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/typescript-estree": "5.15.0",
"debug": "^4.3.2"
}
},
"@typescript-eslint/scope-manager": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz",
"integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz",
"integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==",
"requires": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/visitor-keys": "5.14.0"
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/visitor-keys": "5.15.0"
}
},
"@typescript-eslint/type-utils": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz",
"integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz",
"integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==",
"requires": {
"@typescript-eslint/utils": "5.14.0",
"@typescript-eslint/utils": "5.15.0",
"debug": "^4.3.2",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz",
"integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw=="
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz",
"integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA=="
},
"@typescript-eslint/typescript-estree": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz",
"integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz",
"integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==",
"requires": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/visitor-keys": "5.14.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/visitor-keys": "5.15.0",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@ -11071,24 +11074,24 @@
}
},
"@typescript-eslint/utils": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz",
"integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz",
"integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==",
"requires": {
"@types/json-schema": "^7.0.9",
"@typescript-eslint/scope-manager": "5.14.0",
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/typescript-estree": "5.14.0",
"@typescript-eslint/scope-manager": "5.15.0",
"@typescript-eslint/types": "5.15.0",
"@typescript-eslint/typescript-estree": "5.15.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
}
},
"@typescript-eslint/visitor-keys": {
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz",
"integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==",
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz",
"integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==",
"requires": {
"@typescript-eslint/types": "5.14.0",
"@typescript-eslint/types": "5.15.0",
"eslint-visitor-keys": "^3.0.0"
},
"dependencies": {
@ -11715,9 +11718,9 @@
}
},
"country-flag-icons": {
"version": "1.4.21",
"resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.21.tgz",
"integrity": "sha512-bA9jDr+T5li7EsKdDx0xVnO0bdMdoT8IA3BNbeT2XSWUygR1okhiZ2+eYiC1EKLrFZhI4aEHni2w03lUlOjogg=="
"version": "1.4.24",
"resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.24.tgz",
"integrity": "sha512-yUphht6AbH5OEbj1DGbG/sTenyRV2SEyW64JQazlmHV/ArFV8lQRQ5fvO4e8L7dC5UV95c21hJ1FEfu49WogbQ=="
},
"create-require": {
"version": "1.1.1",
@ -13085,9 +13088,9 @@
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
},
"lit": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/lit/-/lit-2.2.0.tgz",
"integrity": "sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/lit/-/lit-2.2.1.tgz",
"integrity": "sha512-dSe++R50JqrvNGXmI9OE13de1z5U/Y3J2dTm/9GC86vedI8ILoR8ZGnxfThFpvQ9m0lR0qRnIR4IiKj/jDCfYw==",
"requires": {
"@lit/reactive-element": "^1.3.0",
"lit-element": "^3.2.0",
@ -13908,9 +13911,9 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
},
"prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg=="
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
"integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A=="
},
"pretty-format": {
"version": "26.6.2",
@ -14215,9 +14218,9 @@
}
},
"rollup": {
"version": "2.70.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz",
"integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==",
"version": "2.70.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz",
"integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==",
"requires": {
"fsevents": "~2.3.2"
}
@ -15318,9 +15321,9 @@
"integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q=="
},
"webcomponent-qr-code": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.5.tgz",
"integrity": "sha512-uLulSj2nUe8HvhsuXSy8NySz3YPikpA2oIVrv15a4acNoiAdpickMFw5wSgFp7kxEb0twT/wC5VozZQHZhsZIw==",
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.6.tgz",
"integrity": "sha512-uEsH1rfuLQro8xgiyKHumdMEHeIKOvtS/LlvWTtdQ1ZLJXXpMT0dAqO0TJcXlk/DSHIl7btnq3mUdPR3QBSgNw==",
"requires": {
"qrjs": "^0.1.2"
}

View File

@ -52,14 +52,14 @@
]
},
"dependencies": {
"@babel/core": "^7.17.5",
"@babel/plugin-proposal-decorators": "^7.17.2",
"@babel/core": "^7.17.8",
"@babel/plugin-proposal-decorators": "^7.17.8",
"@babel/plugin-transform-runtime": "^7.17.0",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.7",
"@formatjs/intl-listformat": "^6.5.2",
"@fortawesome/fontawesome-free": "^6.0.0",
"@goauthentik/api": "^2022.3.1-1647250825",
"@fortawesome/fontawesome-free": "^6.1.0",
"@goauthentik/api": "^2022.3.2-1647336362",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.2",
"@lingui/core": "^3.13.2",
@ -79,9 +79,9 @@
"@trivago/prettier-plugin-sort-imports": "^3.2.0",
"@types/chart.js": "^2.9.35",
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
"@typescript-eslint/eslint-plugin": "^5.14.0",
"@typescript-eslint/parser": "^5.14.0",
"@types/grecaptcha": "^3.0.4",
"@typescript-eslint/eslint-plugin": "^5.15.0",
"@typescript-eslint/parser": "^5.15.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
"base64-js": "^1.5.1",
@ -89,18 +89,18 @@
"chartjs-adapter-moment": "^1.0.0",
"codemirror": "^5.65.2",
"construct-style-sheets-polyfill": "^3.1.0",
"country-flag-icons": "^1.4.21",
"country-flag-icons": "^1.4.24",
"eslint": "^8.11.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-custom-elements": "0.0.4",
"eslint-plugin-lit": "^1.6.1",
"flowchart.js": "^1.17.1",
"fuse.js": "^6.5.3",
"lit": "^2.2.0",
"lit": "^2.2.1",
"moment": "^2.29.1",
"prettier": "^2.5.1",
"prettier": "^2.6.0",
"rapidoc": "^9.2.0",
"rollup": "^2.70.0",
"rollup": "^2.70.1",
"rollup-plugin-copy": "^3.4.0",
"rollup-plugin-cssimport": "^1.0.2",
"rollup-plugin-minify-html-literals": "^1.2.6",
@ -109,7 +109,7 @@
"ts-lit-plugin": "^1.2.1",
"tslib": "^2.3.1",
"typescript": "^4.6.2",
"webcomponent-qr-code": "^1.0.5",
"webcomponent-qr-code": "^1.0.6",
"yaml": "^1.10.2"
}
}

View File

@ -223,8 +223,8 @@ html > form > input {
option {
color: var(--ak-dark-foreground);
}
optgroup:checked,
option:checked {
select[multiple] optgroup:checked,
select[multiple] option:checked {
color: var(--ak-dark-background);
}
.pf-c-input-group {

View File

@ -3,7 +3,7 @@ export const SUCCESS_CLASS = "pf-m-success";
export const ERROR_CLASS = "pf-m-danger";
export const PROGRESS_CLASS = "pf-m-in-progress";
export const CURRENT_CLASS = "pf-m-current";
export const VERSION = "2022.3.2";
export const VERSION = "2022.3.3";
export const TITLE_DEFAULT = "authentik";
export const ROUTE_SEPARATOR = ";";

View File

@ -26,6 +26,9 @@ export class SearchSelect<T> extends LitElement {
@property({ type: Boolean })
open = false;
@property({ type: Boolean })
blankable = false;
@property()
placeholder: string = t`Select an object.`;
@ -82,6 +85,22 @@ export class SearchSelect<T> extends LitElement {
</div>
<ul class="pf-c-select__menu" role="listbox" ?hidden="${!this.open}">
${this.blankable
? html`
<li role="presentation">
<button
class="pf-c-select__menu-item"
role="option"
@click=${() => {
this.selectedObject = undefined;
this.open = false;
}}
>
---------
</button>
</li>
`
: html``}
${this.objects.map((obj) => {
return html`
<li role="presentation">

View File

@ -6181,6 +6181,10 @@ msgstr "Die Referenz wird auf den Standardwert zurückgesetzt"
msgid "reference will be set to an empty value"
msgstr "Referenz wird auf einen leeren Wert gesetzt"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "Mit Inspektor"

View File

@ -6303,6 +6303,10 @@ msgstr "reference will be reset to default value"
msgid "reference will be set to an empty value"
msgstr "reference will be set to an empty value"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr "with current user"
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "with inspector"

View File

@ -6175,6 +6175,10 @@ msgstr "la referencia se restablecerá al valor predeterminado"
msgid "reference will be set to an empty value"
msgstr "la referencia se establecerá en un valor vacío"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "con inspector"

View File

@ -6236,6 +6236,10 @@ msgstr "la référence sera réinitialisée à sa valeur par défaut"
msgid "reference will be set to an empty value"
msgstr "la référence sera réinitialisée à une valeur vide"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr ""

View File

@ -6172,6 +6172,10 @@ msgstr "odniesienie zostanie zresetowane do wartości domyślnej"
msgid "reference will be set to an empty value"
msgstr "referencja zostanie ustawiona na pustą wartość"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "z inspektorem"

View File

@ -6279,6 +6279,10 @@ msgstr ""
msgid "reference will be set to an empty value"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr ""

View File

@ -6177,6 +6177,10 @@ msgstr "referans varsayılan değere sıfırlanır"
msgid "reference will be set to an empty value"
msgstr "referans boş bir değere ayarlanacaktır"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr ""
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "müfettiş ile"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6317,6 +6317,10 @@ msgstr "引用将被重置为默认值"
msgid "reference will be set to an empty value"
msgstr "引用将被设置为空值"
#: src/pages/flows/FlowViewPage.ts
msgid "with current user"
msgstr "以当前用户"
#: src/pages/flows/FlowViewPage.ts
msgid "with inspector"
msgstr "附加检视器"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@ import { customElement, property } from "lit/decorators.js";
import { Flow, FlowsApi } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config";
import { AndNext, DEFAULT_CONFIG } from "../../api/Config";
import { uiConfig } from "../../common/config";
import "../../elements/buttons/SpinnerButton";
import "../../elements/forms/ConfirmationForm";
@ -113,17 +113,10 @@ export class FlowListPage extends TablePage<Flow> {
<button
class="pf-c-button pf-m-plain"
@click=${() => {
new FlowsApi(DEFAULT_CONFIG)
.flowsInstancesExecuteRetrieve({
slug: item.slug,
})
.then((link) => {
window.open(
`${link.link}?inspector&next=${encodeURIComponent(
`/#${window.location.href}`,
)}`,
);
});
const finalURL = `${window.location.origin}/if/flows/${item.slug}/${AndNext(
`${window.location.pathname}#${window.location.hash}`,
)}`;
window.open(finalURL, "_blank");
}}
>
<i class="fas fa-play"></i>

View File

@ -119,6 +119,19 @@ export class FlowViewPage extends LitElement {
<div class="pf-c-description-list__text">
<button
class="pf-c-button pf-m-primary"
@click=${() => {
const finalURL = `${
window.location.origin
}/if/flows/${this.flow.slug}/${AndNext(
`${window.location.pathname}#${window.location.hash}`,
)}`;
window.open(finalURL, "_blank");
}}
>
${t`Normal`}
</button>
<button
class="pf-c-button pf-m-secondary"
@click=${() => {
new FlowsApi(DEFAULT_CONFIG)
.flowsInstancesExecuteRetrieve({
@ -134,7 +147,7 @@ export class FlowViewPage extends LitElement {
});
}}
>
${t`Normal`}
${t`with current user`}
</button>
<button
class="pf-c-button pf-m-secondary"

View File

@ -222,12 +222,13 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
.renderElement=${(group: Group): string => {
return group.name;
}}
.value=${(group: Group | undefined): string => {
return group ? group.pk : "";
.value=${(group: Group | undefined): string | undefined => {
return group ? group.pk : undefined;
}}
.selected=${(group: Group): boolean => {
return group.pk === this.instance?.group;
}}
?blankable=${true}
>
</ak-search-select>
${this.policyOnly
@ -256,12 +257,13 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> {
.renderElement=${(user: User): string => {
return UserOption(user);
}}
.value=${(user: User | undefined): number => {
return user ? user.pk : 0;
.value=${(user: User | undefined): number | undefined => {
return user ? user.pk : undefined;
}}
.selected=${(user: User): boolean => {
return user.pk === this.instance?.user;
}}
?blankable=${true}
>
</ak-search-select>
${this.policyOnly

View File

@ -0,0 +1,9 @@
- `user`: The current user. This may be `None` if there is no contextual user. See ([User](../user-group/user.md#object-attributes))
Example:
```python
return {
"custom_attribute": request.user.attributes.get("custom_attribute", "default"),
}
```

View File

@ -17,6 +17,9 @@ import Objects from '../expressions/_objects.md'
<Objects />
- `user`: The current user. This may be `None` if there is no contextual user. See ([User](../user-group/user.md#object-attributes))
import User from '../expressions/_user.md'
<User />
- `request`: The current request. This may be `None` if there is no contextual request. See ([Django documentation](https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects))
- Other arbitrary arguments given by the provider, this is documented on the Provider/Source.

View File

@ -48,6 +48,17 @@ To simplify the release process we don't publish explicitly tagged release-candi
- web/user: filter applications by launch URL lto show empty state
- web/user: fix duplicate help text in prompts
## Fixed in 2022.3.3
- core: fix provider launch URL being prioritised over manually configured launch URL
- crypto: open files in read-only mode for importing (#2536)
- outposts/ldap: prevent operations error from nil dereference (#2447)
- outposts/proxy: use Prefix in ingress for k8s
- web: fix style for selected item in select in dark mode
- web/admin: default to not include current session in flow play, add option to start with current session
- web/admin: fix user defaulting to 0 when not set in PolicyBindingForm
- web/elements: make SearchSelect optionally blankable
## Upgrading
This release does not introduce any new requirements.

View File

@ -0,0 +1,164 @@
---
title: pfSense
---
## What is pfSense
From https://www.pfsense.org/
:::note
The pfSense project is a free network firewall distribution, based on the FreeBSD operating system with a custom kernel and including third party free software packages for additional functionality.
:::
:::note
This is based on authentik 2022.3.31 and pfSense 2.6.0-amd64
:::
## Preparation
The following placeholders will be used:
- `authentik.company` is the FQDN of authentik.
- `pfsense-user` is the name of the authentik Service account we'll create.
- `DC=ldap,DC=goauthentik,DC=io` is the Base DN of the LDAP Provider (default)
### Step 1 - Service account
In authentik, create a service account (under _Directory/Users_) for pfSense to use as the LDAP Binder and take note of the password generated.
In this example, we'll use `pfsense-user` as the Service account's username
:::note
If you didn't keep the password, you can copy it from _Directory/Tokens & App password_.
:::
### Step 2 - LDAP Provider
In authentik, create a LDAP Provider (under _Applications/Providers_) with these settings :
- Name : LDAP
- Bind DN : `DC=ldap,DC=goauthentik,DC=io`
- Certificate : `self-signed`
### Step 3 - Application
In authentik, create an application (under _Resources/Applications_) with these settings :
- Name: LDAP
- Slug: ldap
- Provider: LDAP
### Step 4 - Outpost
In authentik, create an outpost (under _Applications/Outposts_) of type `LDAP` that uses the LDAP Application you created in _Step 3_.
- Name: LDAP
- Type: LDAP
## pfSense unsecure setup (without SSL)
:::warning
This setup should only be used for testing purpose, because passwords will be sent in clear text to authentik.
:::
Add your authentik LDAP server to pfSense by going to your pfSense Web UI and clicking the `+ Add` under _System/User Manager/Authentication Servers_.
Change the following fields
- Descriptive name: LDAP authentik
- Hostname or IP address: `authentik.company`
- Port value: 389
- Transport: Standard TCP
- Base DN: `DC=ldap,DC=goauthentik,DC=io`
- Authentication containers: `OU=users,DC=ldap,DC=goauthentik,DC=io`
- Bind anonymous: **unticked**
- Bind credentials:
- User DN: `cn=pfsense-user,ou=users,dc=ldap,dc=goauthentik,dc=io`
- Password: `<pfsense-user password from step 2>`
- Extended Query: &(objectClass=user)
- Allow unauthenticated bind: **unticked**
## pfSense secure setup (with SSL)
When enabling SSL, authentik will send a certificate to pfSense. This certificate has to be signed by a certificate authority trusted by pfSense. In this setup we will create our own certificate authority in pfSense and create a certificate that will be used by authentik.
### Step 1 - Certificate Authority
In pfSense, create a certificate authority under _System/Cert. Manager_ and click the `+ Add` button.
- Descriptive Name: `pfSense CA`
- Method: Create an internal Certificate Authority
- Common Name : `pfSense CA`
### Step 2 - Server Certificate
In pfSense, create a server certificate under _System/Cert. Manager_. Go to the _Certificates_ tab then click the `+ Add` button.
Change the following fields
- Method: Create an internal Certificate
- Descriptive name: `authentik.company`
- Lifetime: `398`
- Common Name: `authentik.company`
- Certificate Type: `Server Certificate`
All other field can be left blank.
### Step 3 - Certificate import
In pfsense, export the public **and** the private key of the certificate by going under _System/Cert. Manager_ and then to the _Certificate_ tab.
![](./pfsense-certificate-export.png)
In authentik, import the public **and** the private key by going under _System/Certificates_ and then click on `create`.
### Step 4 - Provider configuration
In authentik, edit the LDAP provider configuration under _Applications/Providers_ and select the certificate we just imported.
### Step 5 - pfSense authentication server
In pfSense, add your authentik LDAP server by going to your pfSense Web UI and clicking the `+ Add` under _System/User Manager/Authentication Servers_.
Change the following fields
- Descriptive name: LDAP authentik
- Hostname or IP address: `authentik.company`
- Port value: 636
- Transport: SSL/TLS Encrypted
- Peer Certificate Authority: `pfSense CA`
- Base DN: `DC=ldap,DC=goauthentik,DC=io`
- Authentication containers: `OU=users,DC=ldap,DC=goauthentik,DC=io`
- Bind anonymous: **unticked**
- Bind credentials:
- User DN: `cn=pfsense-user,ou=users,dc=ldap,dc=goauthentik,dc=io`
- Password: `<pfsense-user password from step 2>`
- Extended Query: &(objectClass=user)
- Allow unauthenticated bind: **unticked**
## Test your setup
In pfSense, you can validate the authentication backend setup by going to _Diagnostics/Authentication_ and then select `LDAP authentik` as _Authentication Server_.
You can use the credentials of an authentik user, pfSense will tell you if the connection was successful or not. If it is, congratulations, you can now change the pfSense default authentication backend.
## Change pfSense default authentication backend
In pfSense, you can change the authentication backend used by the Web UI by going to _System/User Manager_ and then click on _Settings_ tab.
- Authentication Server: `LDAP authentik`
## Notes
:::tip
Secure LDAP more by creating a group for your `DN Bind` users and restricting the `Search group` of the LDAP Provider to them.
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -12,7 +12,7 @@
"@docusaurus/preset-classic": "2.0.0-beta.17",
"@mdx-js/react": "^1.6.22",
"clsx": "^1.1.1",
"postcss": "^8.4.8",
"postcss": "^8.4.12",
"rapidoc": "^9.2.0",
"react": "^17.0.2",
"react-before-after-slider-component": "^1.1.1",
@ -21,7 +21,7 @@
"react-toggle": "^4.1.2"
},
"devDependencies": {
"prettier": "2.5.1"
"prettier": "2.6.0"
}
},
"node_modules/@algolia/autocomplete-core": {
@ -9019,9 +9019,19 @@
}
},
"node_modules/postcss": {
"version": "8.4.8",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz",
"integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==",
"version": "8.4.12",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"dependencies": {
"nanoid": "^3.3.1",
"picocolors": "^1.0.0",
@ -9029,10 +9039,6 @@
},
"engines": {
"node": "^10 || ^12 || >=14"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
}
},
"node_modules/postcss-calc": {
@ -9582,15 +9588,18 @@
}
},
"node_modules/prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
"integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pretty-error": {
@ -19598,9 +19607,9 @@
}
},
"postcss": {
"version": "8.4.8",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz",
"integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==",
"version": "8.4.12",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
"requires": {
"nanoid": "^3.3.1",
"picocolors": "^1.0.0",
@ -19931,9 +19940,9 @@
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
},
"prettier": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
"integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
"dev": true
},
"pretty-error": {

View File

@ -16,7 +16,7 @@
"@docusaurus/preset-classic": "2.0.0-beta.17",
"@mdx-js/react": "^1.6.22",
"clsx": "^1.1.1",
"postcss": "^8.4.8",
"postcss": "^8.4.12",
"rapidoc": "^9.2.0",
"react": "^17.0.2",
"react-before-after-slider-component": "^1.1.1",
@ -37,6 +37,6 @@
]
},
"devDependencies": {
"prettier": "2.5.1"
"prettier": "2.6.0"
}
}

View File

@ -27,6 +27,7 @@ module.exports = {
"services/onlyoffice/index",
"services/opnsense/index",
"services/paperless-ng/index",
"services/pfsense/index",
"services/portainer/index",
"services/powerdns-admin/index",
"services/proxmox-ve/index",