Compare commits
	
		
			46 Commits
		
	
	
		
			version/20
			...
			version/20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 86a4a7dcee | |||
| 73fe866cb6 | |||
| 8b95e9f97a | |||
| a3eb72d160 | |||
| b418db6ecf | |||
| 6cb1ab1d2b | |||
| ae09dac720 | |||
| 44c9ad19a7 | |||
| 554272a927 | |||
| acf2af8f66 | |||
| b45a442447 | |||
| 75a720ead1 | |||
| 615ce287ce | |||
| aa8d97249a | |||
| 2390df17f1 | |||
| c022052539 | |||
| 13c050e2a6 | |||
| ef371b3750 | |||
| bb1f79347b | |||
| 6ed0d6d124 | |||
| 4ed60fe36b | |||
| ca9fa79095 | |||
| a2408cefcf | |||
| 145eaa5de3 | |||
| 1991c930f2 | |||
| 736f84b670 | |||
| d4d5c2675b | |||
| be232e2b77 | |||
| 42389188ad | |||
| 1f6af8c221 | |||
| f4955e3e62 | |||
| a8ef3096c1 | |||
| 14f76b2575 | |||
| 50065d37b9 | |||
| a54670fb91 | |||
| 51fda51cbf | |||
| 53d0205e86 | |||
| 0f56d00959 | |||
| b7a6fccdf9 | |||
| 522f49f48c | |||
| e685f11514 | |||
| 1841b9b4c6 | |||
| 40e37a5c2c | |||
| ac838645a9 | |||
| be40d67c4d | |||
| 700cc06f45 | 
| @ -1,5 +1,5 @@ | |||||||
| [bumpversion] | [bumpversion] | ||||||
| current_version = 2022.3.2 | current_version = 2022.3.3 | ||||||
| tag = True | tag = True | ||||||
| commit = True | commit = True | ||||||
| parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-?(?P<release>.*) | parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-?(?P<release>.*) | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								.github/workflows/release-publish.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/release-publish.yml
									
									
									
									
										vendored
									
									
								
							| @ -30,9 +30,9 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           push: ${{ github.event_name == 'release' }} |           push: ${{ github.event_name == 'release' }} | ||||||
|           tags: | |           tags: | | ||||||
|             beryju/authentik:2022.3.2, |             beryju/authentik:2022.3.3, | ||||||
|             beryju/authentik:latest, |             beryju/authentik:latest, | ||||||
|             ghcr.io/goauthentik/server:2022.3.2, |             ghcr.io/goauthentik/server:2022.3.3, | ||||||
|             ghcr.io/goauthentik/server:latest |             ghcr.io/goauthentik/server:latest | ||||||
|           platforms: linux/amd64,linux/arm64 |           platforms: linux/amd64,linux/arm64 | ||||||
|           context: . |           context: . | ||||||
| @ -69,9 +69,9 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           push: ${{ github.event_name == 'release' }} |           push: ${{ github.event_name == 'release' }} | ||||||
|           tags: | |           tags: | | ||||||
|             beryju/authentik-${{ matrix.type }}:2022.3.2, |             beryju/authentik-${{ matrix.type }}:2022.3.3, | ||||||
|             beryju/authentik-${{ matrix.type }}:latest, |             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 |             ghcr.io/goauthentik/${{ matrix.type }}:latest | ||||||
|           file: ${{ matrix.type }}.Dockerfile |           file: ${{ matrix.type }}.Dockerfile | ||||||
|           platforms: linux/amd64,linux/arm64 |           platforms: linux/amd64,linux/arm64 | ||||||
| @ -152,7 +152,7 @@ jobs: | |||||||
|           SENTRY_PROJECT: authentik |           SENTRY_PROJECT: authentik | ||||||
|           SENTRY_URL: https://sentry.beryju.org |           SENTRY_URL: https://sentry.beryju.org | ||||||
|         with: |         with: | ||||||
|           version: authentik@2022.3.2 |           version: authentik@2022.3.3 | ||||||
|           environment: beryjuorg-prod |           environment: beryjuorg-prod | ||||||
|           sourcemaps: './web/dist' |           sourcemaps: './web/dist' | ||||||
|           url_prefix: '~/static/dist' |           url_prefix: '~/static/dist' | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ ENV NODE_ENV=production | |||||||
| RUN cd /work/web && npm i && npm run build | RUN cd /work/web && npm i && npm run build | ||||||
|  |  | ||||||
| # Stage 3: Build go proxy | # 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 | WORKDIR /work | ||||||
|  |  | ||||||
| @ -32,7 +32,7 @@ COPY ./go.sum /work/go.sum | |||||||
| RUN go build -o /work/authentik ./cmd/server/main.go | RUN go build -o /work/authentik ./cmd/server/main.go | ||||||
|  |  | ||||||
| # Stage 4: Run | # 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.url https://goauthentik.io | ||||||
| LABEL org.opencontainers.image.description goauthentik.io Main server image, see https://goauthentik.io for more info. | LABEL org.opencontainers.image.description goauthentik.io Main server image, see https://goauthentik.io for more info. | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -137,6 +137,6 @@ install: | |||||||
| 	cd website && npm i | 	cd website && npm i | ||||||
|  |  | ||||||
| a: install | a: install | ||||||
| 	tmux -CC \ | 	tmux \ | ||||||
| 		new-session 'make run' \; \ | 		new-session 'make run' \; \ | ||||||
| 		split-window 'make web-watch' | 		split-window 'make web-watch' | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
| from os import environ | from os import environ | ||||||
| from typing import Optional | from typing import Optional | ||||||
|  |  | ||||||
| __version__ = "2022.3.2" | __version__ = "2022.3.3" | ||||||
| ENV_GIT_HASH_KEY = "GIT_BUILD_HASH" | ENV_GIT_HASH_KEY = "GIT_BUILD_HASH" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
| @ -287,10 +287,10 @@ class Application(PolicyBindingModel): | |||||||
|     def get_launch_url(self, user: Optional["User"] = None) -> Optional[str]: |     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.""" |         """Get launch URL if set, otherwise attempt to get launch URL based on provider.""" | ||||||
|         url = None |         url = None | ||||||
|         if self.meta_launch_url: |  | ||||||
|             url = self.meta_launch_url |  | ||||||
|         if provider := self.get_provider(): |         if provider := self.get_provider(): | ||||||
|             url = provider.launch_url |             url = provider.launch_url | ||||||
|  |         if self.meta_launch_url: | ||||||
|  |             url = self.meta_launch_url | ||||||
|         if user and url: |         if user and url: | ||||||
|             if isinstance(user, SimpleLazyObject): |             if isinstance(user, SimpleLazyObject): | ||||||
|                 user._setup() |                 user._setup() | ||||||
|  | |||||||
| @ -4,8 +4,10 @@ from rest_framework.test import APITestCase | |||||||
|  |  | ||||||
| from authentik.core.models import Application | from authentik.core.models import Application | ||||||
| from authentik.core.tests.utils import create_test_admin_user | 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.dummy.models import DummyPolicy | ||||||
| from authentik.policies.models import PolicyBinding | from authentik.policies.models import PolicyBinding | ||||||
|  | from authentik.providers.oauth2.models import OAuth2Provider | ||||||
|  |  | ||||||
|  |  | ||||||
| class TestApplicationsAPI(APITestCase): | class TestApplicationsAPI(APITestCase): | ||||||
| @ -13,8 +15,19 @@ class TestApplicationsAPI(APITestCase): | |||||||
|  |  | ||||||
|     def setUp(self) -> None: |     def setUp(self) -> None: | ||||||
|         self.user = create_test_admin_user() |         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( |         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") |         self.denied = Application.objects.create(name="denied", slug="denied") | ||||||
|         PolicyBinding.objects.create( |         PolicyBinding.objects.create( | ||||||
| @ -64,8 +77,19 @@ class TestApplicationsAPI(APITestCase): | |||||||
|                         "pk": str(self.allowed.pk), |                         "pk": str(self.allowed.pk), | ||||||
|                         "name": "allowed", |                         "name": "allowed", | ||||||
|                         "slug": "allowed", |                         "slug": "allowed", | ||||||
|                         "provider": None, |                         "provider": self.provider.pk, | ||||||
|                         "provider_obj": None, |                         "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}", |                         "launch_url": f"https://goauthentik.io/{self.user.username}", | ||||||
|                         "meta_launch_url": "https://goauthentik.io/%(username)s", |                         "meta_launch_url": "https://goauthentik.io/%(username)s", | ||||||
|                         "meta_icon": None, |                         "meta_icon": None, | ||||||
| @ -100,8 +124,19 @@ class TestApplicationsAPI(APITestCase): | |||||||
|                         "pk": str(self.allowed.pk), |                         "pk": str(self.allowed.pk), | ||||||
|                         "name": "allowed", |                         "name": "allowed", | ||||||
|                         "slug": "allowed", |                         "slug": "allowed", | ||||||
|                         "provider": None, |                         "provider": self.provider.pk, | ||||||
|                         "provider_obj": None, |                         "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}", |                         "launch_url": f"https://goauthentik.io/{self.user.username}", | ||||||
|                         "meta_launch_url": "https://goauthentik.io/%(username)s", |                         "meta_launch_url": "https://goauthentik.io/%(username)s", | ||||||
|                         "meta_icon": None, |                         "meta_icon": None, | ||||||
|  | |||||||
| @ -61,7 +61,7 @@ def certificate_discovery(self: MonitoredTask): | |||||||
|         else: |         else: | ||||||
|             cert_name = path.name.replace(path.suffix, "") |             cert_name = path.name.replace(path.suffix, "") | ||||||
|         try: |         try: | ||||||
|             with open(path, "r+", encoding="utf-8") as _file: |             with open(path, "r", encoding="utf-8") as _file: | ||||||
|                 body = _file.read() |                 body = _file.read() | ||||||
|                 if "PRIVATE KEY" in body: |                 if "PRIVATE KEY" in body: | ||||||
|                     private_keys[cert_name] = ensure_private_key_valid(body) |                     private_keys[cert_name] = ensure_private_key_valid(body) | ||||||
|  | |||||||
| @ -129,7 +129,7 @@ class IngressReconciler(KubernetesObjectReconciler[V1Ingress]): | |||||||
|                                     ), |                                     ), | ||||||
|                                 ), |                                 ), | ||||||
|                                 path="/outpost.goauthentik.io", |                                 path="/outpost.goauthentik.io", | ||||||
|                                 path_type="ImplementationSpecific", |                                 path_type="Prefix", | ||||||
|                             ) |                             ) | ||||||
|                         ] |                         ] | ||||||
|                     ), |                     ), | ||||||
| @ -147,7 +147,7 @@ class IngressReconciler(KubernetesObjectReconciler[V1Ingress]): | |||||||
|                                     ), |                                     ), | ||||||
|                                 ), |                                 ), | ||||||
|                                 path="/", |                                 path="/", | ||||||
|                                 path_type="ImplementationSpecific", |                                 path_type="Prefix", | ||||||
|                             ) |                             ) | ||||||
|                         ] |                         ] | ||||||
|                     ), |                     ), | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ services: | |||||||
|     image: redis:alpine |     image: redis:alpine | ||||||
|     restart: unless-stopped |     restart: unless-stopped | ||||||
|   server: |   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 |     restart: unless-stopped | ||||||
|     command: server |     command: server | ||||||
|     environment: |     environment: | ||||||
| @ -38,7 +38,7 @@ services: | |||||||
|       - "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000" |       - "0.0.0.0:${AUTHENTIK_PORT_HTTP:-9000}:9000" | ||||||
|       - "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443" |       - "0.0.0.0:${AUTHENTIK_PORT_HTTPS:-9443}:9443" | ||||||
|   worker: |   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 |     restart: unless-stopped | ||||||
|     command: worker |     command: worker | ||||||
|     environment: |     environment: | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.mod
									
									
									
									
									
								
							| @ -8,7 +8,7 @@ require ( | |||||||
| 	github.com/garyburd/redigo v1.6.2 // indirect | 	github.com/garyburd/redigo v1.6.2 // indirect | ||||||
| 	github.com/getsentry/sentry-go v0.13.0 | 	github.com/getsentry/sentry-go v0.13.0 | ||||||
| 	github.com/go-ldap/ldap/v3 v3.4.2 | 	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/go-openapi/strfmt v0.21.2 | ||||||
| 	github.com/golang-jwt/jwt v3.2.2+incompatible | 	github.com/golang-jwt/jwt v3.2.2+incompatible | ||||||
| 	github.com/google/uuid v1.3.0 | 	github.com/google/uuid v1.3.0 | ||||||
| @ -26,8 +26,8 @@ require ( | |||||||
| 	github.com/prometheus/client_golang v1.12.1 | 	github.com/prometheus/client_golang v1.12.1 | ||||||
| 	github.com/quasoft/memstore v0.0.0-20191010062613-2bce066d2b0b | 	github.com/quasoft/memstore v0.0.0-20191010062613-2bce066d2b0b | ||||||
| 	github.com/sirupsen/logrus v1.8.1 | 	github.com/sirupsen/logrus v1.8.1 | ||||||
| 	github.com/stretchr/testify v1.7.0 | 	github.com/stretchr/testify v1.7.1 | ||||||
| 	goauthentik.io/api/v3 v3.2022031.1 | 	goauthentik.io/api/v3 v3.2022032.1 | ||||||
| 	golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect | 	golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect | ||||||
| 	golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b | 	golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b | ||||||
| 	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c | 	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								go.sum
									
									
									
									
									
								
							| @ -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/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 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= | ||||||
| github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= | 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.3 h1:/dxjx4KCOQI5ImBMz036F6v/DzZ2NUjSRvbLJs1rgoE= | ||||||
| github.com/go-openapi/runtime v0.23.2/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= | 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 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= | ||||||
| github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= | 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= | 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.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | 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.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.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 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= | ||||||
| github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= | 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= | 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.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= | ||||||
| go.opencensus.io v0.22.3/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= | 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.2022032.1 h1:8PCy0tHUNjGVNJ7nuKPsK64vURFTeqUifyj68RlqMK4= | ||||||
| goauthentik.io/api/v3 v3.2022031.1/go.mod h1:QM9J32HgYE4gL71lWAfAoXSPdSmLVLW08itfLI3Mo10= | 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-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-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
|  | |||||||
| @ -25,4 +25,4 @@ func OutpostUserAgent() string { | |||||||
| 	return fmt.Sprintf("authentik-outpost@%s", FullVersion()) | 	return fmt.Sprintf("authentik-outpost@%s", FullVersion()) | ||||||
| } | } | ||||||
|  |  | ||||||
| const VERSION = "2022.3.2" | const VERSION = "2022.3.3" | ||||||
|  | |||||||
| @ -116,12 +116,12 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult, | |||||||
| 	var users *[]api.User | 	var users *[]api.User | ||||||
| 	var groups *[]api.Group | 	var groups *[]api.Group | ||||||
|  |  | ||||||
| 	errs, _ := errgroup.WithContext(req.Context()) | 	errs, errCtx := errgroup.WithContext(req.Context()) | ||||||
|  |  | ||||||
| 	if needUsers { | 	if needUsers { | ||||||
| 		errs.Go(func() error { | 		errs.Go(func() error { | ||||||
| 			if flags.CanSearch { | 			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) | 				searchReq, skip := utils.ParseFilterForUser(c.CoreApi.CoreUsersList(uapisp.Context()), parsedFilter, false) | ||||||
|  |  | ||||||
| 				if skip { | 				if skip { | ||||||
| @ -140,8 +140,8 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult, | |||||||
| 				users = &u.Results | 				users = &u.Results | ||||||
| 			} else { | 			} else { | ||||||
| 				if flags.UserInfo == nil { | 				if flags.UserInfo == nil { | ||||||
| 					uapisp := sentry.StartSpan(req.Context(), "authentik.providers.ldap.search.api_user") | 					uapisp := sentry.StartSpan(errCtx, "authentik.providers.ldap.search.api_user") | ||||||
| 					u, _, err := c.CoreApi.CoreUsersRetrieve(req.Context(), flags.UserPk).Execute() | 					u, _, err := c.CoreApi.CoreUsersRetrieve(uapisp.Context(), flags.UserPk).Execute() | ||||||
| 					uapisp.Finish() | 					uapisp.Finish() | ||||||
|  |  | ||||||
| 					if err != nil { | 					if err != nil { | ||||||
| @ -164,7 +164,7 @@ func (ds *DirectSearcher) Search(req *search.Request) (ldap.ServerSearchResult, | |||||||
|  |  | ||||||
| 	if needGroups { | 	if needGroups { | ||||||
| 		errs.Go(func() error { | 		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) | 			searchReq, skip := utils.ParseFilterForGroup(c.CoreApi.CoreGroupsList(gapisp.Context()), parsedFilter, false) | ||||||
| 			if skip { | 			if skip { | ||||||
| 				req.Log().Trace("Skip backend request") | 				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())) { | 	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()) | 		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)) | 			entries = append(entries, utils.GetContainerEntry(filterOC, ds.si.GetBaseVirtualGroupDN(), constants.OUVirtualGroups)) | ||||||
| 			scope -= 1 | 			scope -= 1 | ||||||
| 		} | 		} | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| # Stage 1: Build | # 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 | WORKDIR /go/src/goauthentik.io | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										26
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							| @ -1091,7 +1091,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "paramiko" | name = "paramiko" | ||||||
| version = "2.10.1" | version = "2.10.3" | ||||||
| description = "SSH2 protocol library" | description = "SSH2 protocol library" | ||||||
| category = "main" | category = "main" | ||||||
| optional = false | optional = false | ||||||
| @ -1353,7 +1353,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pytest" | name = "pytest" | ||||||
| version = "7.1.0" | version = "7.1.1" | ||||||
| description = "pytest: simple powerful testing with Python" | description = "pytest: simple powerful testing with Python" | ||||||
| category = "dev" | category = "dev" | ||||||
| optional = false | optional = false | ||||||
| @ -1535,7 +1535,7 @@ urllib3 = {version = ">=1.26,<2.0", extras = ["secure", "socks"]} | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "sentry-sdk" | name = "sentry-sdk" | ||||||
| version = "1.5.7" | version = "1.5.8" | ||||||
| description = "Python client for Sentry (https://sentry.io)" | description = "Python client for Sentry (https://sentry.io)" | ||||||
| category = "main" | category = "main" | ||||||
| optional = false | optional = false | ||||||
| @ -1806,7 +1806,7 @@ python-versions = ">=3.6" | |||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "urllib3" | name = "urllib3" | ||||||
| version = "1.26.8" | version = "1.26.9" | ||||||
| description = "HTTP library with thread-safe connection pooling, file post, and more." | description = "HTTP library with thread-safe connection pooling, file post, and more." | ||||||
| category = "main" | category = "main" | ||||||
| optional = false | 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\""} | PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = "extra == \"socks\""} | ||||||
|  |  | ||||||
| [package.extras] | [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"] | secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] | ||||||
| socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] | socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] | ||||||
|  |  | ||||||
| @ -2869,8 +2869,8 @@ packaging = [ | |||||||
|     {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, |     {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, | ||||||
| ] | ] | ||||||
| paramiko = [ | paramiko = [ | ||||||
|     {file = "paramiko-2.10.1-py2.py3-none-any.whl", hash = "sha256:f6cbd3e1204abfdbcd40b3ecbc9d32f04027cd3080fe666245e21e7540ccfc1b"}, |     {file = "paramiko-2.10.3-py2.py3-none-any.whl", hash = "sha256:ac6593479f2b47a9422eca076b22cff9f795495e6733a64723efc75dd8c92101"}, | ||||||
|     {file = "paramiko-2.10.1.tar.gz", hash = "sha256:443f4da23ec24e9a9c0ea54017829c282abdda1d57110bf229360775ccd27a31"}, |     {file = "paramiko-2.10.3.tar.gz", hash = "sha256:ddb1977853aef82804b35d72a0e597b244fa326c404c350bd00c5b01dbfee71a"}, | ||||||
| ] | ] | ||||||
| pathspec = [ | pathspec = [ | ||||||
|     {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, |     {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"}, |     {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, | ||||||
| ] | ] | ||||||
| pytest = [ | pytest = [ | ||||||
|     {file = "pytest-7.1.0-py3-none-any.whl", hash = "sha256:b555252a95bbb2a37a97b5ac2eb050c436f7989993565f5e0c9128fcaacadd0e"}, |     {file = "pytest-7.1.1-py3-none-any.whl", hash = "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea"}, | ||||||
|     {file = "pytest-7.1.0.tar.gz", hash = "sha256:f1089d218cfcc63a212c42896f1b7fbf096874d045e1988186861a1a87d27b47"}, |     {file = "pytest-7.1.1.tar.gz", hash = "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"}, | ||||||
| ] | ] | ||||||
| pytest-django = [ | pytest-django = [ | ||||||
|     {file = "pytest-django-4.5.2.tar.gz", hash = "sha256:d9076f759bb7c36939dbdd5ae6633c18edfc2902d1a69fdbefd2426b970ce6c2"}, |     {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"}, |     {file = "selenium-4.1.3-py3-none-any.whl", hash = "sha256:14d28a628c831c105d38305c881c9c7847199bfd728ec84240c5e86fa1c9bd5a"}, | ||||||
| ] | ] | ||||||
| sentry-sdk = [ | sentry-sdk = [ | ||||||
|     {file = "sentry-sdk-1.5.7.tar.gz", hash = "sha256:aa52da941c56b5a76fd838f8e9e92a850bf893a9eb1e33ffce6c21431d07ee30"}, |     {file = "sentry-sdk-1.5.8.tar.gz", hash = "sha256:38fd16a92b5ef94203db3ece10e03bdaa291481dd7e00e77a148aa0302267d47"}, | ||||||
|     {file = "sentry_sdk-1.5.7-py2.py3-none-any.whl", hash = "sha256:411a8495bd18cf13038e5749e4710beb4efa53da6351f67b4c2f307c2d9b6d49"}, |     {file = "sentry_sdk-1.5.8-py2.py3-none-any.whl", hash = "sha256:32af1a57954576709242beb8c373b3dbde346ac6bd616921def29d68846fb8c3"}, | ||||||
| ] | ] | ||||||
| service-identity = [ | service-identity = [ | ||||||
|     {file = "service-identity-21.1.0.tar.gz", hash = "sha256:6e6c6086ca271dc11b033d17c3a8bea9f24ebff920c587da090afc9519419d34"}, |     {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"}, |     {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, | ||||||
| ] | ] | ||||||
| urllib3 = [ | urllib3 = [ | ||||||
|     {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"}, |     {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, | ||||||
|     {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"}, |     {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, | ||||||
| ] | ] | ||||||
| uvicorn = [ | uvicorn = [ | ||||||
|     {file = "uvicorn-0.17.6-py3-none-any.whl", hash = "sha256:19e2a0e96c9ac5581c01eb1a79a7d2f72bb479691acd2b8921fce48ed5b961a6"}, |     {file = "uvicorn-0.17.6-py3-none-any.whl", hash = "sha256:19e2a0e96c9ac5581c01eb1a79a7d2f72bb479691acd2b8921fce48ed5b961a6"}, | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ ENV NODE_ENV=production | |||||||
| RUN cd /static && npm i && npm run build-proxy | RUN cd /static && npm i && npm run build-proxy | ||||||
|  |  | ||||||
| # Stage 2: Build | # 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 | WORKDIR /go/src/goauthentik.io | ||||||
|  |  | ||||||
|  | |||||||
| @ -92,7 +92,7 @@ addopts = "-p no:celery --junitxml=unittest.xml" | |||||||
|  |  | ||||||
| [tool.poetry] | [tool.poetry] | ||||||
| name = "authentik" | name = "authentik" | ||||||
| version = "2022.3.2" | version = "2022.3.3" | ||||||
| description = "" | description = "" | ||||||
| authors = ["Jens Langhammer <jens.langhammer@beryju.org>"] | authors = ["Jens Langhammer <jens.langhammer@beryju.org>"] | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| openapi: 3.0.3 | openapi: 3.0.3 | ||||||
| info: | info: | ||||||
|   title: authentik |   title: authentik | ||||||
|   version: 2022.3.2 |   version: 2022.3.3 | ||||||
|   description: Making authentication simple. |   description: Making authentication simple. | ||||||
|   contact: |   contact: | ||||||
|     email: hello@beryju.org |     email: hello@beryju.org | ||||||
|  | |||||||
							
								
								
									
										447
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										447
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -9,14 +9,14 @@ | |||||||
|             "version": "0.0.0", |             "version": "0.0.0", | ||||||
|             "license": "GNU GPLv3", |             "license": "GNU GPLv3", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/core": "^7.17.5", |                 "@babel/core": "^7.17.8", | ||||||
|                 "@babel/plugin-proposal-decorators": "^7.17.2", |                 "@babel/plugin-proposal-decorators": "^7.17.8", | ||||||
|                 "@babel/plugin-transform-runtime": "^7.17.0", |                 "@babel/plugin-transform-runtime": "^7.17.0", | ||||||
|                 "@babel/preset-env": "^7.16.11", |                 "@babel/preset-env": "^7.16.11", | ||||||
|                 "@babel/preset-typescript": "^7.16.7", |                 "@babel/preset-typescript": "^7.16.7", | ||||||
|                 "@formatjs/intl-listformat": "^6.5.2", |                 "@formatjs/intl-listformat": "^6.5.2", | ||||||
|                 "@fortawesome/fontawesome-free": "^6.0.0", |                 "@fortawesome/fontawesome-free": "^6.1.0", | ||||||
|                 "@goauthentik/api": "^2022.3.1-1647250825", |                 "@goauthentik/api": "^2022.3.2-1647336362", | ||||||
|                 "@jackfranklin/rollup-plugin-markdown": "^0.3.0", |                 "@jackfranklin/rollup-plugin-markdown": "^0.3.0", | ||||||
|                 "@lingui/cli": "^3.13.2", |                 "@lingui/cli": "^3.13.2", | ||||||
|                 "@lingui/core": "^3.13.2", |                 "@lingui/core": "^3.13.2", | ||||||
| @ -36,9 +36,9 @@ | |||||||
|                 "@trivago/prettier-plugin-sort-imports": "^3.2.0", |                 "@trivago/prettier-plugin-sort-imports": "^3.2.0", | ||||||
|                 "@types/chart.js": "^2.9.35", |                 "@types/chart.js": "^2.9.35", | ||||||
|                 "@types/codemirror": "5.60.5", |                 "@types/codemirror": "5.60.5", | ||||||
|                 "@types/grecaptcha": "^3.0.3", |                 "@types/grecaptcha": "^3.0.4", | ||||||
|                 "@typescript-eslint/eslint-plugin": "^5.14.0", |                 "@typescript-eslint/eslint-plugin": "^5.15.0", | ||||||
|                 "@typescript-eslint/parser": "^5.14.0", |                 "@typescript-eslint/parser": "^5.15.0", | ||||||
|                 "@webcomponents/webcomponentsjs": "^2.6.0", |                 "@webcomponents/webcomponentsjs": "^2.6.0", | ||||||
|                 "babel-plugin-macros": "^3.1.0", |                 "babel-plugin-macros": "^3.1.0", | ||||||
|                 "base64-js": "^1.5.1", |                 "base64-js": "^1.5.1", | ||||||
| @ -46,18 +46,18 @@ | |||||||
|                 "chartjs-adapter-moment": "^1.0.0", |                 "chartjs-adapter-moment": "^1.0.0", | ||||||
|                 "codemirror": "^5.65.2", |                 "codemirror": "^5.65.2", | ||||||
|                 "construct-style-sheets-polyfill": "^3.1.0", |                 "construct-style-sheets-polyfill": "^3.1.0", | ||||||
|                 "country-flag-icons": "^1.4.21", |                 "country-flag-icons": "^1.4.24", | ||||||
|                 "eslint": "^8.11.0", |                 "eslint": "^8.11.0", | ||||||
|                 "eslint-config-google": "^0.14.0", |                 "eslint-config-google": "^0.14.0", | ||||||
|                 "eslint-plugin-custom-elements": "0.0.4", |                 "eslint-plugin-custom-elements": "0.0.4", | ||||||
|                 "eslint-plugin-lit": "^1.6.1", |                 "eslint-plugin-lit": "^1.6.1", | ||||||
|                 "flowchart.js": "^1.17.1", |                 "flowchart.js": "^1.17.1", | ||||||
|                 "fuse.js": "^6.5.3", |                 "fuse.js": "^6.5.3", | ||||||
|                 "lit": "^2.2.0", |                 "lit": "^2.2.1", | ||||||
|                 "moment": "^2.29.1", |                 "moment": "^2.29.1", | ||||||
|                 "prettier": "^2.5.1", |                 "prettier": "^2.6.0", | ||||||
|                 "rapidoc": "^9.2.0", |                 "rapidoc": "^9.2.0", | ||||||
|                 "rollup": "^2.70.0", |                 "rollup": "^2.70.1", | ||||||
|                 "rollup-plugin-copy": "^3.4.0", |                 "rollup-plugin-copy": "^3.4.0", | ||||||
|                 "rollup-plugin-cssimport": "^1.0.2", |                 "rollup-plugin-cssimport": "^1.0.2", | ||||||
|                 "rollup-plugin-minify-html-literals": "^1.2.6", |                 "rollup-plugin-minify-html-literals": "^1.2.6", | ||||||
| @ -66,7 +66,7 @@ | |||||||
|                 "ts-lit-plugin": "^1.2.1", |                 "ts-lit-plugin": "^1.2.1", | ||||||
|                 "tslib": "^2.3.1", |                 "tslib": "^2.3.1", | ||||||
|                 "typescript": "^4.6.2", |                 "typescript": "^4.6.2", | ||||||
|                 "webcomponent-qr-code": "^1.0.5", |                 "webcomponent-qr-code": "^1.0.6", | ||||||
|                 "yaml": "^1.10.2" |                 "yaml": "^1.10.2" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
| @ -101,25 +101,25 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/compat-data": { |         "node_modules/@babel/compat-data": { | ||||||
|             "version": "7.16.8", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", |             "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", | ||||||
|             "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", |             "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=6.9.0" |                 "node": ">=6.9.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/core": { |         "node_modules/@babel/core": { | ||||||
|             "version": "7.17.5", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", |             "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", | ||||||
|             "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", |             "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@ampproject/remapping": "^2.1.0", |                 "@ampproject/remapping": "^2.1.0", | ||||||
|                 "@babel/code-frame": "^7.16.7", |                 "@babel/code-frame": "^7.16.7", | ||||||
|                 "@babel/generator": "^7.17.3", |                 "@babel/generator": "^7.17.7", | ||||||
|                 "@babel/helper-compilation-targets": "^7.16.7", |                 "@babel/helper-compilation-targets": "^7.17.7", | ||||||
|                 "@babel/helper-module-transforms": "^7.16.7", |                 "@babel/helper-module-transforms": "^7.17.7", | ||||||
|                 "@babel/helpers": "^7.17.2", |                 "@babel/helpers": "^7.17.8", | ||||||
|                 "@babel/parser": "^7.17.3", |                 "@babel/parser": "^7.17.8", | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.17.3", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.17.0", |                 "@babel/types": "^7.17.0", | ||||||
| @ -138,9 +138,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/generator": { |         "node_modules/@babel/generator": { | ||||||
|             "version": "7.17.3", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", |             "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", | ||||||
|             "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", |             "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/types": "^7.17.0", |                 "@babel/types": "^7.17.0", | ||||||
|                 "jsesc": "^2.5.1", |                 "jsesc": "^2.5.1", | ||||||
| @ -174,11 +174,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/helper-compilation-targets": { |         "node_modules/@babel/helper-compilation-targets": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", | ||||||
|             "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", |             "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/compat-data": "^7.16.4", |                 "@babel/compat-data": "^7.17.7", | ||||||
|                 "@babel/helper-validator-option": "^7.16.7", |                 "@babel/helper-validator-option": "^7.16.7", | ||||||
|                 "browserslist": "^4.17.5", |                 "browserslist": "^4.17.5", | ||||||
|                 "semver": "^6.3.0" |                 "semver": "^6.3.0" | ||||||
| @ -191,9 +191,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/helper-create-class-features-plugin": { |         "node_modules/@babel/helper-create-class-features-plugin": { | ||||||
|             "version": "7.17.1", |             "version": "7.17.6", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", | ||||||
|             "integrity": "sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==", |             "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/helper-annotate-as-pure": "^7.16.7", |                 "@babel/helper-annotate-as-pure": "^7.16.7", | ||||||
|                 "@babel/helper-environment-visitor": "^7.16.7", |                 "@babel/helper-environment-visitor": "^7.16.7", | ||||||
| @ -323,18 +323,18 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/helper-module-transforms": { |         "node_modules/@babel/helper-module-transforms": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", | ||||||
|             "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", |             "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/helper-environment-visitor": "^7.16.7", |                 "@babel/helper-environment-visitor": "^7.16.7", | ||||||
|                 "@babel/helper-module-imports": "^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-split-export-declaration": "^7.16.7", | ||||||
|                 "@babel/helper-validator-identifier": "^7.16.7", |                 "@babel/helper-validator-identifier": "^7.16.7", | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.16.7", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.16.7" |                 "@babel/types": "^7.17.0" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=6.9.0" |                 "node": ">=6.9.0" | ||||||
| @ -388,11 +388,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/helper-simple-access": { |         "node_modules/@babel/helper-simple-access": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", | ||||||
|             "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", |             "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/types": "^7.16.7" |                 "@babel/types": "^7.17.0" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=6.9.0" |                 "node": ">=6.9.0" | ||||||
| @ -451,12 +451,12 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/helpers": { |         "node_modules/@babel/helpers": { | ||||||
|             "version": "7.17.2", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", | ||||||
|             "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", |             "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.17.0", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.17.0" |                 "@babel/types": "^7.17.0" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
| @ -477,9 +477,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/parser": { |         "node_modules/@babel/parser": { | ||||||
|             "version": "7.17.3", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", |             "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", | ||||||
|             "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", |             "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==", | ||||||
|             "bin": { |             "bin": { | ||||||
|                 "parser": "bin/babel-parser.js" |                 "parser": "bin/babel-parser.js" | ||||||
|             }, |             }, | ||||||
| @ -565,11 +565,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@babel/plugin-proposal-decorators": { |         "node_modules/@babel/plugin-proposal-decorators": { | ||||||
|             "version": "7.17.2", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz", |             "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", | ||||||
|             "integrity": "sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw==", |             "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", | ||||||
|             "dependencies": { |             "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-plugin-utils": "^7.16.7", | ||||||
|                 "@babel/helper-replace-supers": "^7.16.7", |                 "@babel/helper-replace-supers": "^7.16.7", | ||||||
|                 "@babel/plugin-syntax-decorators": "^7.17.0", |                 "@babel/plugin-syntax-decorators": "^7.17.0", | ||||||
| @ -1757,18 +1757,18 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@fortawesome/fontawesome-free": { |         "node_modules/@fortawesome/fontawesome-free": { | ||||||
|             "version": "6.0.0", |             "version": "6.1.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz", |             "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.0.tgz", | ||||||
|             "integrity": "sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q==", |             "integrity": "sha512-OgM74M6+Q7BuKAj8r+VfzwjnIGZrY62R4ipbiDvBW4FA0mLnB3yeuV/2bW63j+zppGyTvBp/3jqXp9ZXy43nFw==", | ||||||
|             "hasInstallScript": true, |             "hasInstallScript": true, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=6" |                 "node": ">=6" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@goauthentik/api": { |         "node_modules/@goauthentik/api": { | ||||||
|             "version": "2022.3.1-1647250825", |             "version": "2022.3.2-1647336362", | ||||||
|             "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.1-1647250825.tgz", |             "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.2-1647336362.tgz", | ||||||
|             "integrity": "sha512-dhGE3Dj8vdyb8E4uCOfnKWXVN4N+elYcP7xT4tWZDzwwmlRxb3HU2I8OOrxJgVKmeICIaJtQu3/Ld6AmakJJCQ==" |             "integrity": "sha512-BU+FkUDEACeIfvdBw5A8WAKC6xZZ43kpyu7kE4jRe2ltNr3YjgWGgGdQFcPte4wHACDsZ6SLxwhujGjvCGX7iw==" | ||||||
|         }, |         }, | ||||||
|         "node_modules/@humanwhocodes/config-array": { |         "node_modules/@humanwhocodes/config-array": { | ||||||
|             "version": "0.9.2", |             "version": "0.9.2", | ||||||
| @ -2776,9 +2776,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@types/grecaptcha": { |         "node_modules/@types/grecaptcha": { | ||||||
|             "version": "3.0.3", |             "version": "3.0.4", | ||||||
|             "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.3.tgz", |             "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.4.tgz", | ||||||
|             "integrity": "sha512-osLqWRzsRsDtCfiCl1lbtUY8ANGCQsG/hhht3E7g1pVT7fD5SXgAg53S2grKjjSkXcm0fvMDbhUeL9NyAJvzGQ==" |             "integrity": "sha512-7l1Y8DTGXkx/r4pwU1nMVAR+yD/QC+MCHKXAyEX/7JZhwcN1IED09aZ9vCjjkcGdhSQiu/eJqcXInpl6eEEEwg==" | ||||||
|         }, |         }, | ||||||
|         "node_modules/@types/html-minifier": { |         "node_modules/@types/html-minifier": { | ||||||
|             "version": "3.5.3", |             "version": "3.5.3", | ||||||
| @ -2879,13 +2879,13 @@ | |||||||
|             "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" |             "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/eslint-plugin": { |         "node_modules/@typescript-eslint/eslint-plugin": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", | ||||||
|             "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", |             "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/type-utils": "5.14.0", |                 "@typescript-eslint/type-utils": "5.15.0", | ||||||
|                 "@typescript-eslint/utils": "5.14.0", |                 "@typescript-eslint/utils": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "functional-red-black-tree": "^1.0.1", |                 "functional-red-black-tree": "^1.0.1", | ||||||
|                 "ignore": "^5.1.8", |                 "ignore": "^5.1.8", | ||||||
| @ -2925,13 +2925,13 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/parser": { |         "node_modules/@typescript-eslint/parser": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", | ||||||
|             "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", |             "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/typescript-estree": "5.14.0", |                 "@typescript-eslint/typescript-estree": "5.15.0", | ||||||
|                 "debug": "^4.3.2" |                 "debug": "^4.3.2" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
| @ -2951,12 +2951,12 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/scope-manager": { |         "node_modules/@typescript-eslint/scope-manager": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", | ||||||
|             "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", |             "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/visitor-keys": "5.14.0" |                 "@typescript-eslint/visitor-keys": "5.15.0" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" |                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
| @ -2967,11 +2967,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/type-utils": { |         "node_modules/@typescript-eslint/type-utils": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", | ||||||
|             "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", |             "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/utils": "5.14.0", |                 "@typescript-eslint/utils": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "tsutils": "^3.21.0" |                 "tsutils": "^3.21.0" | ||||||
|             }, |             }, | ||||||
| @ -2992,9 +2992,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/types": { |         "node_modules/@typescript-eslint/types": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", | ||||||
|             "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", |             "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==", | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" |                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|             }, |             }, | ||||||
| @ -3004,12 +3004,12 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/typescript-estree": { |         "node_modules/@typescript-eslint/typescript-estree": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", | ||||||
|             "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", |             "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/visitor-keys": "5.14.0", |                 "@typescript-eslint/visitor-keys": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "globby": "^11.0.4", |                 "globby": "^11.0.4", | ||||||
|                 "is-glob": "^4.0.3", |                 "is-glob": "^4.0.3", | ||||||
| @ -3044,14 +3044,14 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/utils": { |         "node_modules/@typescript-eslint/utils": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", | ||||||
|             "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", |             "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@types/json-schema": "^7.0.9", |                 "@types/json-schema": "^7.0.9", | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/typescript-estree": "5.14.0", |                 "@typescript-eslint/typescript-estree": "5.15.0", | ||||||
|                 "eslint-scope": "^5.1.1", |                 "eslint-scope": "^5.1.1", | ||||||
|                 "eslint-utils": "^3.0.0" |                 "eslint-utils": "^3.0.0" | ||||||
|             }, |             }, | ||||||
| @ -3067,11 +3067,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@typescript-eslint/visitor-keys": { |         "node_modules/@typescript-eslint/visitor-keys": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", | ||||||
|             "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", |             "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "eslint-visitor-keys": "^3.0.0" |                 "eslint-visitor-keys": "^3.0.0" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
| @ -3941,9 +3941,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/country-flag-icons": { |         "node_modules/country-flag-icons": { | ||||||
|             "version": "1.4.21", |             "version": "1.4.24", | ||||||
|             "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.21.tgz", |             "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.24.tgz", | ||||||
|             "integrity": "sha512-bA9jDr+T5li7EsKdDx0xVnO0bdMdoT8IA3BNbeT2XSWUygR1okhiZ2+eYiC1EKLrFZhI4aEHni2w03lUlOjogg==" |             "integrity": "sha512-yUphht6AbH5OEbj1DGbG/sTenyRV2SEyW64JQazlmHV/ArFV8lQRQ5fvO4e8L7dC5UV95c21hJ1FEfu49WogbQ==" | ||||||
|         }, |         }, | ||||||
|         "node_modules/create-require": { |         "node_modules/create-require": { | ||||||
|             "version": "1.1.1", |             "version": "1.1.1", | ||||||
| @ -5798,9 +5798,9 @@ | |||||||
|             "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" |             "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" | ||||||
|         }, |         }, | ||||||
|         "node_modules/lit": { |         "node_modules/lit": { | ||||||
|             "version": "2.2.0", |             "version": "2.2.1", | ||||||
|             "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.0.tgz", |             "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.1.tgz", | ||||||
|             "integrity": "sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ==", |             "integrity": "sha512-dSe++R50JqrvNGXmI9OE13de1z5U/Y3J2dTm/9GC86vedI8ILoR8ZGnxfThFpvQ9m0lR0qRnIR4IiKj/jDCfYw==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@lit/reactive-element": "^1.3.0", |                 "@lit/reactive-element": "^1.3.0", | ||||||
|                 "lit-element": "^3.2.0", |                 "lit-element": "^3.2.0", | ||||||
| @ -6876,14 +6876,17 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/prettier": { |         "node_modules/prettier": { | ||||||
|             "version": "2.5.1", |             "version": "2.6.0", | ||||||
|             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", |             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", | ||||||
|             "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", |             "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", | ||||||
|             "bin": { |             "bin": { | ||||||
|                 "prettier": "bin-prettier.js" |                 "prettier": "bin-prettier.js" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=10.13.0" |                 "node": ">=10.13.0" | ||||||
|  |             }, | ||||||
|  |             "funding": { | ||||||
|  |                 "url": "https://github.com/prettier/prettier?sponsor=1" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/pretty-format": { |         "node_modules/pretty-format": { | ||||||
| @ -7310,9 +7313,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/rollup": { |         "node_modules/rollup": { | ||||||
|             "version": "2.70.0", |             "version": "2.70.1", | ||||||
|             "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", |             "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", | ||||||
|             "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", |             "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", | ||||||
|             "bin": { |             "bin": { | ||||||
|                 "rollup": "dist/bin/rollup" |                 "rollup": "dist/bin/rollup" | ||||||
|             }, |             }, | ||||||
| @ -8705,9 +8708,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/webcomponent-qr-code": { |         "node_modules/webcomponent-qr-code": { | ||||||
|             "version": "1.0.5", |             "version": "1.0.6", | ||||||
|             "resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.5.tgz", |             "resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.6.tgz", | ||||||
|             "integrity": "sha512-uLulSj2nUe8HvhsuXSy8NySz3YPikpA2oIVrv15a4acNoiAdpickMFw5wSgFp7kxEb0twT/wC5VozZQHZhsZIw==", |             "integrity": "sha512-uEsH1rfuLQro8xgiyKHumdMEHeIKOvtS/LlvWTtdQ1ZLJXXpMT0dAqO0TJcXlk/DSHIl7btnq3mUdPR3QBSgNw==", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "qrjs": "^0.1.2" |                 "qrjs": "^0.1.2" | ||||||
|             } |             } | ||||||
| @ -8937,22 +8940,22 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/compat-data": { |         "@babel/compat-data": { | ||||||
|             "version": "7.16.8", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", |             "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", | ||||||
|             "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==" |             "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" | ||||||
|         }, |         }, | ||||||
|         "@babel/core": { |         "@babel/core": { | ||||||
|             "version": "7.17.5", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", |             "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", | ||||||
|             "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", |             "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@ampproject/remapping": "^2.1.0", |                 "@ampproject/remapping": "^2.1.0", | ||||||
|                 "@babel/code-frame": "^7.16.7", |                 "@babel/code-frame": "^7.16.7", | ||||||
|                 "@babel/generator": "^7.17.3", |                 "@babel/generator": "^7.17.7", | ||||||
|                 "@babel/helper-compilation-targets": "^7.16.7", |                 "@babel/helper-compilation-targets": "^7.17.7", | ||||||
|                 "@babel/helper-module-transforms": "^7.16.7", |                 "@babel/helper-module-transforms": "^7.17.7", | ||||||
|                 "@babel/helpers": "^7.17.2", |                 "@babel/helpers": "^7.17.8", | ||||||
|                 "@babel/parser": "^7.17.3", |                 "@babel/parser": "^7.17.8", | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.17.3", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.17.0", |                 "@babel/types": "^7.17.0", | ||||||
| @ -8964,9 +8967,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/generator": { |         "@babel/generator": { | ||||||
|             "version": "7.17.3", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", |             "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", | ||||||
|             "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", |             "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/types": "^7.17.0", |                 "@babel/types": "^7.17.0", | ||||||
|                 "jsesc": "^2.5.1", |                 "jsesc": "^2.5.1", | ||||||
| @ -8991,20 +8994,20 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-compilation-targets": { |         "@babel/helper-compilation-targets": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", | ||||||
|             "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", |             "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/compat-data": "^7.16.4", |                 "@babel/compat-data": "^7.17.7", | ||||||
|                 "@babel/helper-validator-option": "^7.16.7", |                 "@babel/helper-validator-option": "^7.16.7", | ||||||
|                 "browserslist": "^4.17.5", |                 "browserslist": "^4.17.5", | ||||||
|                 "semver": "^6.3.0" |                 "semver": "^6.3.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-create-class-features-plugin": { |         "@babel/helper-create-class-features-plugin": { | ||||||
|             "version": "7.17.1", |             "version": "7.17.6", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", | ||||||
|             "integrity": "sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==", |             "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/helper-annotate-as-pure": "^7.16.7", |                 "@babel/helper-annotate-as-pure": "^7.16.7", | ||||||
|                 "@babel/helper-environment-visitor": "^7.16.7", |                 "@babel/helper-environment-visitor": "^7.16.7", | ||||||
| @ -9098,18 +9101,18 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-module-transforms": { |         "@babel/helper-module-transforms": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", | ||||||
|             "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", |             "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/helper-environment-visitor": "^7.16.7", |                 "@babel/helper-environment-visitor": "^7.16.7", | ||||||
|                 "@babel/helper-module-imports": "^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-split-export-declaration": "^7.16.7", | ||||||
|                 "@babel/helper-validator-identifier": "^7.16.7", |                 "@babel/helper-validator-identifier": "^7.16.7", | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.16.7", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.16.7" |                 "@babel/types": "^7.17.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-optimise-call-expression": { |         "@babel/helper-optimise-call-expression": { | ||||||
| @ -9148,11 +9151,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-simple-access": { |         "@babel/helper-simple-access": { | ||||||
|             "version": "7.16.7", |             "version": "7.17.7", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", | ||||||
|             "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", |             "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/types": "^7.16.7" |                 "@babel/types": "^7.17.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helper-skip-transparent-expression-wrappers": { |         "@babel/helper-skip-transparent-expression-wrappers": { | ||||||
| @ -9193,12 +9196,12 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/helpers": { |         "@babel/helpers": { | ||||||
|             "version": "7.17.2", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz", |             "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", | ||||||
|             "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==", |             "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@babel/template": "^7.16.7", |                 "@babel/template": "^7.16.7", | ||||||
|                 "@babel/traverse": "^7.17.0", |                 "@babel/traverse": "^7.17.3", | ||||||
|                 "@babel/types": "^7.17.0" |                 "@babel/types": "^7.17.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
| @ -9213,9 +9216,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/parser": { |         "@babel/parser": { | ||||||
|             "version": "7.17.3", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", |             "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", | ||||||
|             "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==" |             "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" | ||||||
|         }, |         }, | ||||||
|         "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { |         "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { | ||||||
|             "version": "7.16.7", |             "version": "7.16.7", | ||||||
| @ -9265,11 +9268,11 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@babel/plugin-proposal-decorators": { |         "@babel/plugin-proposal-decorators": { | ||||||
|             "version": "7.17.2", |             "version": "7.17.8", | ||||||
|             "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz", |             "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", | ||||||
|             "integrity": "sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw==", |             "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", | ||||||
|             "requires": { |             "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-plugin-utils": "^7.16.7", | ||||||
|                 "@babel/helper-replace-supers": "^7.16.7", |                 "@babel/helper-replace-supers": "^7.16.7", | ||||||
|                 "@babel/plugin-syntax-decorators": "^7.17.0", |                 "@babel/plugin-syntax-decorators": "^7.17.0", | ||||||
| @ -10057,14 +10060,14 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@fortawesome/fontawesome-free": { |         "@fortawesome/fontawesome-free": { | ||||||
|             "version": "6.0.0", |             "version": "6.1.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz", |             "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.0.tgz", | ||||||
|             "integrity": "sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q==" |             "integrity": "sha512-OgM74M6+Q7BuKAj8r+VfzwjnIGZrY62R4ipbiDvBW4FA0mLnB3yeuV/2bW63j+zppGyTvBp/3jqXp9ZXy43nFw==" | ||||||
|         }, |         }, | ||||||
|         "@goauthentik/api": { |         "@goauthentik/api": { | ||||||
|             "version": "2022.3.1-1647250825", |             "version": "2022.3.2-1647336362", | ||||||
|             "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.1-1647250825.tgz", |             "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2022.3.2-1647336362.tgz", | ||||||
|             "integrity": "sha512-dhGE3Dj8vdyb8E4uCOfnKWXVN4N+elYcP7xT4tWZDzwwmlRxb3HU2I8OOrxJgVKmeICIaJtQu3/Ld6AmakJJCQ==" |             "integrity": "sha512-BU+FkUDEACeIfvdBw5A8WAKC6xZZ43kpyu7kE4jRe2ltNr3YjgWGgGdQFcPte4wHACDsZ6SLxwhujGjvCGX7iw==" | ||||||
|         }, |         }, | ||||||
|         "@humanwhocodes/config-array": { |         "@humanwhocodes/config-array": { | ||||||
|             "version": "0.9.2", |             "version": "0.9.2", | ||||||
| @ -10884,9 +10887,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@types/grecaptcha": { |         "@types/grecaptcha": { | ||||||
|             "version": "3.0.3", |             "version": "3.0.4", | ||||||
|             "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.3.tgz", |             "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.4.tgz", | ||||||
|             "integrity": "sha512-osLqWRzsRsDtCfiCl1lbtUY8ANGCQsG/hhht3E7g1pVT7fD5SXgAg53S2grKjjSkXcm0fvMDbhUeL9NyAJvzGQ==" |             "integrity": "sha512-7l1Y8DTGXkx/r4pwU1nMVAR+yD/QC+MCHKXAyEX/7JZhwcN1IED09aZ9vCjjkcGdhSQiu/eJqcXInpl6eEEEwg==" | ||||||
|         }, |         }, | ||||||
|         "@types/html-minifier": { |         "@types/html-minifier": { | ||||||
|             "version": "3.5.3", |             "version": "3.5.3", | ||||||
| @ -10986,13 +10989,13 @@ | |||||||
|             "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" |             "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/eslint-plugin": { |         "@typescript-eslint/eslint-plugin": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", | ||||||
|             "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", |             "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/type-utils": "5.14.0", |                 "@typescript-eslint/type-utils": "5.15.0", | ||||||
|                 "@typescript-eslint/utils": "5.14.0", |                 "@typescript-eslint/utils": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "functional-red-black-tree": "^1.0.1", |                 "functional-red-black-tree": "^1.0.1", | ||||||
|                 "ignore": "^5.1.8", |                 "ignore": "^5.1.8", | ||||||
| @ -11012,47 +11015,47 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/parser": { |         "@typescript-eslint/parser": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", | ||||||
|             "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", |             "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/typescript-estree": "5.14.0", |                 "@typescript-eslint/typescript-estree": "5.15.0", | ||||||
|                 "debug": "^4.3.2" |                 "debug": "^4.3.2" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/scope-manager": { |         "@typescript-eslint/scope-manager": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", | ||||||
|             "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", |             "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/visitor-keys": "5.14.0" |                 "@typescript-eslint/visitor-keys": "5.15.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/type-utils": { |         "@typescript-eslint/type-utils": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", | ||||||
|             "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", |             "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/utils": "5.14.0", |                 "@typescript-eslint/utils": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "tsutils": "^3.21.0" |                 "tsutils": "^3.21.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/types": { |         "@typescript-eslint/types": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", | ||||||
|             "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==" |             "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==" | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/typescript-estree": { |         "@typescript-eslint/typescript-estree": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", | ||||||
|             "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", |             "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/visitor-keys": "5.14.0", |                 "@typescript-eslint/visitor-keys": "5.15.0", | ||||||
|                 "debug": "^4.3.2", |                 "debug": "^4.3.2", | ||||||
|                 "globby": "^11.0.4", |                 "globby": "^11.0.4", | ||||||
|                 "is-glob": "^4.0.3", |                 "is-glob": "^4.0.3", | ||||||
| @ -11071,24 +11074,24 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/utils": { |         "@typescript-eslint/utils": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", | ||||||
|             "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", |             "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@types/json-schema": "^7.0.9", |                 "@types/json-schema": "^7.0.9", | ||||||
|                 "@typescript-eslint/scope-manager": "5.14.0", |                 "@typescript-eslint/scope-manager": "5.15.0", | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "@typescript-eslint/typescript-estree": "5.14.0", |                 "@typescript-eslint/typescript-estree": "5.15.0", | ||||||
|                 "eslint-scope": "^5.1.1", |                 "eslint-scope": "^5.1.1", | ||||||
|                 "eslint-utils": "^3.0.0" |                 "eslint-utils": "^3.0.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "@typescript-eslint/visitor-keys": { |         "@typescript-eslint/visitor-keys": { | ||||||
|             "version": "5.14.0", |             "version": "5.15.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", |             "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", | ||||||
|             "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", |             "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@typescript-eslint/types": "5.14.0", |                 "@typescript-eslint/types": "5.15.0", | ||||||
|                 "eslint-visitor-keys": "^3.0.0" |                 "eslint-visitor-keys": "^3.0.0" | ||||||
|             }, |             }, | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
| @ -11715,9 +11718,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "country-flag-icons": { |         "country-flag-icons": { | ||||||
|             "version": "1.4.21", |             "version": "1.4.24", | ||||||
|             "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.21.tgz", |             "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.4.24.tgz", | ||||||
|             "integrity": "sha512-bA9jDr+T5li7EsKdDx0xVnO0bdMdoT8IA3BNbeT2XSWUygR1okhiZ2+eYiC1EKLrFZhI4aEHni2w03lUlOjogg==" |             "integrity": "sha512-yUphht6AbH5OEbj1DGbG/sTenyRV2SEyW64JQazlmHV/ArFV8lQRQ5fvO4e8L7dC5UV95c21hJ1FEfu49WogbQ==" | ||||||
|         }, |         }, | ||||||
|         "create-require": { |         "create-require": { | ||||||
|             "version": "1.1.1", |             "version": "1.1.1", | ||||||
| @ -13085,9 +13088,9 @@ | |||||||
|             "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" |             "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" | ||||||
|         }, |         }, | ||||||
|         "lit": { |         "lit": { | ||||||
|             "version": "2.2.0", |             "version": "2.2.1", | ||||||
|             "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.0.tgz", |             "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.1.tgz", | ||||||
|             "integrity": "sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ==", |             "integrity": "sha512-dSe++R50JqrvNGXmI9OE13de1z5U/Y3J2dTm/9GC86vedI8ILoR8ZGnxfThFpvQ9m0lR0qRnIR4IiKj/jDCfYw==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "@lit/reactive-element": "^1.3.0", |                 "@lit/reactive-element": "^1.3.0", | ||||||
|                 "lit-element": "^3.2.0", |                 "lit-element": "^3.2.0", | ||||||
| @ -13908,9 +13911,9 @@ | |||||||
|             "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" |             "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" | ||||||
|         }, |         }, | ||||||
|         "prettier": { |         "prettier": { | ||||||
|             "version": "2.5.1", |             "version": "2.6.0", | ||||||
|             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", |             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", | ||||||
|             "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==" |             "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==" | ||||||
|         }, |         }, | ||||||
|         "pretty-format": { |         "pretty-format": { | ||||||
|             "version": "26.6.2", |             "version": "26.6.2", | ||||||
| @ -14215,9 +14218,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "rollup": { |         "rollup": { | ||||||
|             "version": "2.70.0", |             "version": "2.70.1", | ||||||
|             "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.0.tgz", |             "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", | ||||||
|             "integrity": "sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==", |             "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "fsevents": "~2.3.2" |                 "fsevents": "~2.3.2" | ||||||
|             } |             } | ||||||
| @ -15318,9 +15321,9 @@ | |||||||
|             "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==" |             "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==" | ||||||
|         }, |         }, | ||||||
|         "webcomponent-qr-code": { |         "webcomponent-qr-code": { | ||||||
|             "version": "1.0.5", |             "version": "1.0.6", | ||||||
|             "resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.5.tgz", |             "resolved": "https://registry.npmjs.org/webcomponent-qr-code/-/webcomponent-qr-code-1.0.6.tgz", | ||||||
|             "integrity": "sha512-uLulSj2nUe8HvhsuXSy8NySz3YPikpA2oIVrv15a4acNoiAdpickMFw5wSgFp7kxEb0twT/wC5VozZQHZhsZIw==", |             "integrity": "sha512-uEsH1rfuLQro8xgiyKHumdMEHeIKOvtS/LlvWTtdQ1ZLJXXpMT0dAqO0TJcXlk/DSHIl7btnq3mUdPR3QBSgNw==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "qrjs": "^0.1.2" |                 "qrjs": "^0.1.2" | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -52,14 +52,14 @@ | |||||||
|         ] |         ] | ||||||
|     }, |     }, | ||||||
|     "dependencies": { |     "dependencies": { | ||||||
|         "@babel/core": "^7.17.5", |         "@babel/core": "^7.17.8", | ||||||
|         "@babel/plugin-proposal-decorators": "^7.17.2", |         "@babel/plugin-proposal-decorators": "^7.17.8", | ||||||
|         "@babel/plugin-transform-runtime": "^7.17.0", |         "@babel/plugin-transform-runtime": "^7.17.0", | ||||||
|         "@babel/preset-env": "^7.16.11", |         "@babel/preset-env": "^7.16.11", | ||||||
|         "@babel/preset-typescript": "^7.16.7", |         "@babel/preset-typescript": "^7.16.7", | ||||||
|         "@formatjs/intl-listformat": "^6.5.2", |         "@formatjs/intl-listformat": "^6.5.2", | ||||||
|         "@fortawesome/fontawesome-free": "^6.0.0", |         "@fortawesome/fontawesome-free": "^6.1.0", | ||||||
|         "@goauthentik/api": "^2022.3.1-1647250825", |         "@goauthentik/api": "^2022.3.2-1647336362", | ||||||
|         "@jackfranklin/rollup-plugin-markdown": "^0.3.0", |         "@jackfranklin/rollup-plugin-markdown": "^0.3.0", | ||||||
|         "@lingui/cli": "^3.13.2", |         "@lingui/cli": "^3.13.2", | ||||||
|         "@lingui/core": "^3.13.2", |         "@lingui/core": "^3.13.2", | ||||||
| @ -79,9 +79,9 @@ | |||||||
|         "@trivago/prettier-plugin-sort-imports": "^3.2.0", |         "@trivago/prettier-plugin-sort-imports": "^3.2.0", | ||||||
|         "@types/chart.js": "^2.9.35", |         "@types/chart.js": "^2.9.35", | ||||||
|         "@types/codemirror": "5.60.5", |         "@types/codemirror": "5.60.5", | ||||||
|         "@types/grecaptcha": "^3.0.3", |         "@types/grecaptcha": "^3.0.4", | ||||||
|         "@typescript-eslint/eslint-plugin": "^5.14.0", |         "@typescript-eslint/eslint-plugin": "^5.15.0", | ||||||
|         "@typescript-eslint/parser": "^5.14.0", |         "@typescript-eslint/parser": "^5.15.0", | ||||||
|         "@webcomponents/webcomponentsjs": "^2.6.0", |         "@webcomponents/webcomponentsjs": "^2.6.0", | ||||||
|         "babel-plugin-macros": "^3.1.0", |         "babel-plugin-macros": "^3.1.0", | ||||||
|         "base64-js": "^1.5.1", |         "base64-js": "^1.5.1", | ||||||
| @ -89,18 +89,18 @@ | |||||||
|         "chartjs-adapter-moment": "^1.0.0", |         "chartjs-adapter-moment": "^1.0.0", | ||||||
|         "codemirror": "^5.65.2", |         "codemirror": "^5.65.2", | ||||||
|         "construct-style-sheets-polyfill": "^3.1.0", |         "construct-style-sheets-polyfill": "^3.1.0", | ||||||
|         "country-flag-icons": "^1.4.21", |         "country-flag-icons": "^1.4.24", | ||||||
|         "eslint": "^8.11.0", |         "eslint": "^8.11.0", | ||||||
|         "eslint-config-google": "^0.14.0", |         "eslint-config-google": "^0.14.0", | ||||||
|         "eslint-plugin-custom-elements": "0.0.4", |         "eslint-plugin-custom-elements": "0.0.4", | ||||||
|         "eslint-plugin-lit": "^1.6.1", |         "eslint-plugin-lit": "^1.6.1", | ||||||
|         "flowchart.js": "^1.17.1", |         "flowchart.js": "^1.17.1", | ||||||
|         "fuse.js": "^6.5.3", |         "fuse.js": "^6.5.3", | ||||||
|         "lit": "^2.2.0", |         "lit": "^2.2.1", | ||||||
|         "moment": "^2.29.1", |         "moment": "^2.29.1", | ||||||
|         "prettier": "^2.5.1", |         "prettier": "^2.6.0", | ||||||
|         "rapidoc": "^9.2.0", |         "rapidoc": "^9.2.0", | ||||||
|         "rollup": "^2.70.0", |         "rollup": "^2.70.1", | ||||||
|         "rollup-plugin-copy": "^3.4.0", |         "rollup-plugin-copy": "^3.4.0", | ||||||
|         "rollup-plugin-cssimport": "^1.0.2", |         "rollup-plugin-cssimport": "^1.0.2", | ||||||
|         "rollup-plugin-minify-html-literals": "^1.2.6", |         "rollup-plugin-minify-html-literals": "^1.2.6", | ||||||
| @ -109,7 +109,7 @@ | |||||||
|         "ts-lit-plugin": "^1.2.1", |         "ts-lit-plugin": "^1.2.1", | ||||||
|         "tslib": "^2.3.1", |         "tslib": "^2.3.1", | ||||||
|         "typescript": "^4.6.2", |         "typescript": "^4.6.2", | ||||||
|         "webcomponent-qr-code": "^1.0.5", |         "webcomponent-qr-code": "^1.0.6", | ||||||
|         "yaml": "^1.10.2" |         "yaml": "^1.10.2" | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -223,8 +223,8 @@ html > form > input { | |||||||
|     option { |     option { | ||||||
|         color: var(--ak-dark-foreground); |         color: var(--ak-dark-foreground); | ||||||
|     } |     } | ||||||
|     optgroup:checked, |     select[multiple] optgroup:checked, | ||||||
|     option:checked { |     select[multiple] option:checked { | ||||||
|         color: var(--ak-dark-background); |         color: var(--ak-dark-background); | ||||||
|     } |     } | ||||||
|     .pf-c-input-group { |     .pf-c-input-group { | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ export const SUCCESS_CLASS = "pf-m-success"; | |||||||
| export const ERROR_CLASS = "pf-m-danger"; | export const ERROR_CLASS = "pf-m-danger"; | ||||||
| export const PROGRESS_CLASS = "pf-m-in-progress"; | export const PROGRESS_CLASS = "pf-m-in-progress"; | ||||||
| export const CURRENT_CLASS = "pf-m-current"; | 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 TITLE_DEFAULT = "authentik"; | ||||||
| export const ROUTE_SEPARATOR = ";"; | export const ROUTE_SEPARATOR = ";"; | ||||||
|  |  | ||||||
|  | |||||||
| @ -26,6 +26,9 @@ export class SearchSelect<T> extends LitElement { | |||||||
|     @property({ type: Boolean }) |     @property({ type: Boolean }) | ||||||
|     open = false; |     open = false; | ||||||
|  |  | ||||||
|  |     @property({ type: Boolean }) | ||||||
|  |     blankable = false; | ||||||
|  |  | ||||||
|     @property() |     @property() | ||||||
|     placeholder: string = t`Select an object.`; |     placeholder: string = t`Select an object.`; | ||||||
|  |  | ||||||
| @ -82,6 +85,22 @@ export class SearchSelect<T> extends LitElement { | |||||||
|             </div> |             </div> | ||||||
|  |  | ||||||
|             <ul class="pf-c-select__menu" role="listbox" ?hidden="${!this.open}"> |             <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) => { |                 ${this.objects.map((obj) => { | ||||||
|                     return html` |                     return html` | ||||||
|                         <li role="presentation"> |                         <li role="presentation"> | ||||||
|  | |||||||
| @ -6181,6 +6181,10 @@ msgstr "Die Referenz wird auf den Standardwert zurückgesetzt" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "Referenz wird auf einen leeren Wert gesetzt" | msgstr "Referenz wird auf einen leeren Wert gesetzt" | ||||||
|  |  | ||||||
|  | #: src/pages/flows/FlowViewPage.ts | ||||||
|  | msgid "with current user" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
| #: src/pages/flows/FlowViewPage.ts | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "Mit Inspektor" | msgstr "Mit Inspektor" | ||||||
|  | |||||||
| @ -6303,6 +6303,10 @@ msgstr "reference will be reset to default value" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "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 | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "with inspector" | msgstr "with inspector" | ||||||
|  | |||||||
| @ -6175,6 +6175,10 @@ msgstr "la referencia se restablecerá al valor predeterminado" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "la referencia se establecerá en un valor vacío" | 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 | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "con inspector" | msgstr "con inspector" | ||||||
|  | |||||||
| @ -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" | msgid "reference will be set to an empty value" | ||||||
| msgstr "la référence sera réinitialisée à une valeur vide" | 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 | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | |||||||
| @ -6172,6 +6172,10 @@ msgstr "odniesienie zostanie zresetowane do wartości domyślnej" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "referencja zostanie ustawiona na pustą wartość" | msgstr "referencja zostanie ustawiona na pustą wartość" | ||||||
|  |  | ||||||
|  | #: src/pages/flows/FlowViewPage.ts | ||||||
|  | msgid "with current user" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
| #: src/pages/flows/FlowViewPage.ts | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "z inspektorem" | msgstr "z inspektorem" | ||||||
|  | |||||||
| @ -6279,6 +6279,10 @@ msgstr "" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #: src/pages/flows/FlowViewPage.ts | ||||||
|  | msgid "with current user" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
| #: src/pages/flows/FlowViewPage.ts | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | |||||||
| @ -6177,6 +6177,10 @@ msgstr "referans varsayılan değere sıfırlanır" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "referans boş bir değere ayarlanacaktır" | msgstr "referans boş bir değere ayarlanacaktır" | ||||||
|  |  | ||||||
|  | #: src/pages/flows/FlowViewPage.ts | ||||||
|  | msgid "with current user" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
| #: src/pages/flows/FlowViewPage.ts | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "müfettiş ile" | msgstr "müfettiş ile" | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -6317,6 +6317,10 @@ msgstr "引用将被重置为默认值" | |||||||
| msgid "reference will be set to an empty value" | msgid "reference will be set to an empty value" | ||||||
| msgstr "引用将被设置为空值" | msgstr "引用将被设置为空值" | ||||||
|  |  | ||||||
|  | #: src/pages/flows/FlowViewPage.ts | ||||||
|  | msgid "with current user" | ||||||
|  | msgstr "以当前用户" | ||||||
|  |  | ||||||
| #: src/pages/flows/FlowViewPage.ts | #: src/pages/flows/FlowViewPage.ts | ||||||
| msgid "with inspector" | msgid "with inspector" | ||||||
| msgstr "附加检视器" | msgstr "附加检视器" | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -6,7 +6,7 @@ import { customElement, property } from "lit/decorators.js"; | |||||||
| import { Flow, FlowsApi } from "@goauthentik/api"; | import { Flow, FlowsApi } from "@goauthentik/api"; | ||||||
|  |  | ||||||
| import { AKResponse } from "../../api/Client"; | import { AKResponse } from "../../api/Client"; | ||||||
| import { DEFAULT_CONFIG } from "../../api/Config"; | import { AndNext, DEFAULT_CONFIG } from "../../api/Config"; | ||||||
| import { uiConfig } from "../../common/config"; | import { uiConfig } from "../../common/config"; | ||||||
| import "../../elements/buttons/SpinnerButton"; | import "../../elements/buttons/SpinnerButton"; | ||||||
| import "../../elements/forms/ConfirmationForm"; | import "../../elements/forms/ConfirmationForm"; | ||||||
| @ -113,17 +113,10 @@ export class FlowListPage extends TablePage<Flow> { | |||||||
|                 <button |                 <button | ||||||
|                     class="pf-c-button pf-m-plain" |                     class="pf-c-button pf-m-plain" | ||||||
|                     @click=${() => { |                     @click=${() => { | ||||||
|                         new FlowsApi(DEFAULT_CONFIG) |                         const finalURL = `${window.location.origin}/if/flows/${item.slug}/${AndNext( | ||||||
|                             .flowsInstancesExecuteRetrieve({ |                             `${window.location.pathname}#${window.location.hash}`, | ||||||
|                                 slug: item.slug, |                         )}`; | ||||||
|                             }) |                         window.open(finalURL, "_blank"); | ||||||
|                             .then((link) => { |  | ||||||
|                                 window.open( |  | ||||||
|                                     `${link.link}?inspector&next=${encodeURIComponent( |  | ||||||
|                                         `/#${window.location.href}`, |  | ||||||
|                                     )}`, |  | ||||||
|                                 ); |  | ||||||
|                             }); |  | ||||||
|                     }} |                     }} | ||||||
|                 > |                 > | ||||||
|                     <i class="fas fa-play"></i> |                     <i class="fas fa-play"></i> | ||||||
|  | |||||||
| @ -119,6 +119,19 @@ export class FlowViewPage extends LitElement { | |||||||
|                                             <div class="pf-c-description-list__text"> |                                             <div class="pf-c-description-list__text"> | ||||||
|                                                 <button |                                                 <button | ||||||
|                                                     class="pf-c-button pf-m-primary" |                                                     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=${() => { |                                                     @click=${() => { | ||||||
|                                                         new FlowsApi(DEFAULT_CONFIG) |                                                         new FlowsApi(DEFAULT_CONFIG) | ||||||
|                                                             .flowsInstancesExecuteRetrieve({ |                                                             .flowsInstancesExecuteRetrieve({ | ||||||
| @ -134,7 +147,7 @@ export class FlowViewPage extends LitElement { | |||||||
|                                                             }); |                                                             }); | ||||||
|                                                     }} |                                                     }} | ||||||
|                                                 > |                                                 > | ||||||
|                                                     ${t`Normal`} |                                                     ${t`with current user`} | ||||||
|                                                 </button> |                                                 </button> | ||||||
|                                                 <button |                                                 <button | ||||||
|                                                     class="pf-c-button pf-m-secondary" |                                                     class="pf-c-button pf-m-secondary" | ||||||
|  | |||||||
| @ -222,12 +222,13 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> { | |||||||
|                             .renderElement=${(group: Group): string => { |                             .renderElement=${(group: Group): string => { | ||||||
|                                 return group.name; |                                 return group.name; | ||||||
|                             }} |                             }} | ||||||
|                             .value=${(group: Group | undefined): string => { |                             .value=${(group: Group | undefined): string | undefined => { | ||||||
|                                 return group ? group.pk : ""; |                                 return group ? group.pk : undefined; | ||||||
|                             }} |                             }} | ||||||
|                             .selected=${(group: Group): boolean => { |                             .selected=${(group: Group): boolean => { | ||||||
|                                 return group.pk === this.instance?.group; |                                 return group.pk === this.instance?.group; | ||||||
|                             }} |                             }} | ||||||
|  |                             ?blankable=${true} | ||||||
|                         > |                         > | ||||||
|                         </ak-search-select> |                         </ak-search-select> | ||||||
|                         ${this.policyOnly |                         ${this.policyOnly | ||||||
| @ -256,12 +257,13 @@ export class PolicyBindingForm extends ModelForm<PolicyBinding, string> { | |||||||
|                             .renderElement=${(user: User): string => { |                             .renderElement=${(user: User): string => { | ||||||
|                                 return UserOption(user); |                                 return UserOption(user); | ||||||
|                             }} |                             }} | ||||||
|                             .value=${(user: User | undefined): number => { |                             .value=${(user: User | undefined): number | undefined => { | ||||||
|                                 return user ? user.pk : 0; |                                 return user ? user.pk : undefined; | ||||||
|                             }} |                             }} | ||||||
|                             .selected=${(user: User): boolean => { |                             .selected=${(user: User): boolean => { | ||||||
|                                 return user.pk === this.instance?.user; |                                 return user.pk === this.instance?.user; | ||||||
|                             }} |                             }} | ||||||
|  |                             ?blankable=${true} | ||||||
|                         > |                         > | ||||||
|                         </ak-search-select> |                         </ak-search-select> | ||||||
|                         ${this.policyOnly |                         ${this.policyOnly | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								website/docs/expressions/_user.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								website/docs/expressions/_user.md
									
									
									
									
									
										Normal 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"), | ||||||
|  | } | ||||||
|  | ``` | ||||||
| @ -17,6 +17,9 @@ import Objects from '../expressions/_objects.md' | |||||||
|  |  | ||||||
| <Objects /> | <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)) | - `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. | - Other arbitrary arguments given by the provider, this is documented on the Provider/Source. | ||||||
|  | |||||||
| @ -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: filter applications by launch URL lto show empty state | ||||||
| - web/user: fix duplicate help text in prompts | - 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 | ## Upgrading | ||||||
|  |  | ||||||
| This release does not introduce any new requirements. | This release does not introduce any new requirements. | ||||||
|  | |||||||
							
								
								
									
										164
									
								
								website/integrations/services/pfsense/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								website/integrations/services/pfsense/index.md
									
									
									
									
									
										Normal 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. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 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 | 
							
								
								
									
										45
									
								
								website/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										45
									
								
								website/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -12,7 +12,7 @@ | |||||||
|                 "@docusaurus/preset-classic": "2.0.0-beta.17", |                 "@docusaurus/preset-classic": "2.0.0-beta.17", | ||||||
|                 "@mdx-js/react": "^1.6.22", |                 "@mdx-js/react": "^1.6.22", | ||||||
|                 "clsx": "^1.1.1", |                 "clsx": "^1.1.1", | ||||||
|                 "postcss": "^8.4.8", |                 "postcss": "^8.4.12", | ||||||
|                 "rapidoc": "^9.2.0", |                 "rapidoc": "^9.2.0", | ||||||
|                 "react": "^17.0.2", |                 "react": "^17.0.2", | ||||||
|                 "react-before-after-slider-component": "^1.1.1", |                 "react-before-after-slider-component": "^1.1.1", | ||||||
| @ -21,7 +21,7 @@ | |||||||
|                 "react-toggle": "^4.1.2" |                 "react-toggle": "^4.1.2" | ||||||
|             }, |             }, | ||||||
|             "devDependencies": { |             "devDependencies": { | ||||||
|                 "prettier": "2.5.1" |                 "prettier": "2.6.0" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/@algolia/autocomplete-core": { |         "node_modules/@algolia/autocomplete-core": { | ||||||
| @ -9019,9 +9019,19 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/postcss": { |         "node_modules/postcss": { | ||||||
|             "version": "8.4.8", |             "version": "8.4.12", | ||||||
|             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", |             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", | ||||||
|             "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", |             "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", | ||||||
|  |             "funding": [ | ||||||
|  |                 { | ||||||
|  |                     "type": "opencollective", | ||||||
|  |                     "url": "https://opencollective.com/postcss/" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "type": "tidelift", | ||||||
|  |                     "url": "https://tidelift.com/funding/github/npm/postcss" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "nanoid": "^3.3.1", |                 "nanoid": "^3.3.1", | ||||||
|                 "picocolors": "^1.0.0", |                 "picocolors": "^1.0.0", | ||||||
| @ -9029,10 +9039,6 @@ | |||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": "^10 || ^12 || >=14" |                 "node": "^10 || ^12 || >=14" | ||||||
|             }, |  | ||||||
|             "funding": { |  | ||||||
|                 "type": "opencollective", |  | ||||||
|                 "url": "https://opencollective.com/postcss/" |  | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/postcss-calc": { |         "node_modules/postcss-calc": { | ||||||
| @ -9582,15 +9588,18 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/prettier": { |         "node_modules/prettier": { | ||||||
|             "version": "2.5.1", |             "version": "2.6.0", | ||||||
|             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", |             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", | ||||||
|             "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", |             "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", | ||||||
|             "dev": true, |             "dev": true, | ||||||
|             "bin": { |             "bin": { | ||||||
|                 "prettier": "bin-prettier.js" |                 "prettier": "bin-prettier.js" | ||||||
|             }, |             }, | ||||||
|             "engines": { |             "engines": { | ||||||
|                 "node": ">=10.13.0" |                 "node": ">=10.13.0" | ||||||
|  |             }, | ||||||
|  |             "funding": { | ||||||
|  |                 "url": "https://github.com/prettier/prettier?sponsor=1" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "node_modules/pretty-error": { |         "node_modules/pretty-error": { | ||||||
| @ -19598,9 +19607,9 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "postcss": { |         "postcss": { | ||||||
|             "version": "8.4.8", |             "version": "8.4.12", | ||||||
|             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.8.tgz", |             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", | ||||||
|             "integrity": "sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==", |             "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", | ||||||
|             "requires": { |             "requires": { | ||||||
|                 "nanoid": "^3.3.1", |                 "nanoid": "^3.3.1", | ||||||
|                 "picocolors": "^1.0.0", |                 "picocolors": "^1.0.0", | ||||||
| @ -19931,9 +19940,9 @@ | |||||||
|             "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" |             "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" | ||||||
|         }, |         }, | ||||||
|         "prettier": { |         "prettier": { | ||||||
|             "version": "2.5.1", |             "version": "2.6.0", | ||||||
|             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", |             "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", | ||||||
|             "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", |             "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", | ||||||
|             "dev": true |             "dev": true | ||||||
|         }, |         }, | ||||||
|         "pretty-error": { |         "pretty-error": { | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ | |||||||
|         "@docusaurus/preset-classic": "2.0.0-beta.17", |         "@docusaurus/preset-classic": "2.0.0-beta.17", | ||||||
|         "@mdx-js/react": "^1.6.22", |         "@mdx-js/react": "^1.6.22", | ||||||
|         "clsx": "^1.1.1", |         "clsx": "^1.1.1", | ||||||
|         "postcss": "^8.4.8", |         "postcss": "^8.4.12", | ||||||
|         "rapidoc": "^9.2.0", |         "rapidoc": "^9.2.0", | ||||||
|         "react": "^17.0.2", |         "react": "^17.0.2", | ||||||
|         "react-before-after-slider-component": "^1.1.1", |         "react-before-after-slider-component": "^1.1.1", | ||||||
| @ -37,6 +37,6 @@ | |||||||
|         ] |         ] | ||||||
|     }, |     }, | ||||||
|     "devDependencies": { |     "devDependencies": { | ||||||
|         "prettier": "2.5.1" |         "prettier": "2.6.0" | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -27,6 +27,7 @@ module.exports = { | |||||||
|                 "services/onlyoffice/index", |                 "services/onlyoffice/index", | ||||||
|                 "services/opnsense/index", |                 "services/opnsense/index", | ||||||
|                 "services/paperless-ng/index", |                 "services/paperless-ng/index", | ||||||
|  |                 "services/pfsense/index", | ||||||
|                 "services/portainer/index", |                 "services/portainer/index", | ||||||
|                 "services/powerdns-admin/index", |                 "services/powerdns-admin/index", | ||||||
|                 "services/proxmox-ve/index", |                 "services/proxmox-ve/index", | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	