From f3b3ce65720a038791b3af4de300905748f1fc25 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 12:56:34 +0100
Subject: [PATCH 01/80] website/docs: add 2021.12.1-rc4 release notes
Signed-off-by: Jens Langhammer
---
website/docs/releases/v2021.12.md | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/website/docs/releases/v2021.12.md b/website/docs/releases/v2021.12.md
index a3c23614a..2f2722c59 100644
--- a/website/docs/releases/v2021.12.md
+++ b/website/docs/releases/v2021.12.md
@@ -103,6 +103,26 @@ This release does not have any headline features, and mostly fixes bugs.
- web/elements: close dropdown when refresh event is dispatched
- web/user: allow custom font-awesome icons for applications
+## Fixed in 2021.12.1-rc4
+
+- core: fix error when using invalid key-values in attributes query
+- flows: fix error in inspector view
+- flows: fix error when trying to print FlowToken objects
+- lib: correctly report "faked" IPs to sentry
+- outposts: add additional checks for websocket connection
+- outposts: cleanup logs for failed binds
+- outposts: don't try to create docker client for embedded outpost
+- outposts: fix docker controller not stopping containers
+- outposts: fix unlabeled transaction
+- outposts: handle RuntimeError during websocket connect
+- outposts: rewrite re-connect logic without recws
+- outposts: set display name for outpost service account
+- outposts/ldap: fix searches with mixed casing
+- outposts/proxy: use filesystem storage for non-embedded outposts
+- policies: don't always clear application cache on post_save
+- stagse/authenticator_webauthn: remove pydantic import
+- web: fix borders of sidebars in dark mode
+
## Upgrading
This release does not introduce any new requirements.
From ff03db61a8bfa8344154c2a8786b9990ee86bf59 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 13:21:14 +0100
Subject: [PATCH 02/80] web/admin: fix rendering of applications with custom
icon
Signed-off-by: Jens Langhammer
---
.../pages/applications/ApplicationListPage.ts | 24 +++++++++++++------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/web/src/pages/applications/ApplicationListPage.ts b/web/src/pages/applications/ApplicationListPage.ts
index 450ff28a6..3acf06ef1 100644
--- a/web/src/pages/applications/ApplicationListPage.ts
+++ b/web/src/pages/applications/ApplicationListPage.ts
@@ -2,6 +2,7 @@ import { t } from "@lingui/macro";
import { CSSResult, TemplateResult, css, html } from "lit";
import { customElement, property } from "lit/decorators.js";
+import { ifDefined } from "lit/directives/if-defined.js";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
@@ -94,15 +95,24 @@ export class ApplicationListPage extends TablePage {
`;
}
+ renderIcon(item: Application): TemplateResult {
+ if (item?.metaIcon) {
+ if (item.metaIcon.startsWith("fa://")) {
+ const icon = item.metaIcon.replaceAll("fa://", "");
+ return html` `;
+ }
+ return html` `;
+ }
+ return html` `;
+ }
+
row(item: Application): TemplateResult[] {
return [
- item.metaIcon
- ? html` `
- : html` `,
+ this.renderIcon(item),
html`
${item.name}
${item.metaPublisher ? html`${item.metaPublisher} ` : html``}
From aa321196d79a937032b2180d11e256c03ceb35e2 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 13:33:20 +0100
Subject: [PATCH 03/80] outposts/proxy: fix securecookie: the value is too long
again, since it can happen even with filesystem storage
Signed-off-by: Jens Langhammer
---
internal/outpost/proxyv2/application/session.go | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/internal/outpost/proxyv2/application/session.go b/internal/outpost/proxyv2/application/session.go
index 6da1b20d2..484629e20 100644
--- a/internal/outpost/proxyv2/application/session.go
+++ b/internal/outpost/proxyv2/application/session.go
@@ -2,6 +2,7 @@ package application
import (
"fmt"
+ "math"
"os"
"strconv"
@@ -27,14 +28,22 @@ func (a *Application) getStore(p api.ProxyOutpostConfig) sessions.Store {
a.log.Info("using redis session backend")
store = rs
} else {
- cs := sessions.NewFilesystemStore(os.TempDir(), []byte(*p.CookieSecret))
+ dir := os.TempDir()
+ cs := sessions.NewFilesystemStore(dir, []byte(*p.CookieSecret))
cs.Options.Domain = *p.CookieDomain
+ // https://github.com/markbates/goth/commit/7276be0fdf719ddff753f3574ef0f967e4a5a5f7
+ // set the maxLength of the cookies stored on the disk to a larger number to prevent issues with:
+ // securecookie: the value is too long
+ // when using OpenID Connect , since this can contain a large amount of extra information in the id_token
+
+ // Note, when using the FilesystemStore only the session.ID is written to a browser cookie, so this is explicit for the storage on disk
+ cs.MaxLength(math.MaxInt64)
if p.TokenValidity.IsSet() {
t := p.TokenValidity.Get()
// Add one to the validity to ensure we don't have a session with indefinite length
cs.Options.MaxAge = int(*t) + 1
}
- a.log.Info("using filesystem session backend")
+ a.log.WithField("dir", dir).Info("using filesystem session backend")
store = cs
}
return store
From c11be2284d337ec4440d49e869403a072301603b Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 15:05:55 +0100
Subject: [PATCH 04/80] outposts/proxy: also set max length for redis backend
Signed-off-by: Jens Langhammer
---
internal/outpost/proxyv2/application/session.go | 1 +
1 file changed, 1 insertion(+)
diff --git a/internal/outpost/proxyv2/application/session.go b/internal/outpost/proxyv2/application/session.go
index 484629e20..2407a7577 100644
--- a/internal/outpost/proxyv2/application/session.go
+++ b/internal/outpost/proxyv2/application/session.go
@@ -19,6 +19,7 @@ func (a *Application) getStore(p api.ProxyOutpostConfig) sessions.Store {
if err != nil {
panic(err)
}
+ rs.SetMaxLength(math.MaxInt64)
if p.TokenValidity.IsSet() {
t := p.TokenValidity.Get()
// Add one to the validity to ensure we don't have a session with indefinite length
From 5f0f4284a25a0a0ce04ded675d3f85e0d010d7b0 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 15:27:28 +0100
Subject: [PATCH 05/80] web/admin: fix rendering for applications on view page
Signed-off-by: Jens Langhammer
---
internal/outpost/proxyv2/application/application.go | 1 +
web/src/elements/PageHeader.ts | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/internal/outpost/proxyv2/application/application.go b/internal/outpost/proxyv2/application/application.go
index c88bc9b54..b500a5773 100644
--- a/internal/outpost/proxyv2/application/application.go
+++ b/internal/outpost/proxyv2/application/application.go
@@ -168,6 +168,7 @@ func NewApplication(p api.ProxyOutpostConfig, c *http.Client, cs *ak.CryptoStore
func (a *Application) IsAllowlisted(r *http.Request) bool {
for _, u := range a.UnauthenticatedRegex {
+ a.log.WithField("regex", u.String()).WithField("url", r.URL.Path).Trace("Matching URL against allow list")
if u.MatchString(r.URL.Path) {
return true
}
diff --git a/web/src/elements/PageHeader.ts b/web/src/elements/PageHeader.ts
index 5b53d6ace..6421fb835 100644
--- a/web/src/elements/PageHeader.ts
+++ b/web/src/elements/PageHeader.ts
@@ -108,10 +108,11 @@ export class PageHeader extends LitElement {
renderIcon(): TemplateResult {
if (this.icon) {
- if (this.iconImage) {
+ if (this.iconImage && !this.icon.startsWith("fa://")) {
return html` `;
}
- return html` `;
+ const icon = this.icon.replaceAll("fa://", "fa ");
+ return html` `;
}
return html``;
}
From caab396b56a011031b8d414dd179ff6345980f73 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 15:36:05 +0100
Subject: [PATCH 06/80] web/admin: improve wording for froward_auth, don't show
setup when using proxy mode
Signed-off-by: Jens Langhammer
---
web/src/locales/en.po | 41 ++++++-
web/src/locales/fr_FR.po | 41 ++++++-
web/src/locales/pseudo-LOCALE.po | 39 ++++++-
.../providers/proxy/ProxyProviderForm.ts | 28 +++--
.../providers/proxy/ProxyProviderViewPage.ts | 109 ++++++++++--------
5 files changed, 189 insertions(+), 69 deletions(-)
diff --git a/web/src/locales/en.po b/web/src/locales/en.po
index 215ed92d7..7e849d917 100644
--- a/web/src/locales/en.po
+++ b/web/src/locales/en.po
@@ -296,6 +296,10 @@ msgstr "Alternatively, if your current device has Duo installed, click on this l
msgid "Always require consent"
msgstr "Always require consent"
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "An example setup can look like this:"
+msgstr "An example setup can look like this:"
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Any HTML can be used."
msgstr "Any HTML can be used."
@@ -445,6 +449,10 @@ msgstr "Authentication"
msgid "Authentication Type"
msgstr "Authentication Type"
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Authentication URL"
+msgstr "Authentication URL"
+
#: src/pages/sources/oauth/OAuthSourceForm.ts
#: src/pages/sources/plex/PlexSourceForm.ts
#: src/pages/sources/saml/SAMLSourceForm.ts
@@ -1855,7 +1863,6 @@ msgstr "External Applications which use authentik as Identity-Provider, utilizin
msgid "External Host"
msgstr "External Host"
-#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
msgid "External host"
@@ -2344,6 +2351,10 @@ msgstr "Import certificates of external providers or create certificates to sign
msgid "In case you can't access any other method."
msgstr "In case you can't access any other method."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com."
+msgstr "In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com."
+
#: src/pages/users/UserListPage.ts
msgid "Inactive"
msgstr "Inactive"
@@ -2996,6 +3007,10 @@ msgstr "No Stages bound"
msgid "No additional data available."
msgstr "No additional data available."
+#: src/pages/providers/proxy/ProxyProviderViewPage.ts
+msgid "No additional setup is required."
+msgstr "No additional setup is required."
+
#: src/elements/forms/ModalForm.ts
msgid "No form found"
msgstr "No form found"
@@ -3210,8 +3225,8 @@ msgid "Optionally set the 'FriendlyName' value of the Assertion attribute."
msgstr "Optionally set the 'FriendlyName' value of the Assertion attribute."
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
-msgstr "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+#~ msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+#~ msgstr "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
#: src/pages/flows/BoundStagesList.ts
#: src/pages/flows/StageBindingForm.ts
@@ -4109,6 +4124,10 @@ msgstr "Set a custom HTTP-Basic Authentication header based on values from authe
msgid "Set custom attributes using YAML or JSON."
msgstr "Set custom attributes using YAML or JSON."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+msgstr "Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+
#: src/pages/providers/proxy/ProxyProviderViewPage.ts
msgid "Setup"
msgstr "Setup"
@@ -4845,8 +4864,12 @@ msgid "The external URL you'll access the application at. Include any non-standa
msgstr "The external URL you'll access the application at. Include any non-standard port."
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
-msgstr "The external URL you'll authenticate at. Can be the same domain as authentik."
+#~ msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
+#~ msgstr "The external URL you'll authenticate at. Can be the same domain as authentik."
+
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "The external URL you'll authenticate at. The authentik core server should be reachable under this URL."
+msgstr "The external URL you'll authenticate at. The authentik core server should be reachable under this URL."
#:
#~ msgid "The following objects use {0}:"
@@ -5782,6 +5805,10 @@ msgstr "You're about to be redirect to the following URL."
msgid "You're currently impersonating {0}. Click to stop."
msgstr "You're currently impersonating {0}. Click to stop."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "app1 running on app1.example.com"
+msgstr "app1 running on app1.example.com"
+
#:
#~ msgid "authentik Builtin Database"
#~ msgstr "authentik Builtin Database"
@@ -5790,6 +5817,10 @@ msgstr "You're currently impersonating {0}. Click to stop."
#~ msgid "authentik LDAP Backend"
#~ msgstr "authentik LDAP Backend"
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "authentik running on auth.example.com"
+msgstr "authentik running on auth.example.com"
+
#: src/elements/forms/DeleteForm.ts
msgid "connecting object will be deleted"
msgstr "connecting object will be deleted"
diff --git a/web/src/locales/fr_FR.po b/web/src/locales/fr_FR.po
index cb2d9a9c9..a1795f88b 100644
--- a/web/src/locales/fr_FR.po
+++ b/web/src/locales/fr_FR.po
@@ -300,6 +300,10 @@ msgstr "Sinon, si Duo est installé sur cet appareil, cliquez sur ce lien :"
msgid "Always require consent"
msgstr "Toujours exiger l'approbation"
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "An example setup can look like this:"
+msgstr ""
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Any HTML can be used."
msgstr ""
@@ -449,6 +453,10 @@ msgstr "Authentification"
msgid "Authentication Type"
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Authentication URL"
+msgstr ""
+
#: src/pages/sources/oauth/OAuthSourceForm.ts
#: src/pages/sources/plex/PlexSourceForm.ts
#: src/pages/sources/saml/SAMLSourceForm.ts
@@ -1841,7 +1849,6 @@ msgstr "Applications externes qui utilisent authentik comme fournisseur d'identi
msgid "External Host"
msgstr "Hôte externe"
-#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
msgid "External host"
@@ -2327,6 +2334,10 @@ msgstr "Importer les certificats des fournisseurs externes ou créer des certifi
msgid "In case you can't access any other method."
msgstr "Au cas où aucune autre méthode ne soit disponible."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com."
+msgstr ""
+
#: src/pages/users/UserListPage.ts
msgid "Inactive"
msgstr "Inactif"
@@ -2974,6 +2985,10 @@ msgstr "Aucune étape liée"
msgid "No additional data available."
msgstr "Aucune donnée additionnelle disponible."
+#: src/pages/providers/proxy/ProxyProviderViewPage.ts
+msgid "No additional setup is required."
+msgstr ""
+
#: src/elements/forms/ModalForm.ts
msgid "No form found"
msgstr "Aucun formulaire trouvé"
@@ -3185,8 +3200,8 @@ msgid "Optionally set the 'FriendlyName' value of the Assertion attribute."
msgstr "Indiquer la valeur \"FriendlyName\" de l'attribut d'assertion (optionnel)"
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
-msgstr "Indiquer votre domaine parent (optionnel), si vous souhaitez que l'authentification et l'autorisation soient réalisés au niveau du domaine. Si vous exécutez des applications sur app1.domain.tld, app2.domain.tld, indiquez ici \"domain.tld\"."
+#~ msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+#~ msgstr "Indiquer votre domaine parent (optionnel), si vous souhaitez que l'authentification et l'autorisation soient réalisés au niveau du domaine. Si vous exécutez des applications sur app1.domain.tld, app2.domain.tld, indiquez ici \"domain.tld\"."
#: src/pages/flows/BoundStagesList.ts
#: src/pages/flows/StageBindingForm.ts
@@ -4072,6 +4087,10 @@ msgstr "Définir un en-tête d'authentification HTTP-Basic personnalisé basé s
msgid "Set custom attributes using YAML or JSON."
msgstr "Définissez des attributs personnalisés via YAML ou JSON."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+msgstr ""
+
#: src/pages/providers/proxy/ProxyProviderViewPage.ts
msgid "Setup"
msgstr ""
@@ -4799,8 +4818,12 @@ msgid "The external URL you'll access the application at. Include any non-standa
msgstr "L'URL externe par laquelle vous accéderez à l'application. Incluez un port non-standard si besoin."
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
-msgstr "L'URL externe sur laquelle vous vous authentifierez. Cela peut être le même domaine qu'authentik."
+#~ msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
+#~ msgstr "L'URL externe sur laquelle vous vous authentifierez. Cela peut être le même domaine qu'authentik."
+
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "The external URL you'll authenticate at. The authentik core server should be reachable under this URL."
+msgstr ""
#~ msgid "The following objects use {0}:"
#~ msgstr "Les objets suivants utilisent {0} :"
@@ -5718,12 +5741,20 @@ msgstr "Vous allez être redirigé vers l'URL suivante."
msgid "You're currently impersonating {0}. Click to stop."
msgstr "Vous êtes en train de vous faire passer pour {0}. Cliquez pour arrêter."
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "app1 running on app1.example.com"
+msgstr ""
+
#~ msgid "authentik Builtin Database"
#~ msgstr "Base de données intégrée à authentik"
#~ msgid "authentik LDAP Backend"
#~ msgstr "Backend LDAP authentik"
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "authentik running on auth.example.com"
+msgstr ""
+
#: src/elements/forms/DeleteForm.ts
msgid "connecting object will be deleted"
msgstr "L'objet connecté sera supprimé"
diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po
index 3082044af..9ccb43584 100644
--- a/web/src/locales/pseudo-LOCALE.po
+++ b/web/src/locales/pseudo-LOCALE.po
@@ -296,6 +296,10 @@ msgstr ""
msgid "Always require consent"
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "An example setup can look like this:"
+msgstr ""
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Any HTML can be used."
msgstr ""
@@ -441,6 +445,10 @@ msgstr ""
msgid "Authentication Type"
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Authentication URL"
+msgstr ""
+
#: src/pages/sources/oauth/OAuthSourceForm.ts
#: src/pages/sources/plex/PlexSourceForm.ts
#: src/pages/sources/saml/SAMLSourceForm.ts
@@ -1847,7 +1855,6 @@ msgstr ""
msgid "External Host"
msgstr ""
-#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
#: src/pages/providers/proxy/ProxyProviderForm.ts
msgid "External host"
@@ -2336,6 +2343,10 @@ msgstr ""
msgid "In case you can't access any other method."
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com."
+msgstr ""
+
#: src/pages/users/UserListPage.ts
msgid "Inactive"
msgstr ""
@@ -2986,6 +2997,10 @@ msgstr ""
msgid "No additional data available."
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderViewPage.ts
+msgid "No additional setup is required."
+msgstr ""
+
#: src/elements/forms/ModalForm.ts
msgid "No form found"
msgstr ""
@@ -3200,8 +3215,8 @@ msgid "Optionally set the 'FriendlyName' value of the Assertion attribute."
msgstr ""
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
-msgstr ""
+#~ msgid "Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+#~ msgstr ""
#: src/pages/flows/BoundStagesList.ts
#: src/pages/flows/StageBindingForm.ts
@@ -4099,6 +4114,10 @@ msgstr ""
msgid "Set custom attributes using YAML or JSON."
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'."
+msgstr ""
+
#: src/pages/providers/proxy/ProxyProviderViewPage.ts
msgid "Setup"
msgstr ""
@@ -4835,7 +4854,11 @@ msgid "The external URL you'll access the application at. Include any non-standa
msgstr ""
#: src/pages/providers/proxy/ProxyProviderForm.ts
-msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
+#~ msgid "The external URL you'll authenticate at. Can be the same domain as authentik."
+#~ msgstr ""
+
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "The external URL you'll authenticate at. The authentik core server should be reachable under this URL."
msgstr ""
#:
@@ -5760,6 +5783,10 @@ msgstr ""
msgid "You're currently impersonating {0}. Click to stop."
msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "app1 running on app1.example.com"
+msgstr ""
+
#:
#~ msgid "authentik Builtin Database"
#~ msgstr ""
@@ -5768,6 +5795,10 @@ msgstr ""
#~ msgid "authentik LDAP Backend"
#~ msgstr ""
+#: src/pages/providers/proxy/ProxyProviderForm.ts
+msgid "authentik running on auth.example.com"
+msgstr ""
+
#: src/elements/forms/DeleteForm.ts
msgid "connecting object will be deleted"
msgstr ""
diff --git a/web/src/pages/providers/proxy/ProxyProviderForm.ts b/web/src/pages/providers/proxy/ProxyProviderForm.ts
index 0218ebe02..bff2c5169 100644
--- a/web/src/pages/providers/proxy/ProxyProviderForm.ts
+++ b/web/src/pages/providers/proxy/ProxyProviderForm.ts
@@ -7,6 +7,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
import { until } from "lit/directives/until.js";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
+import PFList from "@patternfly/patternfly/components/List/list.css";
import PFToggleGroup from "@patternfly/patternfly/components/ToggleGroup/toggle-group.css";
import PFSpacing from "@patternfly/patternfly/utilities/Spacing/spacing.css";
@@ -32,6 +33,7 @@ export class ProxyProviderFormPage extends ModelForm {
return super.styles.concat(
PFToggleGroup,
PFContent,
+ PFList,
PFSpacing,
css`
.pf-c-toggle-group {
@@ -162,7 +164,7 @@ export class ProxyProviderFormPage extends ModelForm {
renderSettings(): TemplateResult {
switch (this.mode) {
case ProxyMode.Proxy:
- return html`
+ return html`
${t`This provider will behave like a transparent reverse-proxy, except requests must be authenticated. If your upstream application uses HTTPS, make sure to connect to the outpost using HTTPS as well.`}
{
`;
case ProxyMode.ForwardSingle:
- return html`
+ return html`
${t`Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /akprox must be routed to the outpost (when using a manged outpost, this is done for you).`}
{
`;
case ProxyMode.ForwardDomain:
- return html`
+ return html`
${t`Use this provider with nginx's auth_request or traefik's forwardAuth. Only a single provider is required per root domain. You can't do per-application authorization, but you don't have to create a provider for each application.`}
+
+ ${t`An example setup can look like this:`}
+
+ ${t`authentik running on auth.example.com`}
+ ${t`app1 running on app1.example.com`}
+
+ ${t`In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com.`}
+
@@ -245,10 +255,14 @@ export class ProxyProviderFormPage extends ModelForm {
required
/>
- ${t`The external URL you'll authenticate at. Can be the same domain as authentik.`}
+ ${t`The external URL you'll authenticate at. The authentik core server should be reachable under this URL.`}
-
+
{
required
/>
- ${t`Optionally set this to your parent domain, if you want authentication and authorization to happen on a domain level. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'.`}
+ ${t`Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'.`}
`;
}
diff --git a/web/src/pages/providers/proxy/ProxyProviderViewPage.ts b/web/src/pages/providers/proxy/ProxyProviderViewPage.ts
index 8165419d1..7192fffa7 100644
--- a/web/src/pages/providers/proxy/ProxyProviderViewPage.ts
+++ b/web/src/pages/providers/proxy/ProxyProviderViewPage.ts
@@ -92,10 +92,17 @@ export class ProxyProviderViewPage extends LitElement {
renderConfigTemplate(tmpl: string): TemplateResult {
// See website/docs/providers/proxy/forward_auth.mdx
- const final = tmpl
- .replaceAll("authentik.company", window.location.hostname)
- .replaceAll("outpost.company", window.location.hostname)
- .replaceAll("app.company", this.provider?.externalHost || "");
+ let final = "";
+ if (this.provider?.mode === ProxyMode.ForwardSingle) {
+ final = tmpl
+ .replaceAll("authentik.company", window.location.hostname)
+ .replaceAll("outpost.company", window.location.hostname)
+ .replaceAll("app.company", this.provider?.externalHost || "");
+ } else if (this.provider?.mode == ProxyMode.ForwardDomain) {
+ final = tmpl
+ .replaceAll("authentik.company", window.location.hostname)
+ .replaceAll("outpost.company", this.provider?.externalHost || "");
+ }
return html`${unsafeHTML(final)}`;
}
@@ -233,50 +240,56 @@ export class ProxyProviderViewPage extends LitElement {
${t`Setup`}
-
-
- ${this.renderConfigTemplate(MDNginxIngress.html)}
-
-
- ${this.renderConfigTemplate(MDNginxPM.html)}
-
-
- ${this.renderConfigTemplate(MDNginxStandalone.html)}
-
-
- ${this.renderConfigTemplate(MDTraefikIngres.html)}
-
-
- ${this.renderConfigTemplate(MDTraefikCompose.html)}
-
-
- ${this.renderConfigTemplate(MDTraefikStandalone.html)}
-
-
+ ${[ProxyMode.ForwardSingle, ProxyMode.ForwardDomain].includes(
+ this.provider?.mode || ProxyMode.Proxy,
+ )
+ ? html`
+
+
+ ${this.renderConfigTemplate(MDNginxIngress.html)}
+
+
+ ${this.renderConfigTemplate(MDNginxPM.html)}
+
+
+ ${this.renderConfigTemplate(MDNginxStandalone.html)}
+
+
+ ${this.renderConfigTemplate(MDTraefikIngres.html)}
+
+
+ ${this.renderConfigTemplate(MDTraefikCompose.html)}
+
+
+ ${this.renderConfigTemplate(MDTraefikStandalone.html)}
+
+
+ `
+ : html`
${t`No additional setup is required.`}
`}
`;
From 2fe88cfea9a0f5b1e91f71cb3db5e004fb9f4603 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 15:51:30 +0100
Subject: [PATCH 07/80] root: don't stale enhancement/confirmed
Signed-off-by: Jens Langhammer
---
.github/stale.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/stale.yml b/.github/stale.yml
index 4e6b706f0..6a34753f9 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -7,6 +7,7 @@ exemptLabels:
- pinned
- security
- pr_wanted
+ - enhancement/confirmed
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
From 10b16bc36a3a95e50fb7d45935afcdad9fc1ea2a Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:12:14 +0100
Subject: [PATCH 08/80] outposts: add description to span
Signed-off-by: Jens Langhammer
---
internal/outpost/ak/http_tracing.go | 2 ++
1 file changed, 2 insertions(+)
diff --git a/internal/outpost/ak/http_tracing.go b/internal/outpost/ak/http_tracing.go
index 4f267d403..16b30c10e 100644
--- a/internal/outpost/ak/http_tracing.go
+++ b/internal/outpost/ak/http_tracing.go
@@ -2,6 +2,7 @@ package ak
import (
"context"
+ "fmt"
"net/http"
"github.com/getsentry/sentry-go"
@@ -19,6 +20,7 @@ func NewTracingTransport(ctx context.Context, inner http.RoundTripper) *tracingT
func (tt *tracingTransport) RoundTrip(r *http.Request) (*http.Response, error) {
span := sentry.StartSpan(tt.ctx, "authentik.go.http_request")
+ span.Description = fmt.Sprintf("%s %s", r.Method, r.URL.String())
span.SetTag("url", r.URL.String())
span.SetTag("method", r.Method)
defer span.Finish()
From 8eecc28c3cf7f9d2f3482558c2b2d038811f7514 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:15:20 +0100
Subject: [PATCH 09/80] events: add sentry for geoip
Signed-off-by: Jens Langhammer
---
authentik/events/geo.py | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/authentik/events/geo.py b/authentik/events/geo.py
index 57e1cd4ed..fb0ee15f2 100644
--- a/authentik/events/geo.py
+++ b/authentik/events/geo.py
@@ -7,6 +7,7 @@ from typing import Optional, TypedDict
from geoip2.database import Reader
from geoip2.errors import GeoIP2Error
from geoip2.models import City
+from sentry_sdk.hub import Hub
from structlog.stdlib import get_logger
from authentik.lib.config import CONFIG
@@ -62,13 +63,17 @@ class GeoIPReader:
def city(self, ip_address: str) -> Optional[City]:
"""Wrapper for Reader.city"""
- if not self.enabled:
- return None
- self.__check_expired()
- try:
- return self.__reader.city(ip_address)
- except (GeoIP2Error, ValueError):
- return None
+ with Hub.current.start_span(
+ op="events.geo.city",
+ description=ip_address,
+ ):
+ if not self.enabled:
+ return None
+ self.__check_expired()
+ try:
+ return self.__reader.city(ip_address)
+ except (GeoIP2Error, ValueError):
+ return None
def city_dict(self, ip_address: str) -> Optional[GeoIPDict]:
"""Wrapper for self.city that returns a dict"""
From cb6edcb19897ec815fdf3bf7375690bbad46e634 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:15:27 +0100
Subject: [PATCH 10/80] core: set tag with request ID
Signed-off-by: Jens Langhammer
---
authentik/core/middleware.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/authentik/core/middleware.py b/authentik/core/middleware.py
index 5dadd1f27..11834dbed 100644
--- a/authentik/core/middleware.py
+++ b/authentik/core/middleware.py
@@ -5,6 +5,7 @@ from typing import Callable
from uuid import uuid4
from django.http import HttpRequest, HttpResponse
+from sentry_sdk.api import set_tag
SESSION_IMPERSONATE_USER = "authentik_impersonate_user"
SESSION_IMPERSONATE_ORIGINAL_USER = "authentik_impersonate_original_user"
@@ -50,6 +51,7 @@ class RequestIDMiddleware:
"request_id": request_id,
"host": request.get_host(),
}
+ set_tag("authentik.request_id", request_id)
response = self.get_response(request)
response[RESPONSE_HEADER_ID] = request.request_id
setattr(response, "ak_context", {})
From ac9cf590bc83a45081311f60ca36f22b31022b2d Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:18:26 +0100
Subject: [PATCH 11/80] *: use prefixed span names
Signed-off-by: Jens Langhammer
---
authentik/events/geo.py | 2 +-
authentik/flows/planner.py | 6 ++++--
authentik/flows/views/executor.py | 6 +++---
authentik/lib/expression/evaluator.py | 2 +-
authentik/policies/engine.py | 2 +-
authentik/policies/process.py | 2 +-
internal/outpost/ak/api.go | 2 +-
7 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/authentik/events/geo.py b/authentik/events/geo.py
index fb0ee15f2..45b5c86bb 100644
--- a/authentik/events/geo.py
+++ b/authentik/events/geo.py
@@ -64,7 +64,7 @@ class GeoIPReader:
def city(self, ip_address: str) -> Optional[City]:
"""Wrapper for Reader.city"""
with Hub.current.start_span(
- op="events.geo.city",
+ op="authentik.events.geo.city",
description=ip_address,
):
if not self.enabled:
diff --git a/authentik/flows/planner.py b/authentik/flows/planner.py
index 5d3fdbd9f..061b41759 100644
--- a/authentik/flows/planner.py
+++ b/authentik/flows/planner.py
@@ -126,7 +126,9 @@ class FlowPlanner:
) -> FlowPlan:
"""Check each of the flows' policies, check policies for each stage with PolicyBinding
and return ordered list"""
- with Hub.current.start_span(op="flow.planner.plan", description=self.flow.slug) as span:
+ with Hub.current.start_span(
+ op="authentik.flow.planner.plan", description=self.flow.slug
+ ) as span:
span: Span
span.set_data("flow", self.flow)
span.set_data("request", request)
@@ -181,7 +183,7 @@ class FlowPlanner:
"""Build flow plan by checking each stage in their respective
order and checking the applied policies"""
with Hub.current.start_span(
- op="flow.planner.build_plan",
+ op="authentik.flow.planner.build_plan",
description=self.flow.slug,
) as span, HIST_FLOWS_PLAN_TIME.labels(flow_slug=self.flow.slug).time():
span: Span
diff --git a/authentik/flows/views/executor.py b/authentik/flows/views/executor.py
index 6d017e332..d0b3313ce 100644
--- a/authentik/flows/views/executor.py
+++ b/authentik/flows/views/executor.py
@@ -160,7 +160,7 @@ class FlowExecutorView(APIView):
# pylint: disable=unused-argument, too-many-return-statements
def dispatch(self, request: HttpRequest, flow_slug: str) -> HttpResponse:
with Hub.current.start_span(
- op="flow.executor.dispatch", description=self.flow.slug
+ op="authentik.flow.executor.dispatch", description=self.flow.slug
) as span:
span.set_data("authentik Flow", self.flow.slug)
get_params = QueryDict(request.GET.get("query", ""))
@@ -275,7 +275,7 @@ class FlowExecutorView(APIView):
)
try:
with Hub.current.start_span(
- op="flow.executor.stage",
+ op="authentik.flow.executor.stage",
description=class_to_path(self.current_stage_view.__class__),
) as span:
span.set_data("Method", "GET")
@@ -319,7 +319,7 @@ class FlowExecutorView(APIView):
)
try:
with Hub.current.start_span(
- op="flow.executor.stage",
+ op="authentik.flow.executor.stage",
description=class_to_path(self.current_stage_view.__class__),
) as span:
span.set_data("Method", "POST")
diff --git a/authentik/lib/expression/evaluator.py b/authentik/lib/expression/evaluator.py
index fe40556b5..5460cd7e6 100644
--- a/authentik/lib/expression/evaluator.py
+++ b/authentik/lib/expression/evaluator.py
@@ -80,7 +80,7 @@ class BaseEvaluator:
"""Parse and evaluate expression. If the syntax is incorrect, a SyntaxError is raised.
If any exception is raised during execution, it is raised.
The result is returned without any type-checking."""
- with Hub.current.start_span(op="lib.evaluator.evaluate") as span:
+ with Hub.current.start_span(op="authentik.lib.evaluator.evaluate") as span:
span: Span
span.set_data("expression", expression_source)
param_keys = self._context.keys()
diff --git a/authentik/policies/engine.py b/authentik/policies/engine.py
index 74dabe513..d12498854 100644
--- a/authentik/policies/engine.py
+++ b/authentik/policies/engine.py
@@ -90,7 +90,7 @@ class PolicyEngine:
def build(self) -> "PolicyEngine":
"""Build wrapper which monitors performance"""
with Hub.current.start_span(
- op="policy.engine.build",
+ op="authentik.policy.engine.build",
description=self.__pbm,
) as span, HIST_POLICIES_BUILD_TIME.labels(
object_name=self.__pbm,
diff --git a/authentik/policies/process.py b/authentik/policies/process.py
index f5e07b8d5..79494690d 100644
--- a/authentik/policies/process.py
+++ b/authentik/policies/process.py
@@ -130,7 +130,7 @@ class PolicyProcess(PROCESS_CLASS):
def profiling_wrapper(self):
"""Run with profiling enabled"""
with Hub.current.start_span(
- op="policy.process.execute",
+ op="authentik.policy.process.execute",
) as span, HIST_POLICIES_EXECUTION_TIME.labels(
binding_order=self.binding.order,
binding_target_type=self.binding.target_type,
diff --git a/internal/outpost/ak/api.go b/internal/outpost/ak/api.go
index e054e354c..bd3de1048 100644
--- a/internal/outpost/ak/api.go
+++ b/internal/outpost/ak/api.go
@@ -47,7 +47,7 @@ type APIController struct {
// NewAPIController initialise new API Controller instance from URL and API token
func NewAPIController(akURL url.URL, token string) *APIController {
- rsp := sentry.StartSpan(context.TODO(), "authentik.outposts.init")
+ rsp := sentry.StartSpan(context.Background(), "authentik.outposts.init")
config := api.NewConfiguration()
config.Host = akURL.Host
From 69780c67a901b62d3f034e741ad286b4069c4113 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:32:01 +0100
Subject: [PATCH 12/80] lib: set evaluation span's description based on
filename
Signed-off-by: Jens Langhammer
---
authentik/lib/expression/evaluator.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/authentik/lib/expression/evaluator.py b/authentik/lib/expression/evaluator.py
index 5460cd7e6..b1c5fe2e5 100644
--- a/authentik/lib/expression/evaluator.py
+++ b/authentik/lib/expression/evaluator.py
@@ -82,6 +82,7 @@ class BaseEvaluator:
The result is returned without any type-checking."""
with Hub.current.start_span(op="authentik.lib.evaluator.evaluate") as span:
span: Span
+ span.description = self._filename
span.set_data("expression", expression_source)
param_keys = self._context.keys()
try:
From f2b3a2ec91b48713cc1649ca2f92cef9e30dec06 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:38:38 +0100
Subject: [PATCH 13/80] providers/saml: optimise excessive queries to user when
evaluating attributes
Signed-off-by: Jens Langhammer
---
authentik/providers/saml/processors/assertion.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/authentik/providers/saml/processors/assertion.py b/authentik/providers/saml/processors/assertion.py
index fff3b7b67..c97f30e87 100644
--- a/authentik/providers/saml/processors/assertion.py
+++ b/authentik/providers/saml/processors/assertion.py
@@ -70,13 +70,14 @@ class AssertionProcessor:
"""Get AttributeStatement Element with Attributes from Property Mappings."""
# https://commons.lbl.gov/display/IDMgmt/Attribute+Definitions
attribute_statement = Element(f"{{{NS_SAML_ASSERTION}}}AttributeStatement")
+ user = self.http_request.user
for mapping in self.provider.property_mappings.all().select_subclasses():
if not isinstance(mapping, SAMLPropertyMapping):
continue
try:
mapping: SAMLPropertyMapping
value = mapping.evaluate(
- user=self.http_request.user,
+ user=user,
request=self.http_request,
provider=self.provider,
)
From cf5ff6e1607ed5db2cf8b5b1cdfe326946c42b57 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 16:38:48 +0100
Subject: [PATCH 14/80] outposts: reset backoff after successful connect
Signed-off-by: Jens Langhammer
---
internal/outpost/ak/api_ws.go | 1 +
1 file changed, 1 insertion(+)
diff --git a/internal/outpost/ak/api_ws.go b/internal/outpost/ak/api_ws.go
index c1beb69a9..64a52dc95 100644
--- a/internal/outpost/ak/api_ws.go
+++ b/internal/outpost/ak/api_ws.go
@@ -107,6 +107,7 @@ func (ac *APIController) reconnectWS() {
}
} else {
ac.wsIsReconnecting = false
+ ac.wsBackoffMultiplier = 1
return
}
}
From a5182e5c24cbfe598cf1dc55586afd51e4ab8591 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 17:00:18 +0100
Subject: [PATCH 15/80] root: custom sentry-sdk, attempt #3
Signed-off-by: Jens Langhammer
---
Pipfile | 2 +-
Pipfile.lock | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Pipfile b/Pipfile
index 89c7a768c..1bcef351e 100644
--- a/Pipfile
+++ b/Pipfile
@@ -40,7 +40,7 @@ pycryptodome = "*"
pyjwt = "*"
pyyaml = "*"
requests-oauthlib = "*"
-sentry-sdk = "*"
+sentry-sdk = { git = 'https://github.com/beryju/sentry-python.git', ref = '379aee28b15d3b87b381317746c4efd24b3d7bc3' }
service_identity = "*"
structlog = "*"
swagger-spec-validator = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index 305843779..dc59c8f4b 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "6a89870496296af32dbc2f64b0832d4c20010829ada0b3c4dc27fee56b68fad9"
+ "sha256": "ba1371e813190a2e25b49788b7ba6071c8ef61f512043b71d343681003387b9b"
},
"pipfile-spec": 6,
"requires": {},
@@ -494,11 +494,11 @@
},
"djangorestframework": {
"hashes": [
- "sha256:6d1d59f623a5ad0509fe0d6bfe93cbdfe17b8116ebc8eda86d45f6e16e819aaf",
- "sha256:f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2"
+ "sha256:48e64f08244fa0df9e2b8fbd405edec263d8e1251112a06d0073b546b7c86b9c",
+ "sha256:8b987d5683f5b3553dd946d4972048d3117fc526cb0bc01a3f021e81af53f39e"
],
"index": "pypi",
- "version": "==3.12.4"
+ "version": "==3.13.0"
},
"djangorestframework-guardian": {
"hashes": [
@@ -1312,12 +1312,12 @@
"version": "==0.5.0"
},
"sentry-sdk": {
+ "git": "https://github.com/beryju/sentry-python.git",
"hashes": [
"sha256:0db297ab32e095705c20f742c3a5dac62fe15c4318681884053d0898e5abb2f6",
"sha256:789a11a87ca02491896e121efdd64e8fd93327b69e8f2f7d42f03e2569648e88"
],
- "index": "pypi",
- "version": "==1.5.0"
+ "ref": "379aee28b15d3b87b381317746c4efd24b3d7bc3"
},
"service-identity": {
"hashes": [
From e81e97d40400ac5ddc40cbf545179e423e2f2028 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 17:23:42 +0100
Subject: [PATCH 16/80] root: add .python-version so dependabot doesn't use
broken python 3.10.0
Signed-off-by: Jens Langhammer
---
.python-version | 1 +
1 file changed, 1 insertion(+)
create mode 100644 .python-version
diff --git a/.python-version b/.python-version
new file mode 100644
index 000000000..f69abe410
--- /dev/null
+++ b/.python-version
@@ -0,0 +1 @@
+3.9.7
From 29241cc287ad075c3b0becf2bb00555a47af3e77 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 17:41:00 +0100
Subject: [PATCH 17/80] core: always inject sentry trace into template
Signed-off-by: Jens Langhammer
---
authentik/core/templates/base/skeleton.html | 1 +
authentik/tenants/utils.py | 3 +++
2 files changed, 4 insertions(+)
diff --git a/authentik/core/templates/base/skeleton.html b/authentik/core/templates/base/skeleton.html
index 77b4cf788..544f94449 100644
--- a/authentik/core/templates/base/skeleton.html
+++ b/authentik/core/templates/base/skeleton.html
@@ -19,6 +19,7 @@
{% block head %}
{% endblock %}
+
{% block body %}
diff --git a/authentik/tenants/utils.py b/authentik/tenants/utils.py
index c96c3cad2..cd3edc9c2 100644
--- a/authentik/tenants/utils.py
+++ b/authentik/tenants/utils.py
@@ -4,6 +4,7 @@ from typing import Any
from django.db.models import F, Q
from django.db.models import Value as V
from django.http.request import HttpRequest
+from sentry_sdk.hub import Hub
from authentik.lib.config import CONFIG
from authentik.tenants.models import Tenant
@@ -28,7 +29,9 @@ def get_tenant_for_request(request: HttpRequest) -> Tenant:
def context_processor(request: HttpRequest) -> dict[str, Any]:
"""Context Processor that injects tenant object into every template"""
tenant = getattr(request, "tenant", DEFAULT_TENANT)
+ trace = Hub.current.scope.span.to_traceparent()
return {
"tenant": tenant,
"footer_links": CONFIG.y("footer_links"),
+ "sentry_trace": trace,
}
From 141481df3aba2f442550f7a0812d718389194445 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 17:41:11 +0100
Subject: [PATCH 18/80] web: send sentry-trace header in API requests
Signed-off-by: Jens Langhammer
---
web/src/api/Config.ts | 2 ++
web/src/api/Sentry.ts | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/web/src/api/Config.ts b/web/src/api/Config.ts
index a8875d224..01568ae6d 100644
--- a/web/src/api/Config.ts
+++ b/web/src/api/Config.ts
@@ -3,6 +3,7 @@ import { getCookie } from "../utils";
import { APIMiddleware } from "../elements/notifications/APIDrawer";
import { MessageMiddleware } from "../elements/messages/Middleware";
import { VERSION } from "../constants";
+import { getMetaContent } from "@sentry/tracing/dist/browser/browsertracing";
export class LoggingMiddleware implements Middleware {
@@ -53,6 +54,7 @@ export const DEFAULT_CONFIG = new Configuration({
basePath: process.env.AK_API_BASE_PATH + "/api/v3",
headers: {
"X-CSRFToken": getCookie("authentik_csrf"),
+ "sentry-trace": getMetaContent("sentry-trace") || "",
},
middleware: [
new APIMiddleware(),
diff --git a/web/src/api/Sentry.ts b/web/src/api/Sentry.ts
index 210f54e40..4761d5524 100644
--- a/web/src/api/Sentry.ts
+++ b/web/src/api/Sentry.ts
@@ -27,7 +27,10 @@ export function configureSentry(canDoPpi: boolean = false): Promise {
],
tracesSampleRate: config.errorReporting.tracesSampleRate,
environment: config.errorReporting.environment,
- beforeSend: async (event: Sentry.Event, hint: Sentry.EventHint): Promise => {
+ beforeSend: async (event: Sentry.Event, hint: Sentry.EventHint | undefined): Promise => {
+ if (!hint) {
+ return event;
+ }
if (hint.originalException instanceof SentryIgnoredError) {
return null;
}
From 4e63f0f215319037ca3212be45cd3c4acb71a660 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 18:06:01 +0100
Subject: [PATCH 19/80] core: add fallback for missing sentry trace
Signed-off-by: Jens Langhammer
---
authentik/tenants/utils.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/authentik/tenants/utils.py b/authentik/tenants/utils.py
index cd3edc9c2..a59fd49c2 100644
--- a/authentik/tenants/utils.py
+++ b/authentik/tenants/utils.py
@@ -29,7 +29,10 @@ def get_tenant_for_request(request: HttpRequest) -> Tenant:
def context_processor(request: HttpRequest) -> dict[str, Any]:
"""Context Processor that injects tenant object into every template"""
tenant = getattr(request, "tenant", DEFAULT_TENANT)
- trace = Hub.current.scope.span.to_traceparent()
+ trace = ""
+ span = Hub.current.scope.span
+ if span:
+ trace = span.to_traceparent()
return {
"tenant": tenant,
"footer_links": CONFIG.y("footer_links"),
From 708ff300a3d5831a7cbfce9e3c5364adf9e3071e Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 18:57:13 +0100
Subject: [PATCH 20/80] website: remove remaining /index URLs
Signed-off-by: Jens Langhammer
---
website/docs/core/terminology.md | 2 +-
website/docs/flow/index.md | 8 ++++----
.../docs/flow/stages/authenticator_validate/index.md | 10 +++++-----
website/docs/flow/stages/invitation/index.md | 2 +-
website/docs/installation/docker-compose.md | 2 +-
website/docs/installation/kubernetes.md | 2 +-
website/docs/providers/oauth2.md | 2 +-
website/docs/providers/saml.md | 2 +-
website/docs/releases/v0.11.md | 2 +-
website/docs/releases/v2021.1.md | 2 +-
website/docs/releases/v2021.2.md | 10 +++++-----
website/integrations/services/tautulli/index.md | 2 +-
website/src/pages/index.jsx | 2 +-
13 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/website/docs/core/terminology.md b/website/docs/core/terminology.md
index 95e6c27a9..1ed5202f3 100644
--- a/website/docs/core/terminology.md
+++ b/website/docs/core/terminology.md
@@ -28,7 +28,7 @@ At a base level a policy is a yes/no gate. It will either evaluate to True or Fa
See [Policies](./policies/)
-### Stages & Stages
+### Flows & Stages
Flows are an ordered sequence of stages. These flows can be used to define how a user authenticates, enrolls, etc.
diff --git a/website/docs/flow/index.md b/website/docs/flow/index.md
index d5cad928f..83a6c4b40 100644
--- a/website/docs/flow/index.md
+++ b/website/docs/flow/index.md
@@ -36,16 +36,16 @@ This stage should always contain a [**User Logout**](stages/user_logout.md) stag
### Enrollment
-This designates a flow for enrollment. This flow can contain any amount of verification stages, such as [**email**](stages/email/index.md) or [**captcha**](stages/captcha/index.md). At the end, to create the user, you can use the [**user_write**](stages/user_write.md) stage, which either updates the currently staged user, or if none exists, creates a new one.
+This designates a flow for enrollment. This flow can contain any amount of verification stages, such as [**email**](stages/email/) or [**captcha**](stages/captcha/). At the end, to create the user, you can use the [**user_write**](stages/user_write.md) stage, which either updates the currently staged user, or if none exists, creates a new one.
### Unenrollment
-This designates a flow for unenrollment. This flow can contain any amount of verification stages, such as [**email**](stages/email/index.md) or [**captcha**](stages/captcha/index.md). As a final stage, to delete the account, use the [**user_delete**](stages/user_delete.md) stage.
+This designates a flow for unenrollment. This flow can contain any amount of verification stages, such as [**email**](stages/email/) or [**captcha**](stages/captcha/). As a final stage, to delete the account, use the [**user_delete**](stages/user_delete.md) stage.
### Recovery
-This designates a flow for recovery. This flow normally contains an [**identification**](stages/identification/index.md) stage to find the user. It can also contain any amount of verification stages, such as [**email**](stages/email/index.md) or [**captcha**](stages/captcha/index.md).
-Afterwards, use the [**prompt**](stages/prompt/index.md) stage to ask the user for a new password and the [**user_write**](stages/user_write.md) stage to update the password.
+This designates a flow for recovery. This flow normally contains an [**identification**](stages/identification/) stage to find the user. It can also contain any amount of verification stages, such as [**email**](stages/email/) or [**captcha**](stages/captcha/).
+Afterwards, use the [**prompt**](stages/prompt/) stage to ask the user for a new password and the [**user_write**](stages/user_write.md) stage to update the password.
### Setup
diff --git a/website/docs/flow/stages/authenticator_validate/index.md b/website/docs/flow/stages/authenticator_validate/index.md
index 034da1110..c710fe940 100644
--- a/website/docs/flow/stages/authenticator_validate/index.md
+++ b/website/docs/flow/stages/authenticator_validate/index.md
@@ -4,11 +4,11 @@ title: Authenticator Validation Stage
This stage validates an already configured Authenticator Device. This device has to be configured using any of the other authenticator stages:
-- [Duo authenticator stage](../authenticator_duo/index.md)
-- [SMS authenticator stage](../authenticator_sms/index.md).
-- [Static authenticator stage](../authenticator_static/index.md).
-- [TOTP authenticator stage](../authenticator_totp/index.md)
-- [WebAuth authenticator stage](../authenticator_webauthn/index.md).
+- [Duo authenticator stage](../authenticator_duo/)
+- [SMS authenticator stage](../authenticator_sms/).
+- [Static authenticator stage](../authenticator_static/).
+- [TOTP authenticator stage](../authenticator_totp/)
+- [WebAuth authenticator stage](../authenticator_webauthn/).
You can select which type of device classes are allowed.
diff --git a/website/docs/flow/stages/invitation/index.md b/website/docs/flow/stages/invitation/index.md
index a24bd4eb7..7080d04a7 100644
--- a/website/docs/flow/stages/invitation/index.md
+++ b/website/docs/flow/stages/invitation/index.md
@@ -10,4 +10,4 @@ To check if a user has used an invitation within a policy, you can check `reques
To use an invitation, use the URL `https://authentik.tld/if/flow/your-enrollment-flow/?itoken=invitation-token`.
-You can also prompt the user for an invite by using the [*Prompt stage*](../prompt/index.md) by using a field with a field key of `token`.
+You can also prompt the user for an invite by using the [*Prompt stage*](../prompt/) by using a field with a field key of `token`.
diff --git a/website/docs/installation/docker-compose.md b/website/docs/installation/docker-compose.md
index c71681b71..a63c44af9 100644
--- a/website/docs/installation/docker-compose.md
+++ b/website/docs/installation/docker-compose.md
@@ -31,7 +31,7 @@ echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env
## Email configuration (optional, but recommended)
-It is also recommended to configure global email credentials. These are used by authentik to notify you about alerts and configuration issues. They can also be used by [Email stages](flow/stages/email/index.md) to send verification/recovery emails.
+It is also recommended to configure global email credentials. These are used by authentik to notify you about alerts and configuration issues. They can also be used by [Email stages](../flow/stages/email/) to send verification/recovery emails.
Append this block to your `.env` file
diff --git a/website/docs/installation/kubernetes.md b/website/docs/installation/kubernetes.md
index c2998b863..225b1d60c 100644
--- a/website/docs/installation/kubernetes.md
+++ b/website/docs/installation/kubernetes.md
@@ -46,4 +46,4 @@ helm install authentik authentik/authentik -f values.yaml
This installation automatically applies database migrations on startup. After the installation is done, navigate to the `https:///if/flow/initial-setup/`, to set a password for the akadmin user.
-It is also recommended to configure global email credentials. These are used by authentik to notify you about alerts, configuration issues. They can also be used by [Email stages](flow/stages/email/index.md) to send verification/recovery emails.
+It is also recommended to configure global email credentials. These are used by authentik to notify you about alerts, configuration issues. They can also be used by [Email stages](../flow/stages/email/) to send verification/recovery emails.
diff --git a/website/docs/providers/oauth2.md b/website/docs/providers/oauth2.md
index cf2dca183..465669acf 100644
--- a/website/docs/providers/oauth2.md
+++ b/website/docs/providers/oauth2.md
@@ -4,7 +4,7 @@ title: OAuth2 Provider
This provider supports both generic OAuth2 as well as OpenID Connect
-Scopes can be configured using Scope Mappings, a type of [Property Mappings](../property-mappings/index.md#scope-mapping).
+Scopes can be configured using Scope Mappings, a type of [Property Mappings](../property-mappings/#scope-mapping).
| Endpoint | URL |
| -------------------- | -------------------------------------------------------------------- |
diff --git a/website/docs/providers/saml.md b/website/docs/providers/saml.md
index 99ffb1438..0d5351450 100644
--- a/website/docs/providers/saml.md
+++ b/website/docs/providers/saml.md
@@ -2,7 +2,7 @@
title: SAML Provider
---
-This provider allows you to integrate enterprise software using the SAML2 Protocol. It supports signed requests and uses [Property Mappings](../property-mappings/index.md#saml-property-mapping) to determine which fields are exposed and what values they return. This makes it possible to expose vendor-specific fields.
+This provider allows you to integrate enterprise software using the SAML2 Protocol. It supports signed requests and uses [Property Mappings](../property-mappings/#saml-property-mapping) to determine which fields are exposed and what values they return. This makes it possible to expose vendor-specific fields.
Default fields are exposed through auto-generated Property Mappings, which are prefixed with "authentik default".
| Endpoint | URL |
diff --git a/website/docs/releases/v0.11.md b/website/docs/releases/v0.11.md
index 1b13e4d20..0627d9f62 100644
--- a/website/docs/releases/v0.11.md
+++ b/website/docs/releases/v0.11.md
@@ -5,7 +5,7 @@ slug: "0.11"
This update brings these headline features:
-- Add Backup and Restore, currently only externally schedulable, documented [here](../maintenance/backups/index.md)
+- Add Backup and Restore, currently only externally schedulable, documented [here](../maintenance/backups/)
- New Admin Dashboard with more metrics and Charts
Shows successful and failed logins from the last 24 hours, as well as the most used applications
diff --git a/website/docs/releases/v2021.1.md b/website/docs/releases/v2021.1.md
index 7061f9ba2..f9ad78941 100644
--- a/website/docs/releases/v2021.1.md
+++ b/website/docs/releases/v2021.1.md
@@ -8,7 +8,7 @@ slug: "2021.1"
- New versioning schema (year.month.release)
- Add global email settings
- In previous versions, you had to configure email connection details per [Email Stage](../flow/stages/email/index.md). Now, you can (and should) configure global settings.
+ In previous versions, you had to configure email connection details per [Email Stage](../flow/stages/email/). Now, you can (and should) configure global settings.
This is documented under the [docker-compose](../installation/docker-compose.md) and [Kubernetes](../installation/kubernetes.md) sections.
diff --git a/website/docs/releases/v2021.2.md b/website/docs/releases/v2021.2.md
index 5c6a158ca..8a7115bf3 100644
--- a/website/docs/releases/v2021.2.md
+++ b/website/docs/releases/v2021.2.md
@@ -116,11 +116,11 @@ Due to the switch to managed objects, some default property mappings are changin
The change affects the "SAML Name" property, which has been changed from an oid to a Schema URI to aid readability.
The integrations affected are:
-- [Ansible Tower/AWX](/integrations/services/awx-tower/index)
-- [GitLab](/integrations/services/gitlab/index)
-- [NextCloud](/integrations/services/nextcloud/index)
-- [Rancher](/integrations/services/rancher/index)
-- [Sentry](/integrations/services/sentry/index)
+- [Ansible Tower/AWX](/integrations/services/awx-tower/)
+- [GitLab](/integrations/services/gitlab/)
+- [NextCloud](/integrations/services/nextcloud/)
+- [Rancher](/integrations/services/rancher/)
+- [Sentry](/integrations/services/sentry/)
### docker-compose
diff --git a/website/integrations/services/tautulli/index.md b/website/integrations/services/tautulli/index.md
index ec26ab525..4c6f4ec68 100644
--- a/website/integrations/services/tautulli/index.md
+++ b/website/integrations/services/tautulli/index.md
@@ -50,4 +50,4 @@ In Tautulli, navigate to Settings and enable the "Show Advanced" option. Navigat
Save the settings, and restart Tautulli if prompted.
-Afterwards, you need to deploy an Outpost in front of Tautulli, as descried [here](../sonarr/index.md)
+Afterwards, you need to deploy an Outpost in front of Tautulli, as descried [here](../sonarr/)
diff --git a/website/src/pages/index.jsx b/website/src/pages/index.jsx
index b4b61c1c1..8cc7fbe38 100644
--- a/website/src/pages/index.jsx
+++ b/website/src/pages/index.jsx
@@ -80,7 +80,7 @@ function Home() {
"button button--outline button--secondary button--lg",
styles.getStarted
)}
- to={useBaseUrl("docs/installation/index")}
+ to={useBaseUrl("docs/installation/")}
>
Get Started
From 0544dc3f8360ba3c196e6e5f70c427938aa1bca7 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 21:03:30 +0100
Subject: [PATCH 21/80] web: use correct transaction names for web
Signed-off-by: Jens Langhammer
---
web/src/api/Sentry.ts | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/web/src/api/Sentry.ts b/web/src/api/Sentry.ts
index 4761d5524..11990cf00 100644
--- a/web/src/api/Sentry.ts
+++ b/web/src/api/Sentry.ts
@@ -43,8 +43,13 @@ export function configureSentry(canDoPpi: boolean = false): Promise {
Sentry.setTag(TAG_SENTRY_CAPABILITIES, config.capabilities.join(","));
if (window.location.pathname.includes("if/")) {
// Get the interface name from URL
- const intf = window.location.pathname.replace(/.+if\/(.+)\//, "$1");
- Sentry.setTag(TAG_SENTRY_COMPONENT, `web/${intf}`);
+ const pathMatches = window.location.pathname.match(/.+if\/(\w+)\//);
+ let currentInterface = "unkown";
+ if (pathMatches && pathMatches.length >= 2) {
+ currentInterface = pathMatches[1];
+ }
+ Sentry.setTag(TAG_SENTRY_COMPONENT, `web/${currentInterface}`);
+ Sentry.configureScope((scope) => scope.setTransactionName(`authentik.web.if.${currentInterface}`));
}
if (config.errorReporting.sendPii && canDoPpi) {
me().then(user => {
From ace53a8fa516a86d6e9543743cfc168c82ef431a Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 21:08:50 +0100
Subject: [PATCH 22/80] root: remove lxml version workaround
Signed-off-by: Jens Langhammer
---
Dockerfile | 2 --
Pipfile | 3 +--
Pipfile.lock | 14 +++++---------
3 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 6e245fd53..fad521d50 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -58,8 +58,6 @@ RUN apt-get update && \
curl ca-certificates gnupg git runit libpq-dev \
postgresql-client build-essential libxmlsec1-dev \
pkg-config libmaxminddb0 && \
- pip install lxml==4.6.4 --no-cache-dir && \
- export C_INCLUDE_PATH=/usr/local/lib/python3.10/site-packages/lxml/includes && \
pip install -r /requirements.txt --no-cache-dir && \
apt-get remove --purge -y build-essential git && \
apt-get autoremove --purge -y && \
diff --git a/Pipfile b/Pipfile
index 1bcef351e..2f787564a 100644
--- a/Pipfile
+++ b/Pipfile
@@ -32,8 +32,7 @@ geoip2 = "*"
gunicorn = "*"
kubernetes = "==v19.15.0"
ldap3 = "*"
-# 4.7.0 and later remove `lxml-version.h` which is required by xmlsec
-lxml = "==4.6.5"
+lxml = "*"
packaging = "*"
psycopg2-binary = "*"
pycryptodome = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index dc59c8f4b..e2f1b3a50 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "ba1371e813190a2e25b49788b7ba6071c8ef61f512043b71d343681003387b9b"
+ "sha256": "dedb51159ef09fd9b00ab28022706f525c9df057ffd646e2a552784341a10538"
},
"pipfile-spec": 6,
"requires": {},
@@ -196,7 +196,7 @@
"sha256:1ef33f089e0a494e8d1b487508356f055c865b1955b125c00c991a4358543c80",
"sha256:8eca49962b1bfc09c24d442aa55688be88efe5c24aeef89d3be135614b95c678"
],
- "markers": "python_version >= '3.7' and python_version < '4'",
+ "markers": "python_version >= '3.7' and python_full_version < '4.0.0'",
"version": "==1.9.0"
},
"cbor2": {
@@ -325,7 +325,7 @@
"sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667",
"sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"
],
- "markers": "python_version < '4' and python_full_version >= '3.6.2'",
+ "markers": "python_full_version >= '3.6.2' and python_full_version < '4.0.0'",
"version": "==0.3.0"
},
"click-plugins": {
@@ -1455,9 +1455,7 @@
"version": "==4.1.1"
},
"urllib3": {
- "extras": [
- "secure"
- ],
+ "extras": [],
"hashes": [
"sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece",
"sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"
@@ -2418,9 +2416,7 @@
"version": "==4.0.1"
},
"urllib3": {
- "extras": [
- "secure"
- ],
+ "extras": [],
"hashes": [
"sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece",
"sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"
From 307cb94e3b0aa14710752f0cfe3f5e54c4421801 Mon Sep 17 00:00:00 2001
From: Jens L
Date: Mon, 13 Dec 2021 21:42:31 +0100
Subject: [PATCH 23/80] website: add initial redirect (#1918)
* website: add initial redirect
Signed-off-by: Jens Langhammer
* website: add integrations too
Signed-off-by: Jens Langhammer
* website: add docs to netlify config
Signed-off-by: Jens Langhammer
* website: use splats correctly
Signed-off-by: Jens Langhammer
* add status
Signed-off-by: Jens Langhammer
---
website/netlify.toml | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/website/netlify.toml b/website/netlify.toml
index 4025e2d4e..eddb8831d 100644
--- a/website/netlify.toml
+++ b/website/netlify.toml
@@ -2,10 +2,34 @@
from = "/discord"
to = "https://discord.gg/jg33eMhnj6"
+# Migration from docs to separate directory
[[redirects]]
from = "/docs/integrations/*"
to = "/integrations/:splat"
+# Docusaurus update removes index
+[[redirects]]
+ from = "/docs/:firstPart/index"
+ to = "/docs/:firstPart/"
+ status = 301
+ force = true
+[[redirects]]
+ from = "/docs/:firstPart/:secondPart/index"
+ to = "/docs/:firstPart/:secondPart/"
+ status = 301
+ force = true
+[[redirects]]
+ from = "/integrations/:firstPart/index"
+ to = "/integrations/:firstPart/"
+ status = 301
+ force = true
+[[redirects]]
+ from = "/integrations/:firstPart/:secondPart/index"
+ to = "/integrations/:firstPart/:secondPart/"
+ status = 301
+ force = true
+
+# ?go-get=1 downloads
[[redirects]]
from = "/*"
to = "/.netlify/functions/go-get"
@@ -13,6 +37,7 @@
force = true
query = {go-get = "1"}
+# Container registry
[[redirects]]
from = "/v2"
to = "/.netlify/functions/oci-proxy"
From 70316b37da06e8efc2d0b310e70b57078ebf1a2f Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 21:37:24 +0100
Subject: [PATCH 24/80] web/admin: only show source name not description
Signed-off-by: Jens Langhammer
---
web/src/pages/sources/SourcesListPage.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/web/src/pages/sources/SourcesListPage.ts b/web/src/pages/sources/SourcesListPage.ts
index 0763a27f7..b3bb32bc1 100644
--- a/web/src/pages/sources/SourcesListPage.ts
+++ b/web/src/pages/sources/SourcesListPage.ts
@@ -139,8 +139,7 @@ export class SourceListPage extends TablePage {
>
`;
From 4911a243ff0d7fdcb9bd4a52934858855d144508 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 21:44:37 +0100
Subject: [PATCH 25/80] sources/oauth: add initial okta type
Signed-off-by: Jens Langhammer
#1910
---
authentik/sources/oauth/apps.py | 1 +
authentik/sources/oauth/models.py | 10 ++++++
authentik/sources/oauth/types/okta.py | 51 +++++++++++++++++++++++++++
schema.yml | 1 +
web/authentik/sources/okta.svg | 31 ++++++++++++++++
web/src/api/Sentry.ts | 2 +-
6 files changed, 95 insertions(+), 1 deletion(-)
create mode 100644 authentik/sources/oauth/types/okta.py
create mode 100644 web/authentik/sources/okta.svg
diff --git a/authentik/sources/oauth/apps.py b/authentik/sources/oauth/apps.py
index d89838476..1dbeb54e1 100644
--- a/authentik/sources/oauth/apps.py
+++ b/authentik/sources/oauth/apps.py
@@ -14,6 +14,7 @@ AUTHENTIK_SOURCES_OAUTH_TYPES = [
"authentik.sources.oauth.types.github",
"authentik.sources.oauth.types.google",
"authentik.sources.oauth.types.oidc",
+ "authentik.sources.oauth.types.okta",
"authentik.sources.oauth.types.reddit",
"authentik.sources.oauth.types.twitter",
]
diff --git a/authentik/sources/oauth/models.py b/authentik/sources/oauth/models.py
index 7276d7575..f48e2a9c7 100644
--- a/authentik/sources/oauth/models.py
+++ b/authentik/sources/oauth/models.py
@@ -183,6 +183,16 @@ class AppleOAuthSource(OAuthSource):
verbose_name_plural = _("Apple OAuth Sources")
+class OktaOAuthSource(OAuthSource):
+ """Login using a okta.com."""
+
+ class Meta:
+
+ abstract = True
+ verbose_name = _("Okta OAuth Source")
+ verbose_name_plural = _("Okta OAuth Sources")
+
+
class UserOAuthSourceConnection(UserSourceConnection):
"""Authorized remote OAuth provider."""
diff --git a/authentik/sources/oauth/types/okta.py b/authentik/sources/oauth/types/okta.py
new file mode 100644
index 000000000..5f03bda53
--- /dev/null
+++ b/authentik/sources/oauth/types/okta.py
@@ -0,0 +1,51 @@
+"""Okta OAuth Views"""
+from typing import Any
+
+from authentik.sources.oauth.models import OAuthSource
+from authentik.sources.oauth.types.azure_ad import AzureADClient
+from authentik.sources.oauth.types.manager import MANAGER, SourceType
+from authentik.sources.oauth.views.callback import OAuthCallback
+from authentik.sources.oauth.views.redirect import OAuthRedirect
+
+
+class OktaOAuthRedirect(OAuthRedirect):
+ """Okta OAuth2 Redirect"""
+
+ def get_additional_parameters(self, source: OAuthSource): # pragma: no cover
+ return {
+ "scope": "openid email profile",
+ }
+
+
+class OktaOAuth2Callback(OAuthCallback):
+ """Okta OAuth2 Callback"""
+
+ # Okta has the same quirk as azure and throws an error if the access token
+ # is set via query parameter, so we re-use the azure client
+ # see https://github.com/goauthentik/authentik/issues/1910
+ client_class = AzureADClient
+
+ def get_user_id(self, info: dict[str, str]) -> str:
+ return info.get("sub", "")
+
+ def get_user_enroll_context(
+ self,
+ info: dict[str, Any],
+ ) -> dict[str, Any]:
+ return {
+ "username": info.get("nickname"),
+ "email": info.get("email"),
+ "name": info.get("name"),
+ }
+
+
+@MANAGER.type()
+class OktaType(SourceType):
+ """Okta Type definition"""
+
+ callback_view = OktaOAuth2Callback
+ redirect_view = OktaOAuthRedirect
+ name = "Okta"
+ slug = "okta"
+
+ urls_customizable = True
diff --git a/schema.yml b/schema.yml
index 7247a8723..29522b730 100644
--- a/schema.yml
+++ b/schema.yml
@@ -28992,6 +28992,7 @@ components:
- github
- google
- openidconnect
+ - okta
- reddit
- twitter
type: string
diff --git a/web/authentik/sources/okta.svg b/web/authentik/sources/okta.svg
new file mode 100644
index 000000000..5595186b2
--- /dev/null
+++ b/web/authentik/sources/okta.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/src/api/Sentry.ts b/web/src/api/Sentry.ts
index 11990cf00..8014b2e70 100644
--- a/web/src/api/Sentry.ts
+++ b/web/src/api/Sentry.ts
@@ -44,7 +44,7 @@ export function configureSentry(canDoPpi: boolean = false): Promise {
if (window.location.pathname.includes("if/")) {
// Get the interface name from URL
const pathMatches = window.location.pathname.match(/.+if\/(\w+)\//);
- let currentInterface = "unkown";
+ let currentInterface = "unknown";
if (pathMatches && pathMatches.length >= 2) {
currentInterface = pathMatches[1];
}
From 69678dcfa69ed78b7f766707a7ad6bd1ff65a813 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 22:13:20 +0100
Subject: [PATCH 26/80] providers/oauth2: use generate_key instead of uuid4
Signed-off-by: Jens Langhammer
---
authentik/providers/oauth2/models.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/authentik/providers/oauth2/models.py b/authentik/providers/oauth2/models.py
index 4dfd8e761..132bd95dd 100644
--- a/authentik/providers/oauth2/models.py
+++ b/authentik/providers/oauth2/models.py
@@ -8,7 +8,6 @@ from datetime import datetime
from hashlib import sha256
from typing import Any, Optional, Type
from urllib.parse import urlparse
-from uuid import uuid4
from dacite import from_dict
from django.db import models
@@ -225,7 +224,7 @@ class OAuth2Provider(Provider):
token = RefreshToken(
user=user,
provider=self,
- refresh_token=uuid4().hex,
+ refresh_token=generate_key(),
expires=timezone.now() + timedelta_from_string(self.token_validity),
scope=scope,
)
@@ -434,7 +433,7 @@ class RefreshToken(ExpiringModel, BaseGrantModel):
"""Create access token with a similar format as Okta, Keycloak, ADFS"""
token = self.create_id_token(user, request).to_dict()
token["cid"] = self.provider.client_id
- token["uid"] = uuid4().hex
+ token["uid"] = generate_key()
return self.provider.encode(token)
def create_id_token(self, user: User, request: HttpRequest) -> IDToken:
From fec6de1ba21e327d950550e4bbee53b9e6ed5c45 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 22:49:42 +0100
Subject: [PATCH 27/80] providers/oauth2: add additional logging to show with
token path is taken
Signed-off-by: Jens Langhammer
---
authentik/providers/oauth2/views/token.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/authentik/providers/oauth2/views/token.py b/authentik/providers/oauth2/views/token.py
index bd0e0d094..936ce1c0e 100644
--- a/authentik/providers/oauth2/views/token.py
+++ b/authentik/providers/oauth2/views/token.py
@@ -194,8 +194,10 @@ class TokenView(View):
self.params = TokenParams.parse(request, self.provider, client_id, client_secret)
if self.params.grant_type == GRANT_TYPE_AUTHORIZATION_CODE:
+ LOGGER.info("Converting authorization code to refresh token")
return TokenResponse(self.create_code_response())
if self.params.grant_type == GRANT_TYPE_REFRESH_TOKEN:
+ LOGGER.info("Refreshing refresh token")
return TokenResponse(self.create_refresh_response())
raise ValueError(f"Invalid grant_type: {self.params.grant_type}")
except TokenError as error:
From 5290b644157204c06661f602240235d3d9373b66 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 22:53:19 +0100
Subject: [PATCH 28/80] web: Update Web API Client version
commit 96533a743c81c671b29afe85f77cc3b2c1812d18
Author: BeryJu
Date: Mon Dec 13 20:50:45 2021 +0000
web: Update Web API Client version
Signed-off-by: GitHub
Signed-off-by: Jens Langhammer
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index ba888b0af..cd5fd0a09 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -15,7 +15,7 @@
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639076050",
+ "@goauthentik/api": "^2021.10.4-1639428562",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
@@ -1708,9 +1708,9 @@
}
},
"node_modules/@goauthentik/api": {
- "version": "2021.10.4-1639076050",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639076050.tgz",
- "integrity": "sha512-Ud8hYHeaz9BCpJwYlOGce41MqhHeHiGVh7nlsWdUIOGCyrraJD3lFaPBgnG1l0M2RpxUeHz2owSUetS23X164g=="
+ "version": "2021.10.4-1639428562",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639428562.tgz",
+ "integrity": "sha512-cY6NkJhloT3KbSmx2pvrsynoarXqYNZ+vFoH3BWcPtY6733Ar6pp5dhOoS5MKbZGmn/eXwLwKApMMBbbEAnluA=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@@ -9898,9 +9898,9 @@
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@goauthentik/api": {
- "version": "2021.10.4-1639076050",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639076050.tgz",
- "integrity": "sha512-Ud8hYHeaz9BCpJwYlOGce41MqhHeHiGVh7nlsWdUIOGCyrraJD3lFaPBgnG1l0M2RpxUeHz2owSUetS23X164g=="
+ "version": "2021.10.4-1639428562",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639428562.tgz",
+ "integrity": "sha512-cY6NkJhloT3KbSmx2pvrsynoarXqYNZ+vFoH3BWcPtY6733Ar6pp5dhOoS5MKbZGmn/eXwLwKApMMBbbEAnluA=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
diff --git a/web/package.json b/web/package.json
index 5d05e7ded..c26e10d9a 100644
--- a/web/package.json
+++ b/web/package.json
@@ -51,7 +51,7 @@
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639076050",
+ "@goauthentik/api": "^2021.10.4-1639428562",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
From 728c8e994d5ac3f561f358ce1828426f6d43f233 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 23:26:00 +0100
Subject: [PATCH 29/80] sources/oauth: strip parts of custom apple client_id
Signed-off-by: Jens Langhammer
---
authentik/sources/oauth/types/apple.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/authentik/sources/oauth/types/apple.py b/authentik/sources/oauth/types/apple.py
index 254c9da10..43d829a1c 100644
--- a/authentik/sources/oauth/types/apple.py
+++ b/authentik/sources/oauth/types/apple.py
@@ -17,14 +17,14 @@ class AppleOAuthClient(OAuth2Client):
"""Apple OAuth2 client"""
def get_client_id(self) -> str:
- parts = self.source.consumer_key.split(";")
+ parts: list[str] = self.source.consumer_key.split(";")
if len(parts) < 3:
return self.source.consumer_key
- return parts[0]
+ return parts[0].strip()
def get_client_secret(self) -> str:
now = time()
- parts = self.source.consumer_key.split(";")
+ parts: list[str] = self.source.consumer_key.split(";")
if len(parts) < 3:
raise ValueError(
(
@@ -34,14 +34,14 @@ class AppleOAuthClient(OAuth2Client):
)
LOGGER.debug("got values from client_id", team=parts[1], kid=parts[2])
payload = {
- "iss": parts[1],
+ "iss": parts[1].strip(),
"iat": now,
"exp": now + 86400 * 180,
"aud": "https://appleid.apple.com",
- "sub": parts[0],
+ "sub": parts[0].strip(),
}
# pyright: reportGeneralTypeIssues=false
- jwt = encode(payload, self.source.consumer_secret, "ES256", {"kid": parts[2]})
+ jwt = encode(payload, self.source.consumer_secret, "ES256", {"kid": parts[2].strip()})
LOGGER.debug("signing payload as secret key", payload=payload, jwt=jwt)
return jwt
From ede6bcd31ea49e1308ee005c9f38b891cc581d97 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 23:41:08 +0100
Subject: [PATCH 30/80] *: remove debug statements from tests
Signed-off-by: Jens Langhammer
---
authentik/core/tests/test_property_mapping_api.py | 2 +-
authentik/policies/expression/tests.py | 2 +-
authentik/sources/oauth/types/apple.py | 1 -
authentik/stages/authenticator_sms/tests.py | 1 -
authentik/stages/email/tests/test_api.py | 2 +-
tests/e2e/test_provider_oauth2_oidc_implicit.py | 1 -
6 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/authentik/core/tests/test_property_mapping_api.py b/authentik/core/tests/test_property_mapping_api.py
index d5e74f626..29e608c05 100644
--- a/authentik/core/tests/test_property_mapping_api.py
+++ b/authentik/core/tests/test_property_mapping_api.py
@@ -41,7 +41,7 @@ class TestPropertyMappingAPI(APITestCase):
expr = "return True"
self.assertEqual(PropertyMappingSerializer().validate_expression(expr), expr)
with self.assertRaises(ValidationError):
- print(PropertyMappingSerializer().validate_expression("/"))
+ PropertyMappingSerializer().validate_expression("/")
def test_types(self):
"""Test PropertyMappigns's types endpoint"""
diff --git a/authentik/policies/expression/tests.py b/authentik/policies/expression/tests.py
index 1b1b1a279..fac8338d0 100644
--- a/authentik/policies/expression/tests.py
+++ b/authentik/policies/expression/tests.py
@@ -74,4 +74,4 @@ class TestExpressionPolicyAPI(APITestCase):
expr = "return True"
self.assertEqual(ExpressionPolicySerializer().validate_expression(expr), expr)
with self.assertRaises(ValidationError):
- print(ExpressionPolicySerializer().validate_expression("/"))
+ ExpressionPolicySerializer().validate_expression("/")
diff --git a/authentik/sources/oauth/types/apple.py b/authentik/sources/oauth/types/apple.py
index 43d829a1c..03bad20a9 100644
--- a/authentik/sources/oauth/types/apple.py
+++ b/authentik/sources/oauth/types/apple.py
@@ -74,7 +74,6 @@ class AppleOAuth2Callback(OAuthCallback):
self,
info: dict[str, Any],
) -> dict[str, Any]:
- print(info)
return {
"email": info.get("email"),
"name": info.get("name"),
diff --git a/authentik/stages/authenticator_sms/tests.py b/authentik/stages/authenticator_sms/tests.py
index cb65c2256..a7c56d422 100644
--- a/authentik/stages/authenticator_sms/tests.py
+++ b/authentik/stages/authenticator_sms/tests.py
@@ -90,6 +90,5 @@ class AuthenticatorSMSStageTests(APITestCase):
"code": int(self.client.session[SESSION_SMS_DEVICE].token),
},
)
- print(response.content)
self.assertEqual(response.status_code, 200)
sms_send_mock.assert_not_called()
diff --git a/authentik/stages/email/tests/test_api.py b/authentik/stages/email/tests/test_api.py
index 56c809870..ca501d321 100644
--- a/authentik/stages/email/tests/test_api.py
+++ b/authentik/stages/email/tests/test_api.py
@@ -29,4 +29,4 @@ class TestEmailStageAPI(APITestCase):
EmailTemplates.ACCOUNT_CONFIRM,
)
with self.assertRaises(ValidationError):
- print(EmailStageSerializer().validate_template("foobar"))
+ EmailStageSerializer().validate_template("foobar")
diff --git a/tests/e2e/test_provider_oauth2_oidc_implicit.py b/tests/e2e/test_provider_oauth2_oidc_implicit.py
index 691559550..94df094aa 100644
--- a/tests/e2e/test_provider_oauth2_oidc_implicit.py
+++ b/tests/e2e/test_provider_oauth2_oidc_implicit.py
@@ -145,7 +145,6 @@ class TestProviderOAuth2OIDCImplicit(SeleniumTestCase):
self.wait.until(ec.presence_of_element_located((By.CSS_SELECTOR, "pre")))
sleep(1)
body = loads(self.driver.find_element(By.CSS_SELECTOR, "pre").text)
- print(body)
self.assertEqual(body["profile"]["nickname"], self.user.username)
self.assertEqual(body["profile"]["name"], self.user.name)
self.assertEqual(body["profile"]["email"], self.user.email)
From 4f05dcec893495426bdd6d2ce79171d273c6bbf4 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 23:45:11 +0100
Subject: [PATCH 31/80] sources/oauth: allow oauth types to override their
login button challenge
Signed-off-by: Jens Langhammer
---
authentik/sources/oauth/models.py | 16 +---------------
authentik/sources/oauth/types/manager.py | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/authentik/sources/oauth/models.py b/authentik/sources/oauth/models.py
index f48e2a9c7..8da0f3646 100644
--- a/authentik/sources/oauth/models.py
+++ b/authentik/sources/oauth/models.py
@@ -8,7 +8,6 @@ from rest_framework.serializers import Serializer
from authentik.core.models import Source, UserSourceConnection
from authentik.core.types import UILoginButton, UserSettingSerializer
-from authentik.flows.challenge import ChallengeTypes, RedirectChallenge
if TYPE_CHECKING:
from authentik.sources.oauth.types.manager import SourceType
@@ -66,20 +65,7 @@ class OAuthSource(Source):
@property
def ui_login_button(self) -> UILoginButton:
- provider_type = self.type
- return UILoginButton(
- challenge=RedirectChallenge(
- instance={
- "type": ChallengeTypes.REDIRECT.value,
- "to": reverse(
- "authentik_sources_oauth:oauth-client-login",
- kwargs={"source_slug": self.slug},
- ),
- }
- ),
- icon_url=provider_type().icon_url(),
- name=self.name,
- )
+ return self.type().ui_login_button()
@property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
diff --git a/authentik/sources/oauth/types/manager.py b/authentik/sources/oauth/types/manager.py
index f619148d8..a11f79ff7 100644
--- a/authentik/sources/oauth/types/manager.py
+++ b/authentik/sources/oauth/types/manager.py
@@ -3,8 +3,11 @@ from enum import Enum
from typing import Callable, Optional, Type
from django.templatetags.static import static
+from django.urls.base import reverse
from structlog.stdlib import get_logger
+from authentik.core.types import UILoginButton
+from authentik.flows.challenge import ChallengeTypes, RedirectChallenge
from authentik.sources.oauth.views.callback import OAuthCallback
from authentik.sources.oauth.views.redirect import OAuthRedirect
@@ -37,6 +40,22 @@ class SourceType:
"""Get Icon URL for login"""
return static(f"authentik/sources/{self.slug}.svg")
+ def ui_login_button(self) -> UILoginButton:
+ """Allow types to return custom challenges"""
+ return UILoginButton(
+ challenge=RedirectChallenge(
+ instance={
+ "type": ChallengeTypes.REDIRECT.value,
+ "to": reverse(
+ "authentik_sources_oauth:oauth-client-login",
+ kwargs={"source_slug": self.slug},
+ ),
+ }
+ ),
+ icon_url=self.icon_url(),
+ name=self.name,
+ )
+
class SourceTypeManager:
"""Manager to hold all Source types."""
From e4841d54a1c4e634e9c198c111754361dde01476 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Mon, 13 Dec 2021 23:56:01 +0100
Subject: [PATCH 32/80] *: migrate ui_* properties to functions to allow
context being passed
Signed-off-by: Jens Langhammer
---
authentik/core/api/sources.py | 4 +--
authentik/core/models.py | 4 +--
authentik/core/tests/test_models.py | 9 ++++--
authentik/flows/api/stages.py | 2 +-
authentik/flows/models.py | 1 -
authentik/flows/tests/test_api.py | 2 +-
authentik/flows/tests/test_stage_model.py | 2 +-
authentik/sources/oauth/models.py | 13 ++++++---
authentik/sources/oauth/types/manager.py | 28 +++++++++----------
authentik/sources/plex/models.py | 5 ++--
authentik/sources/saml/models.py | 3 +-
authentik/stages/authenticator_duo/models.py | 1 -
authentik/stages/authenticator_sms/models.py | 1 -
.../stages/authenticator_static/models.py | 1 -
authentik/stages/authenticator_totp/models.py | 1 -
.../stages/authenticator_webauthn/models.py | 1 -
authentik/stages/identification/stage.py | 2 +-
authentik/stages/password/models.py | 1 -
18 files changed, 38 insertions(+), 43 deletions(-)
diff --git a/authentik/core/api/sources.py b/authentik/core/api/sources.py
index 9d56e7be8..63c028bce 100644
--- a/authentik/core/api/sources.py
+++ b/authentik/core/api/sources.py
@@ -104,14 +104,14 @@ class SourceViewSet(
)
matching_sources: list[UserSettingSerializer] = []
for source in _all_sources:
- user_settings = source.ui_user_settings
+ user_settings = source.ui_user_settings()
if not user_settings:
continue
policy_engine = PolicyEngine(source, request.user, request)
policy_engine.build()
if not policy_engine.passing:
continue
- source_settings = source.ui_user_settings
+ source_settings = source.ui_user_settings()
source_settings.initial_data["object_uid"] = source.slug
if not source_settings.is_valid():
LOGGER.warning(source_settings.errors)
diff --git a/authentik/core/models.py b/authentik/core/models.py
index ad07d3c12..136db1c14 100644
--- a/authentik/core/models.py
+++ b/authentik/core/models.py
@@ -359,13 +359,11 @@ class Source(ManagedModel, SerializerModel, PolicyBindingModel):
"""Return component used to edit this object"""
raise NotImplementedError
- @property
- def ui_login_button(self) -> Optional[UILoginButton]:
+ def ui_login_button(self, request: HttpRequest) -> Optional[UILoginButton]:
"""If source uses a http-based flow, return UI Information about the login
button. If source doesn't use http-based flow, return None."""
return None
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
"""Entrypoint to integrate with User settings. Can either return None if no
user settings are available, or UserSettingSerializer."""
diff --git a/authentik/core/tests/test_models.py b/authentik/core/tests/test_models.py
index 9dc17d724..1fa924f7b 100644
--- a/authentik/core/tests/test_models.py
+++ b/authentik/core/tests/test_models.py
@@ -2,7 +2,7 @@
from time import sleep
from typing import Callable, Type
-from django.test import TestCase
+from django.test import RequestFactory, TestCase
from django.utils.timezone import now
from guardian.shortcuts import get_anonymous_user
@@ -30,6 +30,9 @@ class TestModels(TestCase):
def source_tester_factory(test_model: Type[Stage]) -> Callable:
"""Test source"""
+ factory = RequestFactory()
+ request = factory.get("/")
+
def tester(self: TestModels):
model_class = None
if test_model._meta.abstract:
@@ -38,8 +41,8 @@ def source_tester_factory(test_model: Type[Stage]) -> Callable:
model_class = test_model()
model_class.slug = "test"
self.assertIsNotNone(model_class.component)
- _ = model_class.ui_login_button
- _ = model_class.ui_user_settings
+ _ = model_class.ui_login_button(request)
+ _ = model_class.ui_user_settings()
return tester
diff --git a/authentik/flows/api/stages.py b/authentik/flows/api/stages.py
index 59cacb1ca..d7a394859 100644
--- a/authentik/flows/api/stages.py
+++ b/authentik/flows/api/stages.py
@@ -90,7 +90,7 @@ class StageViewSet(
stages += list(configurable_stage.objects.all().order_by("name"))
matching_stages: list[dict] = []
for stage in stages:
- user_settings = stage.ui_user_settings
+ user_settings = stage.ui_user_settings()
if not user_settings:
continue
user_settings.initial_data["object_uid"] = str(stage.pk)
diff --git a/authentik/flows/models.py b/authentik/flows/models.py
index dcfb715f0..fa466fb36 100644
--- a/authentik/flows/models.py
+++ b/authentik/flows/models.py
@@ -75,7 +75,6 @@ class Stage(SerializerModel):
"""Return component used to edit this object"""
raise NotImplementedError
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
"""Entrypoint to integrate with User settings. Can either return None if no
user settings are available, or a challenge."""
diff --git a/authentik/flows/tests/test_api.py b/authentik/flows/tests/test_api.py
index b2ee2d734..4b1d173ba 100644
--- a/authentik/flows/tests/test_api.py
+++ b/authentik/flows/tests/test_api.py
@@ -32,7 +32,7 @@ class TestFlowsAPI(APITestCase):
def test_models(self):
"""Test that ui_user_settings returns none"""
- self.assertIsNone(Stage().ui_user_settings)
+ self.assertIsNone(Stage().ui_user_settings())
def test_api_serializer(self):
"""Test that stage serializer returns the correct type"""
diff --git a/authentik/flows/tests/test_stage_model.py b/authentik/flows/tests/test_stage_model.py
index feb3af690..807442de3 100644
--- a/authentik/flows/tests/test_stage_model.py
+++ b/authentik/flows/tests/test_stage_model.py
@@ -23,7 +23,7 @@ def model_tester_factory(test_model: Type[Stage]) -> Callable:
model_class = test_model()
self.assertTrue(issubclass(model_class.type, StageView))
self.assertIsNotNone(test_model.component)
- _ = model_class.ui_user_settings
+ _ = model_class.ui_user_settings()
return tester
diff --git a/authentik/sources/oauth/models.py b/authentik/sources/oauth/models.py
index 8da0f3646..3d44f9e5e 100644
--- a/authentik/sources/oauth/models.py
+++ b/authentik/sources/oauth/models.py
@@ -2,6 +2,7 @@
from typing import TYPE_CHECKING, Optional, Type
from django.db import models
+from django.http.request import HttpRequest
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from rest_framework.serializers import Serializer
@@ -63,11 +64,15 @@ class OAuthSource(Source):
return OAuthSourceSerializer
- @property
- def ui_login_button(self) -> UILoginButton:
- return self.type().ui_login_button()
+ def ui_login_button(self, request: HttpRequest) -> UILoginButton:
+ provider_type = self.type
+ provider = provider_type()
+ return UILoginButton(
+ name=self.name,
+ icon_url=provider.icon_url(),
+ challenge=provider.login_challenge(self, request),
+ )
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/sources/oauth/types/manager.py b/authentik/sources/oauth/types/manager.py
index a11f79ff7..b70171207 100644
--- a/authentik/sources/oauth/types/manager.py
+++ b/authentik/sources/oauth/types/manager.py
@@ -2,12 +2,13 @@
from enum import Enum
from typing import Callable, Optional, Type
+from django.http.request import HttpRequest
from django.templatetags.static import static
from django.urls.base import reverse
from structlog.stdlib import get_logger
-from authentik.core.types import UILoginButton
-from authentik.flows.challenge import ChallengeTypes, RedirectChallenge
+from authentik.flows.challenge import Challenge, ChallengeTypes, RedirectChallenge
+from authentik.sources.oauth.models import OAuthSource
from authentik.sources.oauth.views.callback import OAuthCallback
from authentik.sources.oauth.views.redirect import OAuthRedirect
@@ -40,20 +41,17 @@ class SourceType:
"""Get Icon URL for login"""
return static(f"authentik/sources/{self.slug}.svg")
- def ui_login_button(self) -> UILoginButton:
+ # pylint: disable=unused-argument
+ def login_challenge(self, source: OAuthSource, request: HttpRequest) -> Challenge:
"""Allow types to return custom challenges"""
- return UILoginButton(
- challenge=RedirectChallenge(
- instance={
- "type": ChallengeTypes.REDIRECT.value,
- "to": reverse(
- "authentik_sources_oauth:oauth-client-login",
- kwargs={"source_slug": self.slug},
- ),
- }
- ),
- icon_url=self.icon_url(),
- name=self.name,
+ return RedirectChallenge(
+ instance={
+ "type": ChallengeTypes.REDIRECT.value,
+ "to": reverse(
+ "authentik_sources_oauth:oauth-client-login",
+ kwargs={"source_slug": self.slug},
+ ),
+ }
)
diff --git a/authentik/sources/plex/models.py b/authentik/sources/plex/models.py
index 6ccb0293a..c16fd28dd 100644
--- a/authentik/sources/plex/models.py
+++ b/authentik/sources/plex/models.py
@@ -3,6 +3,7 @@ from typing import Optional
from django.contrib.postgres.fields import ArrayField
from django.db import models
+from django.http.request import HttpRequest
from django.templatetags.static import static
from django.utils.translation import gettext_lazy as _
from rest_framework.fields import CharField
@@ -62,8 +63,7 @@ class PlexSource(Source):
return PlexSourceSerializer
- @property
- def ui_login_button(self) -> UILoginButton:
+ def ui_login_button(self, request: HttpRequest) -> UILoginButton:
return UILoginButton(
challenge=PlexAuthenticationChallenge(
{
@@ -77,7 +77,6 @@ class PlexSource(Source):
name=self.name,
)
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/sources/saml/models.py b/authentik/sources/saml/models.py
index 412766757..882050fc3 100644
--- a/authentik/sources/saml/models.py
+++ b/authentik/sources/saml/models.py
@@ -167,8 +167,7 @@ class SAMLSource(Source):
reverse(f"authentik_sources_saml:{view}", kwargs={"source_slug": self.slug})
)
- @property
- def ui_login_button(self) -> UILoginButton:
+ def ui_login_button(self, request: HttpRequest) -> UILoginButton:
return UILoginButton(
challenge=RedirectChallenge(
instance={
diff --git a/authentik/stages/authenticator_duo/models.py b/authentik/stages/authenticator_duo/models.py
index 4e9db0478..e69e7366b 100644
--- a/authentik/stages/authenticator_duo/models.py
+++ b/authentik/stages/authenticator_duo/models.py
@@ -48,7 +48,6 @@ class AuthenticatorDuoStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-authenticator-duo-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/stages/authenticator_sms/models.py b/authentik/stages/authenticator_sms/models.py
index 1fb9dbbdf..1deaa89da 100644
--- a/authentik/stages/authenticator_sms/models.py
+++ b/authentik/stages/authenticator_sms/models.py
@@ -141,7 +141,6 @@ class AuthenticatorSMSStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-authenticator-sms-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/stages/authenticator_static/models.py b/authentik/stages/authenticator_static/models.py
index 5b26ca8aa..ad7f0f65e 100644
--- a/authentik/stages/authenticator_static/models.py
+++ b/authentik/stages/authenticator_static/models.py
@@ -31,7 +31,6 @@ class AuthenticatorStaticStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-authenticator-static-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/stages/authenticator_totp/models.py b/authentik/stages/authenticator_totp/models.py
index 9b36fe303..139a66f0b 100644
--- a/authentik/stages/authenticator_totp/models.py
+++ b/authentik/stages/authenticator_totp/models.py
@@ -38,7 +38,6 @@ class AuthenticatorTOTPStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-authenticator-totp-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/stages/authenticator_webauthn/models.py b/authentik/stages/authenticator_webauthn/models.py
index a28b52c8b..708270f4a 100644
--- a/authentik/stages/authenticator_webauthn/models.py
+++ b/authentik/stages/authenticator_webauthn/models.py
@@ -34,7 +34,6 @@ class AuthenticateWebAuthnStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-authenticator-webauthn-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
return UserSettingSerializer(
data={
diff --git a/authentik/stages/identification/stage.py b/authentik/stages/identification/stage.py
index 925a936e0..e547408e3 100644
--- a/authentik/stages/identification/stage.py
+++ b/authentik/stages/identification/stage.py
@@ -191,7 +191,7 @@ class IdentificationStageView(ChallengeStageView):
current_stage.sources.filter(enabled=True).order_by("name").select_subclasses()
)
for source in sources:
- ui_login_button = source.ui_login_button
+ ui_login_button = source.ui_login_button(self.request)
if ui_login_button:
button = asdict(ui_login_button)
button["challenge"] = ui_login_button.challenge.data
diff --git a/authentik/stages/password/models.py b/authentik/stages/password/models.py
index 5369052a2..4ee783c91 100644
--- a/authentik/stages/password/models.py
+++ b/authentik/stages/password/models.py
@@ -63,7 +63,6 @@ class PasswordStage(ConfigurableStage, Stage):
def component(self) -> str:
return "ak-stage-password-form"
- @property
def ui_user_settings(self) -> Optional[UserSettingSerializer]:
if not self.configure_flow:
return None
From 2993f506a7fdfb744d8087da68aa4204f70b9b46 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 00:40:29 +0100
Subject: [PATCH 33/80] sources/oauth: implement apple native sign-in using the
apple JS SDK
closes #1881
Signed-off-by: Jens Langhammer
---
authentik/sources/oauth/types/apple.py | 44 ++++++++++-
authentik/stages/identification/stage.py | 2 +
schema.yml | 46 +++++++++++
web/src/flows/FlowExecutor.ts | 6 ++
web/src/flows/sources/apple/AppleLoginInit.ts | 79 +++++++++++++++++++
web/src/flows/sources/apple/apple.d.ts | 14 ++++
web/src/locales/en.po | 8 ++
web/src/locales/fr_FR.po | 8 ++
web/src/locales/pseudo-LOCALE.po | 8 ++
9 files changed, 214 insertions(+), 1 deletion(-)
create mode 100644 web/src/flows/sources/apple/AppleLoginInit.ts
create mode 100644 web/src/flows/sources/apple/apple.d.ts
diff --git a/authentik/sources/oauth/types/apple.py b/authentik/sources/oauth/types/apple.py
index 03bad20a9..6265b6ccd 100644
--- a/authentik/sources/oauth/types/apple.py
+++ b/authentik/sources/oauth/types/apple.py
@@ -2,10 +2,15 @@
from time import time
from typing import Any, Optional
+from django.http.request import HttpRequest
+from django.urls.base import reverse
from jwt import decode, encode
+from rest_framework.fields import CharField
from structlog.stdlib import get_logger
+from authentik.flows.challenge import Challenge, ChallengeResponse, ChallengeTypes
from authentik.sources.oauth.clients.oauth2 import OAuth2Client
+from authentik.sources.oauth.models import OAuthSource
from authentik.sources.oauth.types.manager import MANAGER, SourceType
from authentik.sources.oauth.views.callback import OAuthCallback
from authentik.sources.oauth.views.redirect import OAuthRedirect
@@ -13,6 +18,22 @@ from authentik.sources.oauth.views.redirect import OAuthRedirect
LOGGER = get_logger()
+class AppleLoginChallenge(Challenge):
+ """Special challenge for apple-native authentication flow, which happens on the client."""
+
+ client_id = CharField()
+ component = CharField(default="ak-flow-sources-oauth-apple")
+ scope = CharField()
+ redirect_uri = CharField()
+ state = CharField()
+
+
+class AppleChallengeResponse(ChallengeResponse):
+ """Pseudo class for plex response"""
+
+ component = CharField(default="ak-flow-sources-oauth-apple")
+
+
class AppleOAuthClient(OAuth2Client):
"""Apple OAuth2 client"""
@@ -55,7 +76,7 @@ class AppleOAuthRedirect(OAuthRedirect):
client_class = AppleOAuthClient
- def get_additional_parameters(self, source): # pragma: no cover
+ def get_additional_parameters(self, source: OAuthSource): # pragma: no cover
return {
"scope": "name email",
"response_mode": "form_post",
@@ -95,3 +116,24 @@ class AppleType(SourceType):
def icon_url(self) -> str:
return "https://appleid.cdn-apple.com/appleid/button/logo"
+
+ def login_challenge(self, source: OAuthSource, request: HttpRequest) -> Challenge:
+ """Pre-general all the things required for the JS SDK"""
+ apple_client = AppleOAuthClient(
+ source,
+ request,
+ callback=reverse(
+ "authentik_sources_oauth:oauth-client-callback",
+ kwargs={"source_slug": source.slug},
+ ),
+ )
+ args = apple_client.get_redirect_args()
+ return AppleLoginChallenge(
+ instance={
+ "client_id": apple_client.get_client_id(),
+ "scope": "name email",
+ "redirect_uri": args["redirect_uri"],
+ "state": args["state"],
+ "type": ChallengeTypes.NATIVE.value,
+ }
+ )
diff --git a/authentik/stages/identification/stage.py b/authentik/stages/identification/stage.py
index e547408e3..f8c32674f 100644
--- a/authentik/stages/identification/stage.py
+++ b/authentik/stages/identification/stage.py
@@ -25,6 +25,7 @@ from authentik.flows.challenge import (
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER
from authentik.flows.stage import PLAN_CONTEXT_PENDING_USER_IDENTIFIER, ChallengeStageView
from authentik.flows.views.executor import SESSION_KEY_APPLICATION_PRE
+from authentik.sources.oauth.types.apple import AppleLoginChallenge
from authentik.sources.plex.models import PlexAuthenticationChallenge
from authentik.stages.identification.models import IdentificationStage
from authentik.stages.identification.signals import identification_failed
@@ -39,6 +40,7 @@ LOGGER = get_logger()
serializers={
RedirectChallenge().fields["component"].default: RedirectChallenge,
PlexAuthenticationChallenge().fields["component"].default: PlexAuthenticationChallenge,
+ AppleLoginChallenge().fields["component"].default: AppleLoginChallenge,
},
resource_type_field_name="component",
)
diff --git a/schema.yml b/schema.yml
index 29522b730..39abf799e 100644
--- a/schema.yml
+++ b/schema.yml
@@ -19086,6 +19086,46 @@ components:
- authentik.managed
- authentik.core
type: string
+ AppleChallengeResponseRequest:
+ type: object
+ description: Pseudo class for plex response
+ properties:
+ component:
+ type: string
+ minLength: 1
+ default: ak-flow-sources-oauth-apple
+ AppleLoginChallenge:
+ type: object
+ description: Special challenge for apple-native authentication flow, which happens
+ on the client.
+ properties:
+ type:
+ $ref: '#/components/schemas/ChallengeChoices'
+ flow_info:
+ $ref: '#/components/schemas/ContextualFlowInfo'
+ component:
+ type: string
+ default: ak-flow-sources-oauth-apple
+ response_errors:
+ type: object
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/ErrorDetail'
+ client_id:
+ type: string
+ scope:
+ type: string
+ redirect_uri:
+ type: string
+ state:
+ type: string
+ required:
+ - client_id
+ - redirect_uri
+ - scope
+ - state
+ - type
Application:
type: object
description: Application Serializer
@@ -20225,6 +20265,7 @@ components:
ChallengeTypes:
oneOf:
- $ref: '#/components/schemas/AccessDeniedChallenge'
+ - $ref: '#/components/schemas/AppleLoginChallenge'
- $ref: '#/components/schemas/AuthenticatorDuoChallenge'
- $ref: '#/components/schemas/AuthenticatorSMSChallenge'
- $ref: '#/components/schemas/AuthenticatorStaticChallenge'
@@ -20246,6 +20287,7 @@ components:
propertyName: component
mapping:
ak-stage-access-denied: '#/components/schemas/AccessDeniedChallenge'
+ ak-flow-sources-oauth-apple: '#/components/schemas/AppleLoginChallenge'
ak-stage-authenticator-duo: '#/components/schemas/AuthenticatorDuoChallenge'
ak-stage-authenticator-sms: '#/components/schemas/AuthenticatorSMSChallenge'
ak-stage-authenticator-static: '#/components/schemas/AuthenticatorStaticChallenge'
@@ -21387,6 +21429,7 @@ components:
- title
FlowChallengeResponseRequest:
oneOf:
+ - $ref: '#/components/schemas/AppleChallengeResponseRequest'
- $ref: '#/components/schemas/AuthenticatorDuoChallengeResponseRequest'
- $ref: '#/components/schemas/AuthenticatorSMSChallengeResponseRequest'
- $ref: '#/components/schemas/AuthenticatorStaticChallengeResponseRequest'
@@ -21405,6 +21448,7 @@ components:
discriminator:
propertyName: component
mapping:
+ ak-flow-sources-oauth-apple: '#/components/schemas/AppleChallengeResponseRequest'
ak-stage-authenticator-duo: '#/components/schemas/AuthenticatorDuoChallengeResponseRequest'
ak-stage-authenticator-sms: '#/components/schemas/AuthenticatorSMSChallengeResponseRequest'
ak-stage-authenticator-static: '#/components/schemas/AuthenticatorStaticChallengeResponseRequest'
@@ -22711,11 +22755,13 @@ components:
oneOf:
- $ref: '#/components/schemas/RedirectChallenge'
- $ref: '#/components/schemas/PlexAuthenticationChallenge'
+ - $ref: '#/components/schemas/AppleLoginChallenge'
discriminator:
propertyName: component
mapping:
xak-flow-redirect: '#/components/schemas/RedirectChallenge'
ak-flow-sources-plex: '#/components/schemas/PlexAuthenticationChallenge'
+ ak-flow-sources-oauth-apple: '#/components/schemas/AppleLoginChallenge'
LoginMetrics:
type: object
description: Login Metrics per 1h
diff --git a/web/src/flows/FlowExecutor.ts b/web/src/flows/FlowExecutor.ts
index 47cf78973..1687eb485 100644
--- a/web/src/flows/FlowExecutor.ts
+++ b/web/src/flows/FlowExecutor.ts
@@ -32,6 +32,7 @@ import "../elements/LoadingOverlay";
import { first } from "../utils";
import "./FlowInspector";
import "./access_denied/FlowAccessDenied";
+import "./sources/apple/AppleLoginInit";
import "./sources/plex/PlexLoginInit";
import "./stages/RedirectStage";
import "./stages/authenticator_duo/AuthenticatorDuoStage";
@@ -321,6 +322,11 @@ export class FlowExecutor extends LitElement implements StageHost {
.host=${this as StageHost}
.challenge=${this.challenge}
>`;
+ case "ak-flow-sources-oauth-apple":
+ return html` `;
default:
break;
}
diff --git a/web/src/flows/sources/apple/AppleLoginInit.ts b/web/src/flows/sources/apple/AppleLoginInit.ts
new file mode 100644
index 000000000..3fa505caf
--- /dev/null
+++ b/web/src/flows/sources/apple/AppleLoginInit.ts
@@ -0,0 +1,79 @@
+import { t } from "@lingui/macro";
+
+import { CSSResult, TemplateResult, html } from "lit";
+import { customElement, property } from "lit/decorators.js";
+
+import AKGlobal from "../../../authentik.css";
+import PFButton from "@patternfly/patternfly/components/Button/button.css";
+import PFForm from "@patternfly/patternfly/components/Form/form.css";
+import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
+import PFLogin from "@patternfly/patternfly/components/Login/login.css";
+import PFTitle from "@patternfly/patternfly/components/Title/title.css";
+import PFBase from "@patternfly/patternfly/patternfly-base.css";
+
+import { AppleChallengeResponseRequest, AppleLoginChallenge } from "@goauthentik/api";
+
+import "../../../elements/EmptyState";
+import { BaseStage } from "../../stages/base";
+
+@customElement("ak-flow-sources-oauth-apple")
+export class AppleLoginInit extends BaseStage {
+ @property({ type: Boolean })
+ isModalShown = false;
+
+ static get styles(): CSSResult[] {
+ return [PFBase, PFLogin, PFForm, PFFormControl, PFButton, PFTitle, AKGlobal];
+ }
+
+ firstUpdated(): void {
+ const appleAuth = document.createElement("script");
+ appleAuth.src =
+ "https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js";
+ appleAuth.type = "text/javascript";
+ appleAuth.onload = () => {
+ AppleID.auth.init({
+ clientId: this.challenge?.clientId,
+ scope: this.challenge.scope,
+ redirectURI: this.challenge.redirectUri,
+ state: this.challenge.state,
+ usePopup: false,
+ });
+ AppleID.auth.signIn();
+ this.isModalShown = true;
+ };
+ document.head.append(appleAuth);
+ //Listen for authorization success
+ document.addEventListener("AppleIDSignInOnSuccess", () => {
+ //handle successful response
+ });
+ //Listen for authorization failures
+ document.addEventListener("AppleIDSignInOnFailure", (error) => {
+ console.warn(error);
+ this.isModalShown = false;
+ });
+ }
+
+ render(): TemplateResult {
+ return html`
+ ${t`Authenticating with Apple...`}
+
+
+ `;
+ }
+}
diff --git a/web/src/flows/sources/apple/apple.d.ts b/web/src/flows/sources/apple/apple.d.ts
new file mode 100644
index 000000000..c547d88d0
--- /dev/null
+++ b/web/src/flows/sources/apple/apple.d.ts
@@ -0,0 +1,14 @@
+declare namespace AppleID {
+ const auth: AppleIDAuth;
+
+ class AppleIDAuth {
+ init({
+ clientId: string,
+ scope: string,
+ redirectURI: string,
+ state: string,
+ usePopup: boolean,
+ }): void;
+ async signIn(): Promise;
+ }
+}
diff --git a/web/src/locales/en.po b/web/src/locales/en.po
index 7e849d917..f2b8fa1d6 100644
--- a/web/src/locales/en.po
+++ b/web/src/locales/en.po
@@ -437,6 +437,10 @@ msgstr "Audience"
#~ msgid "Auth Type"
#~ msgstr "Auth Type"
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Authenticating with Apple..."
+msgstr "Authenticating with Apple..."
+
#: src/flows/sources/plex/PlexLoginInit.ts
msgid "Authenticating with Plex..."
msgstr "Authenticating with Plex..."
@@ -3784,6 +3788,10 @@ msgstr "Resources"
msgid "Result"
msgstr "Result"
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Retry"
+msgstr "Retry"
+
#:
#~ msgid "Retry Task"
#~ msgstr "Retry Task"
diff --git a/web/src/locales/fr_FR.po b/web/src/locales/fr_FR.po
index a1795f88b..e62b30b61 100644
--- a/web/src/locales/fr_FR.po
+++ b/web/src/locales/fr_FR.po
@@ -441,6 +441,10 @@ msgstr "Audience"
#~ msgid "Auth Type"
#~ msgstr ""
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Authenticating with Apple..."
+msgstr ""
+
#: src/flows/sources/plex/PlexLoginInit.ts
msgid "Authenticating with Plex..."
msgstr "Authentification avec Plex..."
@@ -3755,6 +3759,10 @@ msgstr "Ressources"
msgid "Result"
msgstr "Résultat"
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Retry"
+msgstr ""
+
#~ msgid "Retry Task"
#~ msgstr "Réessayer la tâche"
diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po
index 9ccb43584..1fd9a7f09 100644
--- a/web/src/locales/pseudo-LOCALE.po
+++ b/web/src/locales/pseudo-LOCALE.po
@@ -433,6 +433,10 @@ msgstr ""
#~ msgid "Auth Type"
#~ msgstr ""
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Authenticating with Apple..."
+msgstr ""
+
#: src/flows/sources/plex/PlexLoginInit.ts
msgid "Authenticating with Plex..."
msgstr ""
@@ -3774,6 +3778,10 @@ msgstr ""
msgid "Result"
msgstr ""
+#: src/flows/sources/apple/AppleLoginInit.ts
+msgid "Retry"
+msgstr ""
+
#:
#~ msgid "Retry Task"
#~ msgstr ""
From 57757a2ff508ea8cf374e4343e1a1a16e65fe36b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 01:11:32 +0100
Subject: [PATCH 34/80] web: Update Web API Client version (#1920)
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index cd5fd0a09..2f709c43b 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -15,7 +15,7 @@
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639428562",
+ "@goauthentik/api": "^2021.10.4-1639438851",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
@@ -1708,9 +1708,9 @@
}
},
"node_modules/@goauthentik/api": {
- "version": "2021.10.4-1639428562",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639428562.tgz",
- "integrity": "sha512-cY6NkJhloT3KbSmx2pvrsynoarXqYNZ+vFoH3BWcPtY6733Ar6pp5dhOoS5MKbZGmn/eXwLwKApMMBbbEAnluA=="
+ "version": "2021.10.4-1639438851",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639438851.tgz",
+ "integrity": "sha512-EYcWXv1ZoiC4+IeQFvmEeBTc1aVHwfemxMgJ2SpEo4VUxnLpK5+B1KRGZj9ufEJPABcrA2pd5UAeftEHPBVCJQ=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@@ -9898,9 +9898,9 @@
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@goauthentik/api": {
- "version": "2021.10.4-1639428562",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639428562.tgz",
- "integrity": "sha512-cY6NkJhloT3KbSmx2pvrsynoarXqYNZ+vFoH3BWcPtY6733Ar6pp5dhOoS5MKbZGmn/eXwLwKApMMBbbEAnluA=="
+ "version": "2021.10.4-1639438851",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639438851.tgz",
+ "integrity": "sha512-EYcWXv1ZoiC4+IeQFvmEeBTc1aVHwfemxMgJ2SpEo4VUxnLpK5+B1KRGZj9ufEJPABcrA2pd5UAeftEHPBVCJQ=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
diff --git a/web/package.json b/web/package.json
index c26e10d9a..a703180f2 100644
--- a/web/package.json
+++ b/web/package.json
@@ -51,7 +51,7 @@
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639428562",
+ "@goauthentik/api": "^2021.10.4-1639438851",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
From 58440b16c4166f6200a8ac01e951a52d099f5d80 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:28:42 +0100
Subject: [PATCH 35/80] build(deps): bump goauthentik.io/api from 0.2021104.11
to 0.2021104.13 (#1931)
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index a1c2e08fe..a5e15f06d 100644
--- a/go.mod
+++ b/go.mod
@@ -28,7 +28,7 @@ require (
github.com/pquerna/cachecontrol v0.0.0-20201205024021-ac21108117ac // indirect
github.com/prometheus/client_golang v1.11.0
github.com/sirupsen/logrus v1.8.1
- goauthentik.io/api v0.2021104.11
+ goauthentik.io/api v0.2021104.13
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect
golang.org/x/net v0.0.0-20210510120150-4163338589ed // indirect
golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558
diff --git a/go.sum b/go.sum
index 813f1d18f..5755671ed 100644
--- a/go.sum
+++ b/go.sum
@@ -558,8 +558,8 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-goauthentik.io/api v0.2021104.11 h1:LqT0LM0e/RRrxPuo6Xl5uz3PCR5ytuE+YlNlfW9w0yU=
-goauthentik.io/api v0.2021104.11/go.mod h1:02nnD4FRd8lu8A1+ZuzqownBgvAhdCKzqkKX8v7JMTE=
+goauthentik.io/api v0.2021104.13 h1:4LoxksGIrT1pNOp1OrSP00ebCkaZcIZNxdy05E8YbOI=
+goauthentik.io/api v0.2021104.13/go.mod h1:02nnD4FRd8lu8A1+ZuzqownBgvAhdCKzqkKX8v7JMTE=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
From 0bfe999442e0b306412c2e40c4297537c80412ae Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:29:13 +0100
Subject: [PATCH 36/80] build(deps): bump @typescript-eslint/eslint-plugin in
/web (#1928)
---
web/package-lock.json | 270 ++++++++++++++++++++++++++++++++++++++----
web/package.json | 2 +-
2 files changed, 248 insertions(+), 24 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 2f709c43b..609c439f4 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -36,7 +36,7 @@
"@types/chart.js": "^2.9.34",
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
- "@typescript-eslint/eslint-plugin": "^5.6.0",
+ "@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.6.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
@@ -2781,12 +2781,12 @@
"integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz",
- "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz",
+ "integrity": "sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg==",
"dependencies": {
- "@typescript-eslint/experimental-utils": "5.6.0",
- "@typescript-eslint/scope-manager": "5.6.0",
+ "@typescript-eslint/experimental-utils": "5.7.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
"debug": "^4.3.2",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.1.8",
@@ -2811,6 +2811,58 @@
}
}
},
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.7.0",
+ "eslint-visitor-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
+ "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -2834,14 +2886,14 @@
}
},
"node_modules/@typescript-eslint/experimental-utils": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz",
- "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz",
+ "integrity": "sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A==",
"dependencies": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.6.0",
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/typescript-estree": "5.6.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/typescript-estree": "5.7.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@@ -2856,6 +2908,98 @@
"eslint": "*"
}
},
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
+ "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.7.0",
+ "eslint-visitor-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
+ "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@typescript-eslint/parser": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz",
@@ -10793,12 +10937,12 @@
"integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
},
"@typescript-eslint/eslint-plugin": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.6.0.tgz",
- "integrity": "sha512-MIbeMy5qfLqtgs1hWd088k1hOuRsN9JrHUPwVVKCD99EOUqScd7SrwoZl4Gso05EAP9w1kvLWUVGJOVpRPkDPA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz",
+ "integrity": "sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg==",
"requires": {
- "@typescript-eslint/experimental-utils": "5.6.0",
- "@typescript-eslint/scope-manager": "5.6.0",
+ "@typescript-eslint/experimental-utils": "5.7.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
"debug": "^4.3.2",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.1.8",
@@ -10807,6 +10951,34 @@
"tsutils": "^3.21.0"
},
"dependencies": {
+ "@typescript-eslint/scope-manager": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
+ "requires": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA=="
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
+ "requires": {
+ "@typescript-eslint/types": "5.7.0",
+ "eslint-visitor-keys": "^3.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
+ "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
+ },
"ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -10823,16 +10995,68 @@
}
},
"@typescript-eslint/experimental-utils": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.6.0.tgz",
- "integrity": "sha512-VDoRf3Qj7+W3sS/ZBXZh3LBzp0snDLEgvp6qj0vOAIiAPM07bd5ojQ3CTzF/QFl5AKh7Bh1ycgj6lFBJHUt/DA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz",
+ "integrity": "sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A==",
"requires": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.6.0",
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/typescript-estree": "5.6.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/typescript-estree": "5.7.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "@typescript-eslint/scope-manager": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
+ "requires": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA=="
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
+ "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
+ "requires": {
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
+ "requires": {
+ "@typescript-eslint/types": "5.7.0",
+ "eslint-visitor-keys": "^3.0.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
+ "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
}
},
"@typescript-eslint/parser": {
diff --git a/web/package.json b/web/package.json
index a703180f2..0a3104e99 100644
--- a/web/package.json
+++ b/web/package.json
@@ -72,7 +72,7 @@
"@types/chart.js": "^2.9.34",
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
- "@typescript-eslint/eslint-plugin": "^5.6.0",
+ "@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.6.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
From 5f91c150df2ae237f7c33418bbad3a78f2ebf491 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:29:36 +0100
Subject: [PATCH 37/80] build(deps): bump @babel/plugin-proposal-decorators in
/web (#1927)
---
web/package-lock.json | 175 ++++++++++++++++++++++++------------------
web/package.json | 2 +-
2 files changed, 101 insertions(+), 76 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 609c439f4..d408b4b76 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -10,7 +10,7 @@
"license": "GNU GPLv3",
"dependencies": {
"@babel/core": "^7.16.0",
- "@babel/plugin-proposal-decorators": "^7.16.4",
+ "@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
@@ -125,9 +125,9 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz",
+ "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==",
"dependencies": {
"@babel/types": "^7.16.0",
"jsesc": "^2.5.1",
@@ -178,15 +178,16 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz",
+ "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-member-expression-to-functions": "^7.16.5",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-replace-supers": "^7.16.5",
"@babel/helper-split-export-declaration": "^7.16.0"
},
"engines": {
@@ -229,6 +230,17 @@
"@babel/core": "^7.4.0-0"
}
},
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz",
+ "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==",
+ "dependencies": {
+ "@babel/types": "^7.16.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-explode-assignable-expression": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz",
@@ -276,9 +288,9 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz",
+ "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==",
"dependencies": {
"@babel/types": "^7.16.0"
},
@@ -327,9 +339,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz",
+ "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==",
"engines": {
"node": ">=6.9.0"
}
@@ -348,13 +360,14 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz",
+ "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==",
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
+ "@babel/helper-member-expression-to-functions": "^7.16.5",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
},
"engines": {
@@ -451,9 +464,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.0.tgz",
- "integrity": "sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.5.tgz",
+ "integrity": "sha512-+Ce7T5iPNWzfu9C1aB5tN3Lyafs5xb3Ic7vBWyZL2KXT3QSdD1dD3CvgOzPmQKoNNRt6uauc0XwNJTQtXC2/Mw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -539,13 +552,13 @@
}
},
"node_modules/@babel/plugin-proposal-decorators": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz",
- "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz",
+ "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-decorators": "^7.16.0"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/plugin-syntax-decorators": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -777,11 +790,11 @@
}
},
"node_modules/@babel/plugin-syntax-decorators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz",
- "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz",
+ "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1607,16 +1620,17 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz",
- "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz",
+ "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==",
"dependencies": {
"@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
+ "@babel/generator": "^7.16.5",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
"@babel/helper-hoist-variables": "^7.16.0",
"@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.0",
+ "@babel/parser": "^7.16.5",
"@babel/types": "^7.16.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
@@ -8986,9 +9000,9 @@
}
},
"@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz",
+ "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==",
"requires": {
"@babel/types": "^7.16.0",
"jsesc": "^2.5.1",
@@ -9024,15 +9038,16 @@
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz",
+ "integrity": "sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-member-expression-to-functions": "^7.16.5",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-replace-supers": "^7.16.5",
"@babel/helper-split-export-declaration": "^7.16.0"
}
},
@@ -9060,6 +9075,14 @@
"semver": "^6.1.2"
}
},
+ "@babel/helper-environment-visitor": {
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz",
+ "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==",
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
"@babel/helper-explode-assignable-expression": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz",
@@ -9095,9 +9118,9 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz",
+ "integrity": "sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==",
"requires": {
"@babel/types": "^7.16.0"
}
@@ -9134,9 +9157,9 @@
}
},
"@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ=="
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz",
+ "integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ=="
},
"@babel/helper-remap-async-to-generator": {
"version": "7.16.4",
@@ -9149,13 +9172,14 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz",
+ "integrity": "sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==",
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
+ "@babel/helper-member-expression-to-functions": "^7.16.5",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
}
},
@@ -9225,9 +9249,9 @@
}
},
"@babel/parser": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.0.tgz",
- "integrity": "sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A=="
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.5.tgz",
+ "integrity": "sha512-+Ce7T5iPNWzfu9C1aB5tN3Lyafs5xb3Ic7vBWyZL2KXT3QSdD1dD3CvgOzPmQKoNNRt6uauc0XwNJTQtXC2/Mw=="
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.16.2",
@@ -9277,13 +9301,13 @@
}
},
"@babel/plugin-proposal-decorators": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz",
- "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.5.tgz",
+ "integrity": "sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-decorators": "^7.16.0"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/plugin-syntax-decorators": "^7.16.5"
}
},
"@babel/plugin-proposal-dynamic-import": {
@@ -9425,11 +9449,11 @@
}
},
"@babel/plugin-syntax-decorators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz",
- "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.5.tgz",
+ "integrity": "sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-syntax-dynamic-import": {
@@ -9970,16 +9994,17 @@
}
},
"@babel/traverse": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz",
- "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz",
+ "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==",
"requires": {
"@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
+ "@babel/generator": "^7.16.5",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
"@babel/helper-hoist-variables": "^7.16.0",
"@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.0",
+ "@babel/parser": "^7.16.5",
"@babel/types": "^7.16.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
diff --git a/web/package.json b/web/package.json
index 0a3104e99..fec41017a 100644
--- a/web/package.json
+++ b/web/package.json
@@ -46,7 +46,7 @@
},
"dependencies": {
"@babel/core": "^7.16.0",
- "@babel/plugin-proposal-decorators": "^7.16.4",
+ "@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
"@babel/preset-env": "^7.16.4",
"@babel/preset-typescript": "^7.16.0",
From c83724f45c76d54416ac8e36cbf5dd3087c1933e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:29:56 +0100
Subject: [PATCH 38/80] build(deps): bump @babel/preset-env from 7.16.4 to
7.16.5 in /web (#1930)
---
web/package-lock.json | 1080 +++++++++++++++++++++--------------------
web/package.json | 2 +-
2 files changed, 542 insertions(+), 540 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index d408b4b76..9444a3d1a 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -12,7 +12,7 @@
"@babel/core": "^7.16.0",
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
- "@babel/preset-env": "^7.16.4",
+ "@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
"@goauthentik/api": "^2021.10.4-1639438851",
@@ -149,9 +149,9 @@
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz",
- "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz",
+ "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==",
"dependencies": {
"@babel/helper-explode-assignable-expression": "^7.16.0",
"@babel/types": "^7.16.0"
@@ -310,17 +310,17 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz",
+ "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==",
"dependencies": {
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
"@babel/helper-simple-access": "^7.16.0",
"@babel/helper-split-export-declaration": "^7.16.0",
"@babel/helper-validator-identifier": "^7.15.7",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
},
"engines": {
@@ -347,12 +347,12 @@
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz",
- "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz",
+ "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-wrap-function": "^7.16.0",
+ "@babel/helper-wrap-function": "^7.16.5",
"@babel/types": "^7.16.0"
},
"engines": {
@@ -424,13 +424,13 @@
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz",
- "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz",
+ "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==",
"dependencies": {
"@babel/helper-function-name": "^7.16.0",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
},
"engines": {
@@ -505,12 +505,12 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz",
- "integrity": "sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz",
+ "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.16.4",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.5",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@@ -521,12 +521,12 @@
}
},
"node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz",
+ "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -536,12 +536,12 @@
}
},
"node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz",
- "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz",
+ "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-class-static-block": "^7.14.5"
},
"engines": {
@@ -568,11 +568,11 @@
}
},
"node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz",
- "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz",
+ "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
},
"engines": {
@@ -583,11 +583,11 @@
}
},
"node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz",
- "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz",
+ "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
},
"engines": {
@@ -598,11 +598,11 @@
}
},
"node_modules/@babel/plugin-proposal-json-strings": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz",
- "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz",
+ "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-json-strings": "^7.8.3"
},
"engines": {
@@ -613,11 +613,11 @@
}
},
"node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz",
- "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz",
+ "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
},
"engines": {
@@ -628,11 +628,11 @@
}
},
"node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz",
- "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz",
+ "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
},
"engines": {
@@ -643,11 +643,11 @@
}
},
"node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz",
- "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz",
+ "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
},
"engines": {
@@ -658,15 +658,15 @@
}
},
"node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz",
- "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz",
+ "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==",
"dependencies": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-compilation-targets": "^7.16.3",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.0"
+ "@babel/plugin-transform-parameters": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -676,11 +676,11 @@
}
},
"node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz",
- "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz",
+ "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
},
"engines": {
@@ -691,11 +691,11 @@
}
},
"node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz",
- "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz",
+ "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
},
@@ -707,12 +707,12 @@
}
},
"node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz",
- "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz",
+ "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -722,13 +722,13 @@
}
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz",
- "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz",
+ "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
@@ -739,12 +739,12 @@
}
},
"node_modules/@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz",
- "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz",
+ "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=4"
@@ -959,11 +959,11 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz",
- "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz",
+ "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -973,13 +973,13 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz",
- "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz",
+ "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==",
"dependencies": {
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -989,11 +989,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz",
- "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz",
+ "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1003,11 +1003,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz",
- "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz",
+ "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1017,15 +1017,16 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz",
- "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz",
+ "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-replace-supers": "^7.16.5",
"@babel/helper-split-export-declaration": "^7.16.0",
"globals": "^11.1.0"
},
@@ -1037,11 +1038,11 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz",
- "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz",
+ "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1051,11 +1052,11 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz",
- "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz",
+ "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1065,12 +1066,12 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz",
- "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz",
+ "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1080,11 +1081,11 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz",
- "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz",
+ "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1094,12 +1095,12 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz",
- "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz",
+ "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==",
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1109,11 +1110,11 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz",
- "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz",
+ "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1123,12 +1124,12 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz",
- "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz",
+ "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==",
"dependencies": {
"@babel/helper-function-name": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1138,11 +1139,11 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz",
- "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz",
+ "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1152,11 +1153,11 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz",
- "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz",
+ "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1166,12 +1167,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz",
- "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz",
+ "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
"engines": {
@@ -1182,12 +1183,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz",
- "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz",
+ "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-simple-access": "^7.16.0",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
@@ -1199,13 +1200,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz",
- "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz",
+ "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==",
"dependencies": {
"@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-identifier": "^7.15.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
},
@@ -1217,12 +1218,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz",
- "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz",
+ "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1232,9 +1233,9 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz",
- "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz",
+ "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0"
},
@@ -1246,11 +1247,11 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz",
- "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz",
+ "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1260,12 +1261,12 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz",
- "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz",
+ "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-replace-supers": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1275,11 +1276,11 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz",
- "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz",
+ "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1289,11 +1290,11 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz",
- "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz",
+ "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1303,9 +1304,9 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz",
- "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz",
+ "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==",
"dependencies": {
"regenerator-transform": "^0.14.2"
},
@@ -1317,11 +1318,11 @@
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz",
- "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz",
+ "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1350,11 +1351,11 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz",
- "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz",
+ "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1364,11 +1365,11 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz",
- "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz",
+ "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
},
"engines": {
@@ -1379,11 +1380,11 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz",
- "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz",
+ "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1393,11 +1394,11 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz",
- "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz",
+ "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1407,11 +1408,11 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz",
- "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz",
+ "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1437,11 +1438,11 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz",
- "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz",
+ "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1451,12 +1452,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz",
- "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz",
+ "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1466,31 +1467,31 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz",
- "integrity": "sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz",
+ "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==",
"dependencies": {
"@babel/compat-data": "^7.16.4",
"@babel/helper-compilation-targets": "^7.16.3",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-option": "^7.14.5",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.4",
- "@babel/plugin-proposal-class-properties": "^7.16.0",
- "@babel/plugin-proposal-class-static-block": "^7.16.0",
- "@babel/plugin-proposal-dynamic-import": "^7.16.0",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.0",
- "@babel/plugin-proposal-json-strings": "^7.16.0",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
- "@babel/plugin-proposal-numeric-separator": "^7.16.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.0",
- "@babel/plugin-proposal-optional-chaining": "^7.16.0",
- "@babel/plugin-proposal-private-methods": "^7.16.0",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.16.5",
+ "@babel/plugin-proposal-class-properties": "^7.16.5",
+ "@babel/plugin-proposal-class-static-block": "^7.16.5",
+ "@babel/plugin-proposal-dynamic-import": "^7.16.5",
+ "@babel/plugin-proposal-export-namespace-from": "^7.16.5",
+ "@babel/plugin-proposal-json-strings": "^7.16.5",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5",
+ "@babel/plugin-proposal-numeric-separator": "^7.16.5",
+ "@babel/plugin-proposal-object-rest-spread": "^7.16.5",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.16.5",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.5",
+ "@babel/plugin-proposal-private-methods": "^7.16.5",
+ "@babel/plugin-proposal-private-property-in-object": "^7.16.5",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.16.5",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
@@ -1505,38 +1506,38 @@
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.0",
- "@babel/plugin-transform-async-to-generator": "^7.16.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.0",
- "@babel/plugin-transform-block-scoping": "^7.16.0",
- "@babel/plugin-transform-classes": "^7.16.0",
- "@babel/plugin-transform-computed-properties": "^7.16.0",
- "@babel/plugin-transform-destructuring": "^7.16.0",
- "@babel/plugin-transform-dotall-regex": "^7.16.0",
- "@babel/plugin-transform-duplicate-keys": "^7.16.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.0",
- "@babel/plugin-transform-for-of": "^7.16.0",
- "@babel/plugin-transform-function-name": "^7.16.0",
- "@babel/plugin-transform-literals": "^7.16.0",
- "@babel/plugin-transform-member-expression-literals": "^7.16.0",
- "@babel/plugin-transform-modules-amd": "^7.16.0",
- "@babel/plugin-transform-modules-commonjs": "^7.16.0",
- "@babel/plugin-transform-modules-systemjs": "^7.16.0",
- "@babel/plugin-transform-modules-umd": "^7.16.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0",
- "@babel/plugin-transform-new-target": "^7.16.0",
- "@babel/plugin-transform-object-super": "^7.16.0",
- "@babel/plugin-transform-parameters": "^7.16.3",
- "@babel/plugin-transform-property-literals": "^7.16.0",
- "@babel/plugin-transform-regenerator": "^7.16.0",
- "@babel/plugin-transform-reserved-words": "^7.16.0",
- "@babel/plugin-transform-shorthand-properties": "^7.16.0",
- "@babel/plugin-transform-spread": "^7.16.0",
- "@babel/plugin-transform-sticky-regex": "^7.16.0",
- "@babel/plugin-transform-template-literals": "^7.16.0",
- "@babel/plugin-transform-typeof-symbol": "^7.16.0",
- "@babel/plugin-transform-unicode-escapes": "^7.16.0",
- "@babel/plugin-transform-unicode-regex": "^7.16.0",
+ "@babel/plugin-transform-arrow-functions": "^7.16.5",
+ "@babel/plugin-transform-async-to-generator": "^7.16.5",
+ "@babel/plugin-transform-block-scoped-functions": "^7.16.5",
+ "@babel/plugin-transform-block-scoping": "^7.16.5",
+ "@babel/plugin-transform-classes": "^7.16.5",
+ "@babel/plugin-transform-computed-properties": "^7.16.5",
+ "@babel/plugin-transform-destructuring": "^7.16.5",
+ "@babel/plugin-transform-dotall-regex": "^7.16.5",
+ "@babel/plugin-transform-duplicate-keys": "^7.16.5",
+ "@babel/plugin-transform-exponentiation-operator": "^7.16.5",
+ "@babel/plugin-transform-for-of": "^7.16.5",
+ "@babel/plugin-transform-function-name": "^7.16.5",
+ "@babel/plugin-transform-literals": "^7.16.5",
+ "@babel/plugin-transform-member-expression-literals": "^7.16.5",
+ "@babel/plugin-transform-modules-amd": "^7.16.5",
+ "@babel/plugin-transform-modules-commonjs": "^7.16.5",
+ "@babel/plugin-transform-modules-systemjs": "^7.16.5",
+ "@babel/plugin-transform-modules-umd": "^7.16.5",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5",
+ "@babel/plugin-transform-new-target": "^7.16.5",
+ "@babel/plugin-transform-object-super": "^7.16.5",
+ "@babel/plugin-transform-parameters": "^7.16.5",
+ "@babel/plugin-transform-property-literals": "^7.16.5",
+ "@babel/plugin-transform-regenerator": "^7.16.5",
+ "@babel/plugin-transform-reserved-words": "^7.16.5",
+ "@babel/plugin-transform-shorthand-properties": "^7.16.5",
+ "@babel/plugin-transform-spread": "^7.16.5",
+ "@babel/plugin-transform-sticky-regex": "^7.16.5",
+ "@babel/plugin-transform-template-literals": "^7.16.5",
+ "@babel/plugin-transform-typeof-symbol": "^7.16.5",
+ "@babel/plugin-transform-unicode-escapes": "^7.16.5",
+ "@babel/plugin-transform-unicode-regex": "^7.16.5",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.16.0",
"babel-plugin-polyfill-corejs2": "^0.3.0",
@@ -9018,9 +9019,9 @@
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz",
- "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz",
+ "integrity": "sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==",
"requires": {
"@babel/helper-explode-assignable-expression": "^7.16.0",
"@babel/types": "^7.16.0"
@@ -9134,17 +9135,17 @@
}
},
"@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz",
+ "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==",
"requires": {
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
"@babel/helper-simple-access": "^7.16.0",
"@babel/helper-split-export-declaration": "^7.16.0",
"@babel/helper-validator-identifier": "^7.15.7",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
}
},
@@ -9162,12 +9163,12 @@
"integrity": "sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ=="
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz",
- "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz",
+ "integrity": "sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-wrap-function": "^7.16.0",
+ "@babel/helper-wrap-function": "^7.16.5",
"@babel/types": "^7.16.0"
}
},
@@ -9218,13 +9219,13 @@
"integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow=="
},
"@babel/helper-wrap-function": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz",
- "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz",
+ "integrity": "sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==",
"requires": {
"@babel/helper-function-name": "^7.16.0",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
}
},
@@ -9272,31 +9273,31 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz",
- "integrity": "sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz",
+ "integrity": "sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.16.4",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.5",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
"@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz",
+ "integrity": "sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-proposal-class-static-block": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz",
- "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz",
+ "integrity": "sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-class-static-block": "^7.14.5"
}
},
@@ -9311,117 +9312,117 @@
}
},
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz",
- "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz",
+ "integrity": "sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
},
"@babel/plugin-proposal-export-namespace-from": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz",
- "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz",
+ "integrity": "sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
"@babel/plugin-proposal-json-strings": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz",
- "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz",
+ "integrity": "sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-json-strings": "^7.8.3"
}
},
"@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz",
- "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz",
+ "integrity": "sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz",
- "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz",
+ "integrity": "sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
}
},
"@babel/plugin-proposal-numeric-separator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz",
- "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz",
+ "integrity": "sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz",
- "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz",
+ "integrity": "sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==",
"requires": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-compilation-targets": "^7.16.3",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.0"
+ "@babel/plugin-transform-parameters": "^7.16.5"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz",
- "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz",
+ "integrity": "sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
}
},
"@babel/plugin-proposal-optional-chaining": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz",
- "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz",
+ "integrity": "sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
}
},
"@babel/plugin-proposal-private-methods": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz",
- "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz",
+ "integrity": "sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-proposal-private-property-in-object": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz",
- "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz",
+ "integrity": "sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-create-class-features-plugin": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}
},
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz",
- "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz",
+ "integrity": "sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-syntax-async-generators": {
@@ -9561,225 +9562,226 @@
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz",
- "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz",
+ "integrity": "sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz",
- "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz",
+ "integrity": "sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==",
"requires": {
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-remap-async-to-generator": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.5"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz",
- "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz",
+ "integrity": "sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz",
- "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz",
+ "integrity": "sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz",
- "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz",
+ "integrity": "sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==",
"requires": {
"@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-environment-visitor": "^7.16.5",
"@babel/helper-function-name": "^7.16.0",
"@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-replace-supers": "^7.16.5",
"@babel/helper-split-export-declaration": "^7.16.0",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz",
- "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz",
+ "integrity": "sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz",
- "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz",
+ "integrity": "sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz",
- "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz",
+ "integrity": "sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz",
- "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz",
+ "integrity": "sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz",
- "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz",
+ "integrity": "sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==",
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz",
- "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz",
+ "integrity": "sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz",
- "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz",
+ "integrity": "sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==",
"requires": {
"@babel/helper-function-name": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz",
- "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz",
+ "integrity": "sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz",
- "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz",
+ "integrity": "sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz",
- "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz",
+ "integrity": "sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==",
"requires": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz",
- "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz",
+ "integrity": "sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==",
"requires": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-simple-access": "^7.16.0",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz",
- "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz",
+ "integrity": "sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==",
"requires": {
"@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-identifier": "^7.15.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz",
- "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz",
+ "integrity": "sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==",
"requires": {
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz",
- "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz",
+ "integrity": "sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz",
- "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz",
+ "integrity": "sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz",
- "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz",
+ "integrity": "sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.16.5",
+ "@babel/helper-replace-supers": "^7.16.5"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz",
- "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz",
+ "integrity": "sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz",
- "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz",
+ "integrity": "sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz",
- "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz",
+ "integrity": "sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==",
"requires": {
"regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz",
- "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz",
+ "integrity": "sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-runtime": {
@@ -9796,44 +9798,44 @@
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz",
- "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz",
+ "integrity": "sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz",
- "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz",
+ "integrity": "sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz",
- "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz",
+ "integrity": "sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz",
- "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz",
+ "integrity": "sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz",
- "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz",
+ "integrity": "sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-typescript": {
@@ -9847,48 +9849,48 @@
}
},
"@babel/plugin-transform-unicode-escapes": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz",
- "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz",
+ "integrity": "sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz",
- "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz",
+ "integrity": "sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==",
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.5"
}
},
"@babel/preset-env": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz",
- "integrity": "sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.5.tgz",
+ "integrity": "sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==",
"requires": {
"@babel/compat-data": "^7.16.4",
"@babel/helper-compilation-targets": "^7.16.3",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-option": "^7.14.5",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.4",
- "@babel/plugin-proposal-class-properties": "^7.16.0",
- "@babel/plugin-proposal-class-static-block": "^7.16.0",
- "@babel/plugin-proposal-dynamic-import": "^7.16.0",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.0",
- "@babel/plugin-proposal-json-strings": "^7.16.0",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
- "@babel/plugin-proposal-numeric-separator": "^7.16.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.0",
- "@babel/plugin-proposal-optional-chaining": "^7.16.0",
- "@babel/plugin-proposal-private-methods": "^7.16.0",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.16.5",
+ "@babel/plugin-proposal-class-properties": "^7.16.5",
+ "@babel/plugin-proposal-class-static-block": "^7.16.5",
+ "@babel/plugin-proposal-dynamic-import": "^7.16.5",
+ "@babel/plugin-proposal-export-namespace-from": "^7.16.5",
+ "@babel/plugin-proposal-json-strings": "^7.16.5",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.16.5",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5",
+ "@babel/plugin-proposal-numeric-separator": "^7.16.5",
+ "@babel/plugin-proposal-object-rest-spread": "^7.16.5",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.16.5",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.5",
+ "@babel/plugin-proposal-private-methods": "^7.16.5",
+ "@babel/plugin-proposal-private-property-in-object": "^7.16.5",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.16.5",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
@@ -9903,38 +9905,38 @@
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.0",
- "@babel/plugin-transform-async-to-generator": "^7.16.0",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.0",
- "@babel/plugin-transform-block-scoping": "^7.16.0",
- "@babel/plugin-transform-classes": "^7.16.0",
- "@babel/plugin-transform-computed-properties": "^7.16.0",
- "@babel/plugin-transform-destructuring": "^7.16.0",
- "@babel/plugin-transform-dotall-regex": "^7.16.0",
- "@babel/plugin-transform-duplicate-keys": "^7.16.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.0",
- "@babel/plugin-transform-for-of": "^7.16.0",
- "@babel/plugin-transform-function-name": "^7.16.0",
- "@babel/plugin-transform-literals": "^7.16.0",
- "@babel/plugin-transform-member-expression-literals": "^7.16.0",
- "@babel/plugin-transform-modules-amd": "^7.16.0",
- "@babel/plugin-transform-modules-commonjs": "^7.16.0",
- "@babel/plugin-transform-modules-systemjs": "^7.16.0",
- "@babel/plugin-transform-modules-umd": "^7.16.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0",
- "@babel/plugin-transform-new-target": "^7.16.0",
- "@babel/plugin-transform-object-super": "^7.16.0",
- "@babel/plugin-transform-parameters": "^7.16.3",
- "@babel/plugin-transform-property-literals": "^7.16.0",
- "@babel/plugin-transform-regenerator": "^7.16.0",
- "@babel/plugin-transform-reserved-words": "^7.16.0",
- "@babel/plugin-transform-shorthand-properties": "^7.16.0",
- "@babel/plugin-transform-spread": "^7.16.0",
- "@babel/plugin-transform-sticky-regex": "^7.16.0",
- "@babel/plugin-transform-template-literals": "^7.16.0",
- "@babel/plugin-transform-typeof-symbol": "^7.16.0",
- "@babel/plugin-transform-unicode-escapes": "^7.16.0",
- "@babel/plugin-transform-unicode-regex": "^7.16.0",
+ "@babel/plugin-transform-arrow-functions": "^7.16.5",
+ "@babel/plugin-transform-async-to-generator": "^7.16.5",
+ "@babel/plugin-transform-block-scoped-functions": "^7.16.5",
+ "@babel/plugin-transform-block-scoping": "^7.16.5",
+ "@babel/plugin-transform-classes": "^7.16.5",
+ "@babel/plugin-transform-computed-properties": "^7.16.5",
+ "@babel/plugin-transform-destructuring": "^7.16.5",
+ "@babel/plugin-transform-dotall-regex": "^7.16.5",
+ "@babel/plugin-transform-duplicate-keys": "^7.16.5",
+ "@babel/plugin-transform-exponentiation-operator": "^7.16.5",
+ "@babel/plugin-transform-for-of": "^7.16.5",
+ "@babel/plugin-transform-function-name": "^7.16.5",
+ "@babel/plugin-transform-literals": "^7.16.5",
+ "@babel/plugin-transform-member-expression-literals": "^7.16.5",
+ "@babel/plugin-transform-modules-amd": "^7.16.5",
+ "@babel/plugin-transform-modules-commonjs": "^7.16.5",
+ "@babel/plugin-transform-modules-systemjs": "^7.16.5",
+ "@babel/plugin-transform-modules-umd": "^7.16.5",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5",
+ "@babel/plugin-transform-new-target": "^7.16.5",
+ "@babel/plugin-transform-object-super": "^7.16.5",
+ "@babel/plugin-transform-parameters": "^7.16.5",
+ "@babel/plugin-transform-property-literals": "^7.16.5",
+ "@babel/plugin-transform-regenerator": "^7.16.5",
+ "@babel/plugin-transform-reserved-words": "^7.16.5",
+ "@babel/plugin-transform-shorthand-properties": "^7.16.5",
+ "@babel/plugin-transform-spread": "^7.16.5",
+ "@babel/plugin-transform-sticky-regex": "^7.16.5",
+ "@babel/plugin-transform-template-literals": "^7.16.5",
+ "@babel/plugin-transform-typeof-symbol": "^7.16.5",
+ "@babel/plugin-transform-unicode-escapes": "^7.16.5",
+ "@babel/plugin-transform-unicode-regex": "^7.16.5",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.16.0",
"babel-plugin-polyfill-corejs2": "^0.3.0",
diff --git a/web/package.json b/web/package.json
index fec41017a..e7b033c54 100644
--- a/web/package.json
+++ b/web/package.json
@@ -48,7 +48,7 @@
"@babel/core": "^7.16.0",
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
- "@babel/preset-env": "^7.16.4",
+ "@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.0",
"@fortawesome/fontawesome-free": "^5.15.4",
"@goauthentik/api": "^2021.10.4-1639438851",
From 68c1df2d390a4e0048a170362b074a836f34da33 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:30:35 +0100
Subject: [PATCH 39/80] build(deps): bump @rollup/plugin-node-resolve in /web
(#1924)
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 9444a3d1a..730bfde93 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -26,7 +26,7 @@
"@polymer/paper-input": "^3.2.1",
"@rollup/plugin-babel": "^5.3.0",
"@rollup/plugin-commonjs": "^21.0.1",
- "@rollup/plugin-node-resolve": "^13.0.6",
+ "@rollup/plugin-node-resolve": "^13.1.1",
"@rollup/plugin-replace": "^3.0.0",
"@rollup/plugin-typescript": "^8.3.0",
"@sentry/browser": "^6.16.1",
@@ -2313,9 +2313,9 @@
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/@rollup/plugin-node-resolve": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.6.tgz",
- "integrity": "sha512-sFsPDMPd4gMqnh2gS0uIxELnoRUp5kBl5knxD2EO0778G1oOJv4G1vyT2cpWz75OU2jDVcXhjVUuTAczGyFNKA==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz",
+ "integrity": "sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw==",
"dependencies": {
"@rollup/pluginutils": "^3.1.0",
"@types/resolve": "1.17.1",
@@ -10538,9 +10538,9 @@
}
},
"@rollup/plugin-node-resolve": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.6.tgz",
- "integrity": "sha512-sFsPDMPd4gMqnh2gS0uIxELnoRUp5kBl5knxD2EO0778G1oOJv4G1vyT2cpWz75OU2jDVcXhjVUuTAczGyFNKA==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz",
+ "integrity": "sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw==",
"requires": {
"@rollup/pluginutils": "^3.1.0",
"@types/resolve": "1.17.1",
diff --git a/web/package.json b/web/package.json
index e7b033c54..7d55a9755 100644
--- a/web/package.json
+++ b/web/package.json
@@ -62,7 +62,7 @@
"@polymer/paper-input": "^3.2.1",
"@rollup/plugin-babel": "^5.3.0",
"@rollup/plugin-commonjs": "^21.0.1",
- "@rollup/plugin-node-resolve": "^13.0.6",
+ "@rollup/plugin-node-resolve": "^13.1.1",
"@rollup/plugin-replace": "^3.0.0",
"@rollup/plugin-typescript": "^8.3.0",
"@sentry/browser": "^6.16.1",
From 5cc75cb25c689b24750630f8042cd84bc3a6a7e9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:31:04 +0100
Subject: [PATCH 40/80] build(deps): bump @typescript-eslint/parser from 5.6.0
to 5.7.0 in /web (#1923)
---
web/package-lock.json | 318 +++++++-----------------------------------
web/package.json | 2 +-
2 files changed, 48 insertions(+), 272 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 730bfde93..c1fc47bf0 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -37,7 +37,7 @@
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
"@typescript-eslint/eslint-plugin": "^5.7.0",
- "@typescript-eslint/parser": "^5.6.0",
+ "@typescript-eslint/parser": "^5.7.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
"base64-js": "^1.5.1",
@@ -2826,58 +2826,6 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
- "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
- "dependencies": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
- "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
- "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
- "dependencies": {
- "@typescript-eslint/types": "5.7.0",
- "eslint-visitor-keys": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -2923,106 +2871,14 @@
"eslint": "*"
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
- "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
- "dependencies": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
- "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
- "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
- "dependencies": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
- "is-glob": "^4.0.3",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
- "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
- "dependencies": {
- "@typescript-eslint/types": "5.7.0",
- "eslint-visitor-keys": "^3.0.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@typescript-eslint/parser": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz",
- "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.7.0.tgz",
+ "integrity": "sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g==",
"dependencies": {
- "@typescript-eslint/scope-manager": "5.6.0",
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/typescript-estree": "5.6.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/typescript-estree": "5.7.0",
"debug": "^4.3.2"
},
"engines": {
@@ -3042,12 +2898,12 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz",
- "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
"dependencies": {
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/visitor-keys": "5.6.0"
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3058,9 +2914,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz",
- "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -3070,12 +2926,12 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz",
- "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
+ "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
"dependencies": {
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/visitor-keys": "5.6.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -3110,11 +2966,11 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz",
- "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
"dependencies": {
- "@typescript-eslint/types": "5.6.0",
+ "@typescript-eslint/types": "5.7.0",
"eslint-visitor-keys": "^3.0.0"
},
"engines": {
@@ -10978,34 +10834,6 @@
"tsutils": "^3.21.0"
},
"dependencies": {
- "@typescript-eslint/scope-manager": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
- "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
- "requires": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
- "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA=="
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
- "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
- "requires": {
- "@typescript-eslint/types": "5.7.0",
- "eslint-visitor-keys": "^3.0.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
- },
"ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -11032,92 +10860,40 @@
"@typescript-eslint/typescript-estree": "5.7.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
- },
- "dependencies": {
- "@typescript-eslint/scope-manager": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
- "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
- "requires": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
- "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA=="
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
- "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
- "requires": {
- "@typescript-eslint/types": "5.7.0",
- "@typescript-eslint/visitor-keys": "5.7.0",
- "debug": "^4.3.2",
- "globby": "^11.0.4",
- "is-glob": "^4.0.3",
- "semver": "^7.3.5",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
- "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
- "requires": {
- "@typescript-eslint/types": "5.7.0",
- "eslint-visitor-keys": "^3.0.0"
- }
- },
- "eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA=="
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
}
},
"@typescript-eslint/parser": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.6.0.tgz",
- "integrity": "sha512-YVK49NgdUPQ8SpCZaOpiq1kLkYRPMv9U5gcMrywzI8brtwZjr/tG3sZpuHyODt76W/A0SufNjYt9ZOgrC4tLIQ==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.7.0.tgz",
+ "integrity": "sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g==",
"requires": {
- "@typescript-eslint/scope-manager": "5.6.0",
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/typescript-estree": "5.6.0",
+ "@typescript-eslint/scope-manager": "5.7.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/typescript-estree": "5.7.0",
"debug": "^4.3.2"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.6.0.tgz",
- "integrity": "sha512-1U1G77Hw2jsGWVsO2w6eVCbOg0HZ5WxL/cozVSTfqnL/eB9muhb8THsP0G3w+BB5xAHv9KptwdfYFAUfzcIh4A==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz",
+ "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==",
"requires": {
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/visitor-keys": "5.6.0"
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0"
}
},
"@typescript-eslint/types": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.6.0.tgz",
- "integrity": "sha512-OIZffked7mXv4mXzWU5MgAEbCf9ecNJBKi+Si6/I9PpTaj+cf2x58h2oHW5/P/yTnPkKaayfjhLvx+crnl5ubA=="
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz",
+ "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA=="
},
"@typescript-eslint/typescript-estree": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.6.0.tgz",
- "integrity": "sha512-92vK5tQaE81rK7fOmuWMrSQtK1IMonESR+RJR2Tlc7w4o0MeEdjgidY/uO2Gobh7z4Q1hhS94Cr7r021fMVEeA==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz",
+ "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==",
"requires": {
- "@typescript-eslint/types": "5.6.0",
- "@typescript-eslint/visitor-keys": "5.6.0",
+ "@typescript-eslint/types": "5.7.0",
+ "@typescript-eslint/visitor-keys": "5.7.0",
"debug": "^4.3.2",
"globby": "^11.0.4",
"is-glob": "^4.0.3",
@@ -11136,11 +10912,11 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.6.0.tgz",
- "integrity": "sha512-1p7hDp5cpRFUyE3+lvA74egs+RWSgumrBpzBCDzfTFv0aQ7lIeay80yU0hIxgAhwQ6PcasW35kaOCyDOv6O/Ng==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz",
+ "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==",
"requires": {
- "@typescript-eslint/types": "5.6.0",
+ "@typescript-eslint/types": "5.7.0",
"eslint-visitor-keys": "^3.0.0"
},
"dependencies": {
diff --git a/web/package.json b/web/package.json
index 7d55a9755..1a3797369 100644
--- a/web/package.json
+++ b/web/package.json
@@ -73,7 +73,7 @@
"@types/codemirror": "5.60.5",
"@types/grecaptcha": "^3.0.3",
"@typescript-eslint/eslint-plugin": "^5.7.0",
- "@typescript-eslint/parser": "^5.6.0",
+ "@typescript-eslint/parser": "^5.7.0",
"@webcomponents/webcomponentsjs": "^2.6.0",
"babel-plugin-macros": "^3.1.0",
"base64-js": "^1.5.1",
From f5991b19bee64da51b570c0003ab27aa7ec074e9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:31:19 +0100
Subject: [PATCH 41/80] build(deps): bump @babel/preset-typescript from 7.16.0
to 7.16.5 in /web (#1925)
---
web/package-lock.json | 22 +++++++++++-----------
web/package.json | 2 +-
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index c1fc47bf0..5494eac69 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -13,7 +13,7 @@
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
"@babel/preset-env": "^7.16.5",
- "@babel/preset-typescript": "^7.16.0",
+ "@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
"@goauthentik/api": "^2021.10.4-1639438851",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
@@ -1569,13 +1569,13 @@
}
},
"node_modules/@babel/preset-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz",
- "integrity": "sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.5.tgz",
+ "integrity": "sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-transform-typescript": "^7.16.0"
+ "@babel/plugin-transform-typescript": "^7.16.1"
},
"engines": {
"node": ">=6.9.0"
@@ -9815,13 +9815,13 @@
}
},
"@babel/preset-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz",
- "integrity": "sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.5.tgz",
+ "integrity": "sha512-lmAWRoJ9iOSvs3DqOndQpj8XqXkzaiQs50VG/zESiI9D3eoZhGriU675xNCr0UwvsuXrhMAGvyk1w+EVWF3u8Q==",
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"@babel/helper-validator-option": "^7.14.5",
- "@babel/plugin-transform-typescript": "^7.16.0"
+ "@babel/plugin-transform-typescript": "^7.16.1"
}
},
"@babel/runtime": {
diff --git a/web/package.json b/web/package.json
index 1a3797369..1b36f2a1a 100644
--- a/web/package.json
+++ b/web/package.json
@@ -49,7 +49,7 @@
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.4",
"@babel/preset-env": "^7.16.5",
- "@babel/preset-typescript": "^7.16.0",
+ "@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
"@goauthentik/api": "^2021.10.4-1639438851",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
From 2afd46e1df3f9e00bc7808c76075743415a860ef Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:31:28 +0100
Subject: [PATCH 42/80] build(deps): bump @babel/plugin-transform-runtime in
/web (#1922)
---
web/package-lock.json | 18 +++++++++---------
web/package.json | 2 +-
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 5494eac69..c31ce411b 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -11,7 +11,7 @@
"dependencies": {
"@babel/core": "^7.16.0",
"@babel/plugin-proposal-decorators": "^7.16.5",
- "@babel/plugin-transform-runtime": "^7.16.4",
+ "@babel/plugin-transform-runtime": "^7.16.5",
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
@@ -1332,12 +1332,12 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz",
- "integrity": "sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz",
+ "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==",
"dependencies": {
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"babel-plugin-polyfill-corejs2": "^0.3.0",
"babel-plugin-polyfill-corejs3": "^0.4.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
@@ -9641,12 +9641,12 @@
}
},
"@babel/plugin-transform-runtime": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz",
- "integrity": "sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz",
+ "integrity": "sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==",
"requires": {
"@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.5",
"babel-plugin-polyfill-corejs2": "^0.3.0",
"babel-plugin-polyfill-corejs3": "^0.4.0",
"babel-plugin-polyfill-regenerator": "^0.3.0",
diff --git a/web/package.json b/web/package.json
index 1b36f2a1a..51791cb76 100644
--- a/web/package.json
+++ b/web/package.json
@@ -47,7 +47,7 @@
"dependencies": {
"@babel/core": "^7.16.0",
"@babel/plugin-proposal-decorators": "^7.16.5",
- "@babel/plugin-transform-runtime": "^7.16.4",
+ "@babel/plugin-transform-runtime": "^7.16.5",
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
From 28e4dba3e8645350b6fc62c570739bb91dc8e5a2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:31:36 +0100
Subject: [PATCH 43/80] build(deps): bump @babel/core from 7.16.0 to 7.16.5 in
/web (#1929)
---
web/package-lock.json | 54 +++++++++++++++++++++----------------------
web/package.json | 2 +-
2 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index c31ce411b..c62d1ff2a 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -9,7 +9,7 @@
"version": "0.0.0",
"license": "GNU GPLv3",
"dependencies": {
- "@babel/core": "^7.16.0",
+ "@babel/core": "^7.16.5",
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.5",
"@babel/preset-env": "^7.16.5",
@@ -96,18 +96,18 @@
}
},
"node_modules/@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz",
+ "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==",
"dependencies": {
"@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
+ "@babel/generator": "^7.16.5",
+ "@babel/helper-compilation-targets": "^7.16.3",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helpers": "^7.16.5",
+ "@babel/parser": "^7.16.5",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
@@ -438,12 +438,12 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz",
- "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz",
+ "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==",
"dependencies": {
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
},
"engines": {
@@ -8835,18 +8835,18 @@
"integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q=="
},
"@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz",
+ "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==",
"requires": {
"@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
+ "@babel/generator": "^7.16.5",
+ "@babel/helper-compilation-targets": "^7.16.3",
+ "@babel/helper-module-transforms": "^7.16.5",
+ "@babel/helpers": "^7.16.5",
+ "@babel/parser": "^7.16.5",
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
@@ -9086,12 +9086,12 @@
}
},
"@babel/helpers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz",
- "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==",
+ "version": "7.16.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz",
+ "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==",
"requires": {
"@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
+ "@babel/traverse": "^7.16.5",
"@babel/types": "^7.16.0"
}
},
diff --git a/web/package.json b/web/package.json
index 51791cb76..41c4a1987 100644
--- a/web/package.json
+++ b/web/package.json
@@ -45,7 +45,7 @@
]
},
"dependencies": {
- "@babel/core": "^7.16.0",
+ "@babel/core": "^7.16.5",
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/plugin-transform-runtime": "^7.16.5",
"@babel/preset-env": "^7.16.5",
From 9f53c359dd654e26ff7fcf1aeb42b5dd1a0318ca Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 08:31:56 +0100
Subject: [PATCH 44/80] build(deps): bump typescript from 4.5.3 to 4.5.4 in
/web (#1926)
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index c62d1ff2a..e3bc4348f 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -63,7 +63,7 @@
"rollup-plugin-terser": "^7.0.2",
"ts-lit-plugin": "^1.2.1",
"tslib": "^2.3.1",
- "typescript": "^4.5.3",
+ "typescript": "^4.5.4",
"webcomponent-qr-code": "^1.0.5",
"yaml": "^1.10.2"
}
@@ -8346,9 +8346,9 @@
}
},
"node_modules/typescript": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz",
- "integrity": "sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
+ "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -14943,9 +14943,9 @@
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="
},
"typescript": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz",
- "integrity": "sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ=="
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
+ "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg=="
},
"uglify-js": {
"version": "3.14.1",
diff --git a/web/package.json b/web/package.json
index 41c4a1987..8ad95b6cd 100644
--- a/web/package.json
+++ b/web/package.json
@@ -99,7 +99,7 @@
"rollup-plugin-terser": "^7.0.2",
"ts-lit-plugin": "^1.2.1",
"tslib": "^2.3.1",
- "typescript": "^4.5.3",
+ "typescript": "^4.5.4",
"webcomponent-qr-code": "^1.0.5",
"yaml": "^1.10.2"
}
From 0131b1f6cc4d1a8b2ba6493725cdb2f13597b126 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 09:34:47 +0100
Subject: [PATCH 45/80] sources/oauth: fix wrong redirect URL being generated
Signed-off-by: Jens Langhammer
---
authentik/sources/oauth/types/manager.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/authentik/sources/oauth/types/manager.py b/authentik/sources/oauth/types/manager.py
index b70171207..d88215dca 100644
--- a/authentik/sources/oauth/types/manager.py
+++ b/authentik/sources/oauth/types/manager.py
@@ -49,7 +49,7 @@ class SourceType:
"type": ChallengeTypes.REDIRECT.value,
"to": reverse(
"authentik_sources_oauth:oauth-client-login",
- kwargs={"source_slug": self.slug},
+ kwargs={"source_slug": source.slug},
),
}
)
From aa6b59554598c80bdb75249bd32dcdc452df0095 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 09:45:36 +0100
Subject: [PATCH 46/80] root: bump python dependencies
Signed-off-by: Jens Langhammer
---
Pipfile.lock | 148 ++++++++++++++++++++++++++-------------------------
1 file changed, 76 insertions(+), 72 deletions(-)
diff --git a/Pipfile.lock b/Pipfile.lock
index e2f1b3a50..aff0e12ec 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -169,19 +169,19 @@
},
"boto3": {
"hashes": [
- "sha256:76b3ee0d1dd860c9218bc864cd29f1ee986f6e1e75e8669725dd3c411039379e",
- "sha256:c39cb6ed376ba1d4689ac8f6759a2b2d8a0b0424dbec0cd3af1558079bcf06e8"
+ "sha256:739705b28e6b2329ea3b481ba801d439c296aaf176f7850729147ba99bbf8a9a",
+ "sha256:8f08e8e94bf107c5e9866684e9aadf8d9f60abed0cfe5c1dba4e7328674a1986"
],
"index": "pypi",
- "version": "==1.20.23"
+ "version": "==1.20.24"
},
"botocore": {
"hashes": [
- "sha256:640b62110aa6d1c25553eceafb5bcd89aedeb84b191598d1f6492ad24374d285",
- "sha256:7459766c4594f3b8877e8013f93f0dc6c6486acbeb7d9c9ae488396529cc2e84"
+ "sha256:43006b4f52d7bb655319d3da0f615cdbee7762853acc1ebcb1d49f962e6b4806",
+ "sha256:e78d48c50c8c013fb9b362c6202fece2fe868edfd89b51968080180bdff41617"
],
"markers": "python_version >= '3.6'",
- "version": "==1.23.23"
+ "version": "==1.23.24"
},
"cachetools": {
"hashes": [
@@ -816,69 +816,69 @@
},
"lxml": {
"hashes": [
- "sha256:11ae552a78612620afd15625be9f1b82e3cc2e634f90d6b11709b10a100cba59",
- "sha256:121fc6f71c692b49af6c963b84ab7084402624ffbe605287da362f8af0668ea3",
- "sha256:124f09614f999551ac65e5b9875981ce4b66ac4b8e2ba9284572f741935df3d9",
- "sha256:12ae2339d32a2b15010972e1e2467345b7bf962e155671239fba74c229564b7f",
- "sha256:12d8d6fe3ddef629ac1349fa89a638b296a34b6529573f5055d1cb4e5245f73b",
- "sha256:1a2a7659b8eb93c6daee350a0d844994d49245a0f6c05c747f619386fb90ba04",
- "sha256:1ccbfe5d17835db906f2bab6f15b34194db1a5b07929cba3cf45a96dbfbfefc0",
- "sha256:2f77556266a8fe5428b8759fbfc4bd70be1d1d9c9b25d2a414f6a0c0b0f09120",
- "sha256:3534d7c468c044f6aef3c0aff541db2826986a29ea73f2ca831f5d5284d9b570",
- "sha256:3884476a90d415be79adfa4e0e393048630d0d5bcd5757c4c07d8b4b00a1096b",
- "sha256:3b95fb7e6f9c2f53db88f4642231fc2b8907d854e614710996a96f1f32018d5c",
- "sha256:46515773570a33eae13e451c8fcf440222ef24bd3b26f40774dd0bd8b6db15b2",
- "sha256:46f21f2600d001af10e847df9eb3b832e8a439f696c04891bcb8a8cedd859af9",
- "sha256:473701599665d874919d05bb33b56180447b3a9da8d52d6d9799f381ce23f95c",
- "sha256:4b9390bf973e3907d967b75be199cf1978ca8443183cf1e78ad80ad8be9cf242",
- "sha256:4f415624cf8b065796649a5e4621773dc5c9ea574a944c76a7f8a6d3d2906b41",
- "sha256:534032a5ceb34bba1da193b7d386ac575127cc39338379f39a164b10d97ade89",
- "sha256:558485218ee06458643b929765ac1eb04519ca3d1e2dcc288517de864c747c33",
- "sha256:57cf05466917e08f90e323f025b96f493f92c0344694f5702579ab4b7e2eb10d",
- "sha256:59d77bfa3bea13caee95bc0d3f1c518b15049b97dd61ea8b3d71ce677a67f808",
- "sha256:5d5254c815c186744c8f922e2ce861a2bdeabc06520b4b30b2f7d9767791ce6e",
- "sha256:5ea121cb66d7e5cb396b4c3ca90471252b94e01809805cfe3e4e44be2db3a99c",
- "sha256:60aeb14ff9022d2687ef98ce55f6342944c40d00916452bb90899a191802137a",
- "sha256:642eb4cabd997c9b949a994f9643cd8ae00cf4ca8c5cd9c273962296fadf1c44",
- "sha256:6548fc551de15f310dd0564751d9dc3d405278d45ea9b2b369ed1eccf142e1f5",
- "sha256:68a851176c931e2b3de6214347b767451243eeed3bea34c172127bbb5bf6c210",
- "sha256:6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca",
- "sha256:73e8614258404b2689a26cb5d002512b8bc4dfa18aca86382f68f959aee9b0c8",
- "sha256:7679bb6e4d9a3978a46ab19a3560e8d2b7265ef3c88152e7fdc130d649789887",
- "sha256:76b6c296e4f7a1a8a128aec42d128646897f9ae9a700ef6839cdc9b3900db9b5",
- "sha256:7f00cc64b49d2ef19ddae898a3def9dd8fda9c3d27c8a174c2889ee757918e71",
- "sha256:8021eeff7fabde21b9858ed058a8250ad230cede91764d598c2466b0ba70db8b",
- "sha256:87f8f7df70b90fbe7b49969f07b347e3f978f8bd1046bb8ecae659921869202b",
- "sha256:916d457ad84e05b7db52700bad0a15c56e0c3000dcaf1263b2fb7a56fe148996",
- "sha256:925174cafb0f1179a7fd38da90302555d7445e34c9ece68019e53c946be7f542",
- "sha256:9801bcd52ac9c795a7d81ea67471a42cffe532e46cfb750cd5713befc5c019c0",
- "sha256:99cf827f5a783038eb313beee6533dddb8bdb086d7269c5c144c1c952d142ace",
- "sha256:a21b78af7e2e13bec6bea12fc33bc05730197674f3e5402ce214d07026ccfebd",
- "sha256:a52e8f317336a44836475e9c802f51c2dc38d612eaa76532cb1d17690338b63b",
- "sha256:a702005e447d712375433ed0499cb6e1503fadd6c96a47f51d707b4d37b76d3c",
- "sha256:a708c291900c40a7ecf23f1d2384ed0bc0604e24094dd13417c7e7f8f7a50d93",
- "sha256:a7790a273225b0c46e5f859c1327f0f659896cc72eaa537d23aa3ad9ff2a1cc1",
- "sha256:abcf7daa5ebcc89328326254f6dd6d566adb483d4d00178892afd386ab389de2",
- "sha256:add017c5bd6b9ec3a5f09248396b6ee2ce61c5621f087eb2269c813cd8813808",
- "sha256:af4139172ff0263d269abdcc641e944c9de4b5d660894a3ec7e9f9db63b56ac9",
- "sha256:b4015baed99d046c760f09a4c59d234d8f398a454380c3cf0b859aba97136090",
- "sha256:ba0006799f21d83c3717fe20e2707a10bbc296475155aadf4f5850f6659b96b9",
- "sha256:bdb98f4c9e8a1735efddfaa995b0c96559792da15d56b76428bdfc29f77c4cdb",
- "sha256:c34234a1bc9e466c104372af74d11a9f98338a3f72fae22b80485171a64e0144",
- "sha256:c580c2a61d8297a6e47f4d01f066517dbb019be98032880d19ece7f337a9401d",
- "sha256:ca9a40497f7e97a2a961c04fa8a6f23d790b0521350a8b455759d786b0bcb203",
- "sha256:cab343b265e38d4e00649cbbad9278b734c5715f9bcbb72c85a1f99b1a58e19a",
- "sha256:ce52aad32ec6e46d1a91ff8b8014a91538800dd533914bfc4a82f5018d971408",
- "sha256:da07c7e7fc9a3f40446b78c54dbba8bfd5c9100dfecb21b65bfe3f57844f5e71",
- "sha256:dc8a0dbb2a10ae8bb609584f5c504789f0f3d0d81840da4849102ec84289f952",
- "sha256:e5b4b0d9440046ead3bd425eb2b852499241ee0cef1ae151038e4f87ede888c4",
- "sha256:f33d8efb42e4fc2b31b3b4527940b25cdebb3026fb56a80c1c1c11a4271d2352",
- "sha256:f6befb83bca720b71d6bd6326a3b26e9496ae6649e26585de024890fe50f49b8",
- "sha256:fcc849b28f584ed1dbf277291ded5c32bb3476a37032df4a1d523b55faa5f944",
- "sha256:ff44de36772b05c2eb74f2b4b6d1ae29b8f41ed5506310ce1258d44826ee38c1"
+ "sha256:0607ff0988ad7e173e5ddf7bf55ee65534bd18a5461183c33e8e41a59e89edf4",
+ "sha256:09b738360af8cb2da275998a8bf79517a71225b0de41ab47339c2beebfff025f",
+ "sha256:0a5f0e4747f31cff87d1eb32a6000bde1e603107f632ef4666be0dc065889c7a",
+ "sha256:0b5e96e25e70917b28a5391c2ed3ffc6156513d3db0e1476c5253fcd50f7a944",
+ "sha256:1104a8d47967a414a436007c52f533e933e5d52574cab407b1e49a4e9b5ddbd1",
+ "sha256:13dbb5c7e8f3b6a2cf6e10b0948cacb2f4c9eb05029fe31c60592d08ac63180d",
+ "sha256:2a906c3890da6a63224d551c2967413b8790a6357a80bf6b257c9a7978c2c42d",
+ "sha256:317bd63870b4d875af3c1be1b19202de34c32623609ec803b81c99193a788c1e",
+ "sha256:34c22eb8c819d59cec4444d9eebe2e38b95d3dcdafe08965853f8799fd71161d",
+ "sha256:36b16fecb10246e599f178dd74f313cbdc9f41c56e77d52100d1361eed24f51a",
+ "sha256:38d9759733aa04fb1697d717bfabbedb21398046bd07734be7cccc3d19ea8675",
+ "sha256:3e26ad9bc48d610bf6cc76c506b9e5ad9360ed7a945d9be3b5b2c8535a0145e3",
+ "sha256:41358bfd24425c1673f184d7c26c6ae91943fe51dfecc3603b5e08187b4bcc55",
+ "sha256:447d5009d6b5447b2f237395d0018901dcc673f7d9f82ba26c1b9f9c3b444b60",
+ "sha256:44f552e0da3c8ee3c28e2eb82b0b784200631687fc6a71277ea8ab0828780e7d",
+ "sha256:490712b91c65988012e866c411a40cc65b595929ececf75eeb4c79fcc3bc80a6",
+ "sha256:4c093c571bc3da9ebcd484e001ba18b8452903cd428c0bc926d9b0141bcb710e",
+ "sha256:50d3dba341f1e583265c1a808e897b4159208d814ab07530202b6036a4d86da5",
+ "sha256:534e946bce61fd162af02bad7bfd2daec1521b71d27238869c23a672146c34a5",
+ "sha256:585ea241ee4961dc18a95e2f5581dbc26285fcf330e007459688096f76be8c42",
+ "sha256:59e7da839a1238807226f7143c68a479dee09244d1b3cf8c134f2fce777d12d0",
+ "sha256:5b0f782f0e03555c55e37d93d7a57454efe7495dab33ba0ccd2dbe25fc50f05d",
+ "sha256:5bee1b0cbfdb87686a7fb0e46f1d8bd34d52d6932c0723a86de1cc532b1aa489",
+ "sha256:610807cea990fd545b1559466971649e69302c8a9472cefe1d6d48a1dee97440",
+ "sha256:6308062534323f0d3edb4e702a0e26a76ca9e0e23ff99be5d82750772df32a9e",
+ "sha256:67fa5f028e8a01e1d7944a9fb616d1d0510d5d38b0c41708310bd1bc45ae89f6",
+ "sha256:6a2ab9d089324d77bb81745b01f4aeffe4094306d939e92ba5e71e9a6b99b71e",
+ "sha256:6c198bfc169419c09b85ab10cb0f572744e686f40d1e7f4ed09061284fc1303f",
+ "sha256:6e56521538f19c4a6690f439fefed551f0b296bd785adc67c1777c348beb943d",
+ "sha256:6ec829058785d028f467be70cd195cd0aaf1a763e4d09822584ede8c9eaa4b03",
+ "sha256:718d7208b9c2d86aaf0294d9381a6acb0158b5ff0f3515902751404e318e02c9",
+ "sha256:735e3b4ce9c0616e85f302f109bdc6e425ba1670a73f962c9f6b98a6d51b77c9",
+ "sha256:772057fba283c095db8c8ecde4634717a35c47061d24f889468dc67190327bcd",
+ "sha256:7b5e2acefd33c259c4a2e157119c4373c8773cf6793e225006a1649672ab47a6",
+ "sha256:82d16a64236970cb93c8d63ad18c5b9f138a704331e4b916b2737ddfad14e0c4",
+ "sha256:87c1b0496e8c87ec9db5383e30042357b4839b46c2d556abd49ec770ce2ad868",
+ "sha256:8e54945dd2eeb50925500957c7c579df3cd07c29db7810b83cf30495d79af267",
+ "sha256:9393a05b126a7e187f3e38758255e0edf948a65b22c377414002d488221fdaa2",
+ "sha256:9fbc0dee7ff5f15c4428775e6fa3ed20003140560ffa22b88326669d53b3c0f4",
+ "sha256:a1613838aa6b89af4ba10a0f3a972836128801ed008078f8c1244e65958f1b24",
+ "sha256:a1bbc4efa99ed1310b5009ce7f3a1784698082ed2c1ef3895332f5df9b3b92c2",
+ "sha256:a555e06566c6dc167fbcd0ad507ff05fd9328502aefc963cb0a0547cfe7f00db",
+ "sha256:a58d78653ae422df6837dd4ca0036610b8cb4962b5cfdbd337b7b24de9e5f98a",
+ "sha256:a5edc58d631170de90e50adc2cc0248083541affef82f8cd93bea458e4d96db8",
+ "sha256:a5f623aeaa24f71fce3177d7fee875371345eb9102b355b882243e33e04b7175",
+ "sha256:adaab25be351fff0d8a691c4f09153647804d09a87a4e4ea2c3f9fe9e8651851",
+ "sha256:ade74f5e3a0fd17df5782896ddca7ddb998845a5f7cd4b0be771e1ffc3b9aa5b",
+ "sha256:b1d381f58fcc3e63fcc0ea4f0a38335163883267f77e4c6e22d7a30877218a0e",
+ "sha256:bf6005708fc2e2c89a083f258b97709559a95f9a7a03e59f805dd23c93bc3986",
+ "sha256:d546431636edb1d6a608b348dd58cc9841b81f4116745857b6cb9f8dadb2725f",
+ "sha256:d5618d49de6ba63fe4510bdada62d06a8acfca0b4b5c904956c777d28382b419",
+ "sha256:dfd0d464f3d86a1460683cd742306d1138b4e99b79094f4e07e1ca85ee267fe7",
+ "sha256:e18281a7d80d76b66a9f9e68a98cf7e1d153182772400d9a9ce855264d7d0ce7",
+ "sha256:e410cf3a2272d0a85526d700782a2fa92c1e304fdcc519ba74ac80b8297adf36",
+ "sha256:e662c6266e3a275bdcb6bb049edc7cd77d0b0f7e119a53101d367c841afc66dc",
+ "sha256:ec9027d0beb785a35aa9951d14e06d48cfbf876d8ff67519403a2522b181943b",
+ "sha256:eed394099a7792834f0cb4a8f615319152b9d801444c1c9e1b1a2c36d2239f9e",
+ "sha256:f76dbe44e31abf516114f6347a46fa4e7c2e8bceaa4b6f7ee3a0a03c8eba3c17",
+ "sha256:fc15874816b9320581133ddc2096b644582ab870cf6a6ed63684433e7af4b0d3",
+ "sha256:fc9fb11b65e7bc49f7f75aaba1b700f7181d95d4e151cf2f24d51bfd14410b77"
],
"index": "pypi",
- "version": "==4.6.5"
+ "version": "==4.7.1"
},
"maxminddb": {
"hashes": [
@@ -1455,7 +1455,9 @@
"version": "==4.1.1"
},
"urllib3": {
- "extras": [],
+ "extras": [
+ "secure"
+ ],
"hashes": [
"sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece",
"sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"
@@ -2385,11 +2387,11 @@
},
"tomli": {
"hashes": [
- "sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee",
- "sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade"
+ "sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f",
+ "sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c"
],
"markers": "python_version >= '3.6'",
- "version": "==1.2.2"
+ "version": "==1.2.3"
},
"trio": {
"hashes": [
@@ -2416,7 +2418,9 @@
"version": "==4.0.1"
},
"urllib3": {
- "extras": [],
+ "extras": [
+ "secure"
+ ],
"hashes": [
"sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece",
"sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"
From 4e6714fffe790bef4b59122a6f1125ecd612ef65 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 09:58:20 +0100
Subject: [PATCH 47/80] stages/authenticator_webauthn: make user_verification
configurable
closes #1921
Signed-off-by: Jens Langhammer
---
.../stages/authenticator_webauthn/api.py | 2 +-
.../stages/authenticator_webauthn/models.py | 23 +++++++++++-
.../stages/authenticator_webauthn/stage.py | 7 ++--
schema.yml | 20 +++++++++++
web/src/locales/en.po | 17 +++++++++
web/src/locales/fr_FR.po | 17 +++++++++
web/src/locales/pseudo-LOCALE.po | 17 +++++++++
.../AuthenticateWebAuthnStageForm.ts | 36 +++++++++++++++++++
8 files changed, 133 insertions(+), 6 deletions(-)
diff --git a/authentik/stages/authenticator_webauthn/api.py b/authentik/stages/authenticator_webauthn/api.py
index 7c7d4be54..57d04cbc8 100644
--- a/authentik/stages/authenticator_webauthn/api.py
+++ b/authentik/stages/authenticator_webauthn/api.py
@@ -18,7 +18,7 @@ class AuthenticateWebAuthnStageSerializer(StageSerializer):
class Meta:
model = AuthenticateWebAuthnStage
- fields = StageSerializer.Meta.fields + ["configure_flow"]
+ fields = StageSerializer.Meta.fields + ["configure_flow", "user_verification"]
class AuthenticateWebAuthnStageViewSet(UsedByMixin, ModelViewSet):
diff --git a/authentik/stages/authenticator_webauthn/models.py b/authentik/stages/authenticator_webauthn/models.py
index 708270f4a..c0439501c 100644
--- a/authentik/stages/authenticator_webauthn/models.py
+++ b/authentik/stages/authenticator_webauthn/models.py
@@ -9,15 +9,36 @@ from django.views import View
from django_otp.models import Device
from rest_framework.serializers import BaseSerializer
from webauthn.helpers.base64url_to_bytes import base64url_to_bytes
-from webauthn.helpers.structs import PublicKeyCredentialDescriptor
+from webauthn.helpers.structs import PublicKeyCredentialDescriptor, UserVerificationRequirement
from authentik.core.types import UserSettingSerializer
from authentik.flows.models import ConfigurableStage, Stage
+class UserVerification(models.TextChoices):
+ """The degree to which the Relying Party wishes to verify a user's identity.
+
+ Members:
+ `REQUIRED`: User verification must occur
+ `PREFERRED`: User verification would be great, but if not that's okay too
+ `DISCOURAGED`: User verification should not occur, but it's okay if it does
+
+ https://www.w3.org/TR/webauthn-2/#enumdef-userverificationrequirement
+ """
+
+ REQUIRED = UserVerificationRequirement.REQUIRED
+ PREFERRED = UserVerificationRequirement.PREFERRED
+ DISCOURAGED = UserVerificationRequirement.DISCOURAGED
+
+
class AuthenticateWebAuthnStage(ConfigurableStage, Stage):
"""WebAuthn stage"""
+ user_verification = models.TextField(
+ choices=UserVerification.choices,
+ default=UserVerification.PREFERRED,
+ )
+
@property
def serializer(self) -> BaseSerializer:
from authentik.stages.authenticator_webauthn.api import AuthenticateWebAuthnStageSerializer
diff --git a/authentik/stages/authenticator_webauthn/stage.py b/authentik/stages/authenticator_webauthn/stage.py
index 53a192626..d9c5a9ebb 100644
--- a/authentik/stages/authenticator_webauthn/stage.py
+++ b/authentik/stages/authenticator_webauthn/stage.py
@@ -14,7 +14,6 @@ from webauthn.helpers.structs import (
PublicKeyCredentialCreationOptions,
RegistrationCredential,
ResidentKeyRequirement,
- UserVerificationRequirement,
)
from webauthn.registration.verify_registration_response import VerifiedRegistration
@@ -27,7 +26,7 @@ from authentik.flows.challenge import (
)
from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER
from authentik.flows.stage import ChallengeStageView
-from authentik.stages.authenticator_webauthn.models import WebAuthnDevice
+from authentik.stages.authenticator_webauthn.models import AuthenticateWebAuthnStage, WebAuthnDevice
from authentik.stages.authenticator_webauthn.utils import get_origin, get_rp_id
LOGGER = get_logger()
@@ -83,7 +82,7 @@ class AuthenticatorWebAuthnStageView(ChallengeStageView):
def get_challenge(self, *args, **kwargs) -> Challenge:
# clear session variables prior to starting a new registration
self.request.session.pop("challenge", None)
-
+ stage: AuthenticateWebAuthnStage = self.executor.current_stage
user = self.get_pending_user()
registration_options: PublicKeyCredentialCreationOptions = generate_registration_options(
@@ -94,7 +93,7 @@ class AuthenticatorWebAuthnStageView(ChallengeStageView):
user_display_name=user.name,
authenticator_selection=AuthenticatorSelectionCriteria(
resident_key=ResidentKeyRequirement.PREFERRED,
- user_verification=UserVerificationRequirement.PREFERRED,
+ user_verification=str(stage.user_verification),
),
)
registration_options.user.id = user.uid
diff --git a/schema.yml b/schema.yml
index 39abf799e..782cf6a0e 100644
--- a/schema.yml
+++ b/schema.yml
@@ -15395,6 +15395,14 @@ paths:
schema:
type: string
format: uuid
+ - in: query
+ name: user_verification
+ schema:
+ type: string
+ enum:
+ - discouraged
+ - preferred
+ - required
tags:
- stages
security:
@@ -19240,6 +19248,8 @@ components:
nullable: true
description: Flow used by an authenticated user to configure this Stage.
If empty, user will not be able to configure this stage.
+ user_verification:
+ $ref: '#/components/schemas/UserVerificationEnum'
required:
- component
- meta_model_name
@@ -19264,6 +19274,8 @@ components:
nullable: true
description: Flow used by an authenticated user to configure this Stage.
If empty, user will not be able to configure this stage.
+ user_verification:
+ $ref: '#/components/schemas/UserVerificationEnum'
required:
- name
AuthenticatedSession:
@@ -26611,6 +26623,8 @@ components:
nullable: true
description: Flow used by an authenticated user to configure this Stage.
If empty, user will not be able to configure this stage.
+ user_verification:
+ $ref: '#/components/schemas/UserVerificationEnum'
PatchedAuthenticatorDuoStageRequest:
type: object
description: AuthenticatorDuoStage Serializer
@@ -31235,6 +31249,12 @@ components:
- pk
- source
- user
+ UserVerificationEnum:
+ enum:
+ - required
+ - preferred
+ - discouraged
+ type: string
UserWriteStage:
type: object
description: UserWriteStage Serializer
diff --git a/web/src/locales/en.po b/web/src/locales/en.po
index f2b8fa1d6..e30ae36a3 100644
--- a/web/src/locales/en.po
+++ b/web/src/locales/en.po
@@ -4325,6 +4325,7 @@ msgstr "Stage(s)"
#: src/pages/stages/authenticator_static/AuthenticatorStaticStageForm.ts
#: src/pages/stages/authenticator_totp/AuthenticatorTOTPStageForm.ts
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
#: src/pages/stages/captcha/CaptchaStageForm.ts
#: src/pages/stages/consent/ConsentStageForm.ts
#: src/pages/stages/email/EmailStageForm.ts
@@ -5510,6 +5511,22 @@ msgstr "User password writeback"
msgid "User status"
msgstr "User status"
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification"
+msgstr "User verification"
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification is preferred if available, but not required."
+msgstr "User verification is preferred if available, but not required."
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification must occur."
+msgstr "User verification must occur."
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification should not occur."
+msgstr "User verification should not occur."
+
#: src/pages/events/utils.ts
msgid "User was written to"
msgstr "User was written to"
diff --git a/web/src/locales/fr_FR.po b/web/src/locales/fr_FR.po
index e62b30b61..754a59ff2 100644
--- a/web/src/locales/fr_FR.po
+++ b/web/src/locales/fr_FR.po
@@ -4285,6 +4285,7 @@ msgstr "Étape(s)"
#: src/pages/stages/authenticator_static/AuthenticatorStaticStageForm.ts
#: src/pages/stages/authenticator_totp/AuthenticatorTOTPStageForm.ts
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
#: src/pages/stages/captcha/CaptchaStageForm.ts
#: src/pages/stages/consent/ConsentStageForm.ts
#: src/pages/stages/email/EmailStageForm.ts
@@ -5448,6 +5449,22 @@ msgstr "Réécriture du mot de passe utilisateur"
msgid "User status"
msgstr "Statut utilisateur"
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification"
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification is preferred if available, but not required."
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification must occur."
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification should not occur."
+msgstr ""
+
#: src/pages/events/utils.ts
msgid "User was written to"
msgstr "L'utilisateur a été écrit vers "
diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po
index 1fd9a7f09..8bc3e5c17 100644
--- a/web/src/locales/pseudo-LOCALE.po
+++ b/web/src/locales/pseudo-LOCALE.po
@@ -4315,6 +4315,7 @@ msgstr ""
#: src/pages/stages/authenticator_static/AuthenticatorStaticStageForm.ts
#: src/pages/stages/authenticator_totp/AuthenticatorTOTPStageForm.ts
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
#: src/pages/stages/captcha/CaptchaStageForm.ts
#: src/pages/stages/consent/ConsentStageForm.ts
#: src/pages/stages/email/EmailStageForm.ts
@@ -5490,6 +5491,22 @@ msgstr ""
msgid "User status"
msgstr ""
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification"
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification is preferred if available, but not required."
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification must occur."
+msgstr ""
+
+#: src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+msgid "User verification should not occur."
+msgstr ""
+
#: src/pages/events/utils.ts
msgid "User was written to"
msgstr ""
diff --git a/web/src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts b/web/src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
index 96e52921f..c1193d5b7 100644
--- a/web/src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
+++ b/web/src/pages/stages/authenticator_webauthn/AuthenticateWebAuthnStageForm.ts
@@ -1,3 +1,5 @@
+import { UserVerificationEnum } from "@goauthentik/api/dist/models/UserVerificationEnum";
+
import { t } from "@lingui/macro";
import { TemplateResult, html } from "lit";
@@ -52,6 +54,40 @@ export class AuthenticateWebAuthnStageForm extends ModelForm
+
+ ${t`Stage-specific settings`}
+
+
`;
}
}
From 47bab6c182072fb54c0c951d2ca5cba2cf0416d9 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 10:02:50 +0100
Subject: [PATCH 48/80] web: Update Web API Client version (#1932)
Signed-off-by: GitHub
Co-authored-by: BeryJu
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index e3bc4348f..41c0030c6 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -15,7 +15,7 @@
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639438851",
+ "@goauthentik/api": "^2021.10.4-1639472385",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
@@ -1723,9 +1723,9 @@
}
},
"node_modules/@goauthentik/api": {
- "version": "2021.10.4-1639438851",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639438851.tgz",
- "integrity": "sha512-EYcWXv1ZoiC4+IeQFvmEeBTc1aVHwfemxMgJ2SpEo4VUxnLpK5+B1KRGZj9ufEJPABcrA2pd5UAeftEHPBVCJQ=="
+ "version": "2021.10.4-1639472385",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639472385.tgz",
+ "integrity": "sha512-2ID321GV+hLv1pQJqYqZ40Djr9OHWyAv8ggdRJz094tOpdAmUl4SczKfQpy37KNfCSNjyXO+9rys8cH/bHaJpg=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@@ -9925,9 +9925,9 @@
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@goauthentik/api": {
- "version": "2021.10.4-1639438851",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639438851.tgz",
- "integrity": "sha512-EYcWXv1ZoiC4+IeQFvmEeBTc1aVHwfemxMgJ2SpEo4VUxnLpK5+B1KRGZj9ufEJPABcrA2pd5UAeftEHPBVCJQ=="
+ "version": "2021.10.4-1639472385",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639472385.tgz",
+ "integrity": "sha512-2ID321GV+hLv1pQJqYqZ40Djr9OHWyAv8ggdRJz094tOpdAmUl4SczKfQpy37KNfCSNjyXO+9rys8cH/bHaJpg=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
diff --git a/web/package.json b/web/package.json
index 8ad95b6cd..b2e8a39bc 100644
--- a/web/package.json
+++ b/web/package.json
@@ -51,7 +51,7 @@
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639438851",
+ "@goauthentik/api": "^2021.10.4-1639472385",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
From 59a51c859affed6988dad0aeafd13665c97596bc Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 10:09:35 +0100
Subject: [PATCH 49/80] stages/authenticator_webauthn: add migration
Signed-off-by: Jens Langhammer
---
...enticatewebauthnstage_user_verification.py | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
diff --git a/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py b/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
new file mode 100644
index 000000000..91dea868b
--- /dev/null
+++ b/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
@@ -0,0 +1,25 @@
+# Generated by Django 4.0 on 2021-12-14 09:05
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("authentik_stages_authenticator_webauthn", "0004_auto_20210304_1850"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="authenticatewebauthnstage",
+ name="user_verification",
+ field=models.TextField(
+ choices=[
+ ("UserVerificationRequirement.REQUIRED", "Required"),
+ ("UserVerificationRequirement.PREFERRED", "Preferred"),
+ ("UserVerificationRequirement.DISCOURAGED", "Discouraged"),
+ ],
+ default="UserVerificationRequirement.PREFERRED",
+ ),
+ ),
+ ]
From 2981ac7b107dd8dca99fdd7fe9226b9662f062e5 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 10:36:47 +0100
Subject: [PATCH 50/80] tests/e2e: use ghcr for e2e tests
Signed-off-by: Jens Langhammer
---
tests/e2e/test_provider_oauth2_oidc.py | 2 +-
tests/e2e/test_provider_oauth2_oidc_implicit.py | 2 +-
tests/e2e/test_provider_saml.py | 2 +-
tests/e2e/test_source_oauth.py | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/e2e/test_provider_oauth2_oidc.py b/tests/e2e/test_provider_oauth2_oidc.py
index 3d7553e84..fa0ca30ee 100644
--- a/tests/e2e/test_provider_oauth2_oidc.py
+++ b/tests/e2e/test_provider_oauth2_oidc.py
@@ -40,7 +40,7 @@ class TestProviderOAuth2OIDC(SeleniumTestCase):
sleep(1)
client: DockerClient = from_env()
container = client.containers.run(
- image="beryju.org/oidc-test-client:latest",
+ image="ghcr.io/beryju/oidc-test-client:latest",
detach=True,
network_mode="host",
auto_remove=True,
diff --git a/tests/e2e/test_provider_oauth2_oidc_implicit.py b/tests/e2e/test_provider_oauth2_oidc_implicit.py
index 94df094aa..a9c47f108 100644
--- a/tests/e2e/test_provider_oauth2_oidc_implicit.py
+++ b/tests/e2e/test_provider_oauth2_oidc_implicit.py
@@ -40,7 +40,7 @@ class TestProviderOAuth2OIDCImplicit(SeleniumTestCase):
sleep(1)
client: DockerClient = from_env()
container = client.containers.run(
- image="beryju.org/oidc-test-client:latest",
+ image="ghcr.io/beryju/oidc-test-client:latest",
detach=True,
network_mode="host",
auto_remove=True,
diff --git a/tests/e2e/test_provider_saml.py b/tests/e2e/test_provider_saml.py
index 147e742d0..3beef3062 100644
--- a/tests/e2e/test_provider_saml.py
+++ b/tests/e2e/test_provider_saml.py
@@ -39,7 +39,7 @@ class TestProviderSAML(SeleniumTestCase):
if force_post:
metadata_url += f"&force_binding={SAML_BINDING_POST}"
container = client.containers.run(
- image="beryju.org/saml-test-sp:latest",
+ image="ghcr.io/beryju/saml-test-sp:latest",
detach=True,
network_mode="host",
auto_remove=True,
diff --git a/tests/e2e/test_source_oauth.py b/tests/e2e/test_source_oauth.py
index d7c5deb98..6288d3d2e 100644
--- a/tests/e2e/test_source_oauth.py
+++ b/tests/e2e/test_source_oauth.py
@@ -229,7 +229,7 @@ class TestSourceOAuth1(SeleniumTestCase):
def get_container_specs(self) -> Optional[dict[str, Any]]:
return {
- "image": "beryju.org/oauth1-test-server:latest",
+ "image": "ghcr.io/beryju/oauth1-test-server:latest",
"detach": True,
"network_mode": "host",
"auto_remove": True,
From 4b2437a6f140b8ab4c446654e632c073a786651c Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 10:51:34 +0100
Subject: [PATCH 51/80] stages/authenticator_webauthn: use correct choices
Signed-off-by: Jens Langhammer
---
authentik/stages/authenticator_webauthn/models.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/authentik/stages/authenticator_webauthn/models.py b/authentik/stages/authenticator_webauthn/models.py
index c0439501c..cfcba9906 100644
--- a/authentik/stages/authenticator_webauthn/models.py
+++ b/authentik/stages/authenticator_webauthn/models.py
@@ -9,7 +9,7 @@ from django.views import View
from django_otp.models import Device
from rest_framework.serializers import BaseSerializer
from webauthn.helpers.base64url_to_bytes import base64url_to_bytes
-from webauthn.helpers.structs import PublicKeyCredentialDescriptor, UserVerificationRequirement
+from webauthn.helpers.structs import PublicKeyCredentialDescriptor
from authentik.core.types import UserSettingSerializer
from authentik.flows.models import ConfigurableStage, Stage
@@ -26,9 +26,9 @@ class UserVerification(models.TextChoices):
https://www.w3.org/TR/webauthn-2/#enumdef-userverificationrequirement
"""
- REQUIRED = UserVerificationRequirement.REQUIRED
- PREFERRED = UserVerificationRequirement.PREFERRED
- DISCOURAGED = UserVerificationRequirement.DISCOURAGED
+ REQUIRED = "required"
+ PREFERRED = "preferred"
+ DISCOURAGED = "discouraged"
class AuthenticateWebAuthnStage(ConfigurableStage, Stage):
From 5854833240daac557552d0746f4cc25dd1437b35 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 11:06:46 +0100
Subject: [PATCH 52/80] stages/authenticator_webauthn: fix migrations for
different choices
Signed-off-by: Jens Langhammer
---
.../0005_authenticatewebauthnstage_user_verification.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py b/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
index 91dea868b..12c4b1815 100644
--- a/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
+++ b/authentik/stages/authenticator_webauthn/migrations/0005_authenticatewebauthnstage_user_verification.py
@@ -15,11 +15,11 @@ class Migration(migrations.Migration):
name="user_verification",
field=models.TextField(
choices=[
- ("UserVerificationRequirement.REQUIRED", "Required"),
- ("UserVerificationRequirement.PREFERRED", "Preferred"),
- ("UserVerificationRequirement.DISCOURAGED", "Discouraged"),
+ ("required", "Required"),
+ ("preferred", "Preferred"),
+ ("discouraged", "Discouraged"),
],
- default="UserVerificationRequirement.PREFERRED",
+ default="preferred",
),
),
]
From b5685ec072e29f1115fbe91893c3dc88c72517b8 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 11:50:31 +0100
Subject: [PATCH 53/80] outposts: set sentry-trace on API requests to match
them to the outer transaction
Signed-off-by: Jens Langhammer
---
internal/outpost/ak/http_tracing.go | 1 +
1 file changed, 1 insertion(+)
diff --git a/internal/outpost/ak/http_tracing.go b/internal/outpost/ak/http_tracing.go
index 16b30c10e..fb73ec176 100644
--- a/internal/outpost/ak/http_tracing.go
+++ b/internal/outpost/ak/http_tracing.go
@@ -20,6 +20,7 @@ func NewTracingTransport(ctx context.Context, inner http.RoundTripper) *tracingT
func (tt *tracingTransport) RoundTrip(r *http.Request) (*http.Response, error) {
span := sentry.StartSpan(tt.ctx, "authentik.go.http_request")
+ r.Header.Set("sentry-trace", span.ToSentryTrace())
span.Description = fmt.Sprintf("%s %s", r.Method, r.URL.String())
span.SetTag("url", r.URL.String())
span.SetTag("method", r.Method)
From 54f893b84fe2a144fae77ffbd49b6b37b44c0119 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 11:59:36 +0100
Subject: [PATCH 54/80] flows: add additional sentry spans
Signed-off-by: Jens Langhammer
---
authentik/flows/stage.py | 19 +++++++++++++++---
authentik/stages/identification/stage.py | 25 ++++++++++++++++--------
authentik/stages/password/stage.py | 15 ++++++++++++--
3 files changed, 46 insertions(+), 13 deletions(-)
diff --git a/authentik/flows/stage.py b/authentik/flows/stage.py
index 4e29637ee..729f9a07a 100644
--- a/authentik/flows/stage.py
+++ b/authentik/flows/stage.py
@@ -6,6 +6,7 @@ from django.http.response import HttpResponse
from django.urls import reverse
from django.views.generic.base import View
from rest_framework.request import Request
+from sentry_sdk.hub import Hub
from structlog.stdlib import get_logger
from authentik.core.models import DEFAULT_AVATAR, User
@@ -94,8 +95,16 @@ class ChallengeStageView(StageView):
keep_context=keep_context,
)
return self.executor.restart_flow(keep_context)
- return self.challenge_invalid(challenge)
- return self.challenge_valid(challenge)
+ with Hub.current.start_span(
+ op="authentik.flow.stage.challenge_invalid",
+ description=self.__class__.__name__,
+ ):
+ return self.challenge_invalid(challenge)
+ with Hub.current.start_span(
+ op="authentik.flow.stage.challenge_valid",
+ description=self.__class__.__name__,
+ ):
+ return self.challenge_valid(challenge)
def format_title(self) -> str:
"""Allow usage of placeholder in flow title."""
@@ -104,7 +113,11 @@ class ChallengeStageView(StageView):
}
def _get_challenge(self, *args, **kwargs) -> Challenge:
- challenge = self.get_challenge(*args, **kwargs)
+ with Hub.current.start_span(
+ op="authentik.flow.stage.get_challenge",
+ description=self.__class__.__name__,
+ ):
+ challenge = self.get_challenge(*args, **kwargs)
if "flow_info" not in challenge.initial_data:
flow_info = ContextualFlowInfo(
data={
diff --git a/authentik/stages/identification/stage.py b/authentik/stages/identification/stage.py
index f8c32674f..8b0368441 100644
--- a/authentik/stages/identification/stage.py
+++ b/authentik/stages/identification/stage.py
@@ -12,6 +12,7 @@ from django.utils.translation import gettext as _
from drf_spectacular.utils import PolymorphicProxySerializer, extend_schema_field
from rest_framework.fields import BooleanField, CharField, DictField, ListField
from rest_framework.serializers import ValidationError
+from sentry_sdk.hub import Hub
from structlog.stdlib import get_logger
from authentik.core.api.utils import PassiveSerializer
@@ -90,8 +91,12 @@ class IdentificationChallengeResponse(ChallengeResponse):
pre_user = self.stage.get_user(uid_field)
if not pre_user:
- # Sleep a random time (between 90 and 210ms) to "prevent" user enumeration attacks
- sleep(0.30 * SystemRandom().randint(3, 7))
+ with Hub.current.start_span(
+ op="authentik.stages.identification.validate_invalid_wait",
+ description="Sleep random time on invalid user identifier",
+ ):
+ # Sleep a random time (between 90 and 210ms) to "prevent" user enumeration attacks
+ sleep(0.30 * SystemRandom().randint(3, 7))
LOGGER.debug("invalid_login", identifier=uid_field)
identification_failed.send(sender=self, request=self.stage.request, uid_field=uid_field)
# We set the pending_user even on failure so it's part of the context, even
@@ -114,12 +119,16 @@ class IdentificationChallengeResponse(ChallengeResponse):
if not password:
LOGGER.warning("Password not set for ident+auth attempt")
try:
- user = authenticate(
- self.stage.request,
- current_stage.password_stage.backends,
- username=self.pre_user.username,
- password=password,
- )
+ with Hub.current.start_span(
+ op="authentik.stages.identification.authenticate",
+ description="User authenticate call (combo stage)",
+ ):
+ user = authenticate(
+ self.stage.request,
+ current_stage.password_stage.backends,
+ username=self.pre_user.username,
+ password=password,
+ )
if not user:
raise ValidationError("Failed to authenticate.")
self.pre_user = user
diff --git a/authentik/stages/password/stage.py b/authentik/stages/password/stage.py
index ddcfe84dc..c353102c5 100644
--- a/authentik/stages/password/stage.py
+++ b/authentik/stages/password/stage.py
@@ -10,6 +10,7 @@ from django.urls import reverse
from django.utils.translation import gettext as _
from rest_framework.exceptions import ErrorDetail, ValidationError
from rest_framework.fields import CharField
+from sentry_sdk.hub import Hub
from structlog.stdlib import get_logger
from authentik.core.models import User
@@ -43,7 +44,11 @@ def authenticate(request: HttpRequest, backends: list[str], **credentials: Any)
LOGGER.warning("Failed to import backend", path=backend_path)
continue
LOGGER.debug("Attempting authentication...", backend=backend_path)
- user = backend.authenticate(request, **credentials)
+ with Hub.current.start_span(
+ op="authentik.stages.password.authenticate",
+ description=backend_path,
+ ):
+ user = backend.authenticate(request, **credentials)
if user is None:
LOGGER.debug("Backend returned nothing, continuing", backend=backend_path)
continue
@@ -120,7 +125,13 @@ class PasswordStageView(ChallengeStageView):
"username": pending_user.username,
}
try:
- user = authenticate(self.request, self.executor.current_stage.backends, **auth_kwargs)
+ with Hub.current.start_span(
+ op="authentik.stages.password.authenticate",
+ description="User authenticate call",
+ ):
+ user = authenticate(
+ self.request, self.executor.current_stage.backends, **auth_kwargs
+ )
except PermissionDenied:
del auth_kwargs["password"]
# User was found, but permission was denied (i.e. user is not active)
From 32ace1bece757d7a0b95448118a1ec27fb816e49 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 14:49:25 +0100
Subject: [PATCH 55/80] crypto: add additional validation before importing a
certificate
Signed-off-by: Jens Langhammer
---
authentik/crypto/models.py | 6 +++++-
authentik/crypto/tasks.py | 27 +++++++++++++++++++++++----
2 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/authentik/crypto/models.py b/authentik/crypto/models.py
index 111adf079..037e8dffd 100644
--- a/authentik/crypto/models.py
+++ b/authentik/crypto/models.py
@@ -11,10 +11,13 @@ from cryptography.hazmat.primitives.serialization import load_pem_private_key
from cryptography.x509 import Certificate, load_pem_x509_certificate
from django.db import models
from django.utils.translation import gettext_lazy as _
+from structlog.stdlib import get_logger
from authentik.lib.models import CreatedUpdatedModel
from authentik.managed.models import ManagedModel
+LOGGER = get_logger()
+
class CertificateKeyPair(ManagedModel, CreatedUpdatedModel):
"""CertificateKeyPair that can be used for signing or encrypting if `key_data`
@@ -62,7 +65,8 @@ class CertificateKeyPair(ManagedModel, CreatedUpdatedModel):
password=None,
backend=default_backend(),
)
- except ValueError:
+ except ValueError as exc:
+ LOGGER.warning(exc)
return None
return self._private_key
diff --git a/authentik/crypto/tasks.py b/authentik/crypto/tasks.py
index 81e50219c..723a603ee 100644
--- a/authentik/crypto/tasks.py
+++ b/authentik/crypto/tasks.py
@@ -2,6 +2,9 @@
from glob import glob
from pathlib import Path
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives.serialization import load_pem_private_key
+from cryptography.x509.base import load_pem_x509_certificate
from django.utils.translation import gettext_lazy as _
from structlog.stdlib import get_logger
@@ -20,6 +23,22 @@ LOGGER = get_logger()
MANAGED_DISCOVERED = "goauthentik.io/crypto/discovered/%s"
+def ensure_private_key_valid(body: str):
+ """Attempt loading of an RSA Private key without password"""
+ load_pem_private_key(
+ str.encode("\n".join([x.strip() for x in body.split("\n")])),
+ password=None,
+ backend=default_backend(),
+ )
+ return body
+
+
+def ensure_certificate_valid(body: str):
+ """Attempt loading of a PEM-encoded certificate"""
+ load_pem_x509_certificate(body.encode("utf-8"), default_backend())
+ return body
+
+
@CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task
def certificate_discovery(self: MonitoredTask):
@@ -42,11 +61,11 @@ def certificate_discovery(self: MonitoredTask):
with open(path, "r+", encoding="utf-8") as _file:
body = _file.read()
if "BEGIN RSA PRIVATE KEY" in body:
- private_keys[cert_name] = body
+ private_keys[cert_name] = ensure_private_key_valid(body)
else:
- certs[cert_name] = body
- except OSError as exc:
- LOGGER.warning("Failed to open file", exc=exc, file=path)
+ certs[cert_name] = ensure_certificate_valid(body)
+ except (OSError, ValueError) as exc:
+ LOGGER.warning("Failed to open file or invalid format", exc=exc, file=path)
discovered += 1
for name, cert_data in certs.items():
cert = CertificateKeyPair.objects.filter(managed=MANAGED_DISCOVERED % name).first()
From 6b39d616b13c0a45cbbeea356e9a00420a364730 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:22:52 +0100
Subject: [PATCH 56/80] web/elements: allow aggregate cards' elements to not be
centered
Signed-off-by: Jens Langhammer
---
web/src/elements/cards/AggregateCard.ts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/web/src/elements/cards/AggregateCard.ts b/web/src/elements/cards/AggregateCard.ts
index 147b8c76d..ef7fb942a 100644
--- a/web/src/elements/cards/AggregateCard.ts
+++ b/web/src/elements/cards/AggregateCard.ts
@@ -18,6 +18,9 @@ export class AggregateCard extends LitElement {
@property()
headerLink?: string;
+ @property({ type: Boolean })
+ isCenter = true;
+
static get styles(): CSSResult[] {
return [PFBase, PFCard, PFFlex, AKGlobal].concat([
css`
@@ -59,7 +62,9 @@ export class AggregateCard extends LitElement {
${this.renderHeaderLink()}
- ${this.renderInner()}
+
+ ${this.renderInner()}
+
`;
}
}
From 210d4c505824bd2db5d52b4b5b08e48f217897e6 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:23:02 +0100
Subject: [PATCH 57/80] web: add helper to navigate with params
Signed-off-by: Jens Langhammer
---
web/src/elements/router/RouterOutlet.ts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/web/src/elements/router/RouterOutlet.ts b/web/src/elements/router/RouterOutlet.ts
index 6a7bc852a..9329887ec 100644
--- a/web/src/elements/router/RouterOutlet.ts
+++ b/web/src/elements/router/RouterOutlet.ts
@@ -30,6 +30,19 @@ window.addEventListener("load", () => {
})();
});
+export function paramURL(url: string, params?: { [key: string]: unknown }): string {
+ let finalUrl = "#";
+ finalUrl += url;
+ if (params) {
+ finalUrl += ";";
+ finalUrl += encodeURIComponent(JSON.stringify(params));
+ }
+ return finalUrl;
+}
+export function navigate(url: string, params?: { [key: string]: unknown }): void {
+ window.location.assign(paramURL(url, params));
+}
+
@customElement("ak-router-outlet")
export class RouterOutlet extends LitElement {
@property({ attribute: false })
From 44cfd7e5b0e18e2d3db4f21549f577f3d9dd5188 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:23:20 +0100
Subject: [PATCH 58/80] web: accept header as slot in PageHeader
Signed-off-by: Jens Langhammer
---
web/src/elements/PageHeader.ts | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/web/src/elements/PageHeader.ts b/web/src/elements/PageHeader.ts
index 6421fb835..17042ff61 100644
--- a/web/src/elements/PageHeader.ts
+++ b/web/src/elements/PageHeader.ts
@@ -133,7 +133,10 @@ export class PageHeader extends LitElement {
-
${this.renderIcon()} ${this.header}
+
+ ${this.renderIcon()}
+ ${this.header}
+
${this.description ? html`
${this.description}
` : html``}
From c6a3286e4c97eacfeca764d968b86053e0767bb3 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:23:32 +0100
Subject: [PATCH 59/80] web/admin: update overview page
Signed-off-by: Jens Langhammer
---
.../pages/admin-overview/AdminOverviewPage.ts | 54 +++++++++++++++----
.../pages/applications/ApplicationListPage.ts | 3 +-
2 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/web/src/pages/admin-overview/AdminOverviewPage.ts b/web/src/pages/admin-overview/AdminOverviewPage.ts
index 848c4c912..0814c1a68 100644
--- a/web/src/pages/admin-overview/AdminOverviewPage.ts
+++ b/web/src/pages/admin-overview/AdminOverviewPage.ts
@@ -2,15 +2,19 @@ import { t } from "@lingui/macro";
import { CSSResult, LitElement, TemplateResult, css, html } from "lit";
import { customElement } from "lit/decorators.js";
+import { until } from "lit/directives/until.js";
import AKGlobal from "../../authentik.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
+import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
+import { me } from "../../api/Users";
import "../../elements/PageHeader";
import "../../elements/cards/AggregatePromiseCard";
import "../../elements/charts/AdminLoginsChart";
+import { paramURL } from "../../elements/router/RouterOutlet";
import "./TopApplicationsTable";
import "./cards/AdminStatusCard";
import "./cards/BackupStatusCard";
@@ -31,6 +35,7 @@ export class AdminOverviewPage extends LitElement {
PFGrid,
PFPage,
PFContent,
+ PFList,
AKGlobal,
css`
.row-divider {
@@ -51,11 +56,18 @@ export class AdminOverviewPage extends LitElement {
}
render(): TemplateResult {
- return html`
+ return html`
+
+ ${until(
+ me().then((user) => {
+ let name = user.user.username;
+ if (user.user.name !== "") {
+ name = user.user.name;
+ }
+ return t`Welcome, ${name}.`;
+ }),
+ )}
+
@@ -64,11 +76,35 @@ export class AdminOverviewPage extends LitElement {
class="pf-l-grid__item pf-m-6-col pf-m-4-col-on-xl pf-m-2-col-on-2xl graph-container"
>
-
+
{
renderToolbar(): TemplateResult {
return html`
-
+
${t`Create`}
${t`Create Application`}
From 8c16dfc478c82f4c0ab32d759615784a7509380c Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:56:13 +0100
Subject: [PATCH 60/80] stages/invitation: use GroupMemberSerializer serializer
to prevent all of the user's groups and their users from being returned
Signed-off-by: Jens Langhammer
---
authentik/stages/invitation/api.py | 4 ++--
schema.yml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/authentik/stages/invitation/api.py b/authentik/stages/invitation/api.py
index 8e85bcb1b..9132504b9 100644
--- a/authentik/stages/invitation/api.py
+++ b/authentik/stages/invitation/api.py
@@ -5,8 +5,8 @@ from rest_framework.fields import JSONField
from rest_framework.serializers import ModelSerializer
from rest_framework.viewsets import ModelViewSet
+from authentik.core.api.groups import GroupMemberSerializer
from authentik.core.api.used_by import UsedByMixin
-from authentik.core.api.users import UserSerializer
from authentik.core.api.utils import is_dict
from authentik.flows.api.stages import StageSerializer
from authentik.stages.invitation.models import Invitation, InvitationStage
@@ -46,7 +46,7 @@ class InvitationStageViewSet(UsedByMixin, ModelViewSet):
class InvitationSerializer(ModelSerializer):
"""Invitation Serializer"""
- created_by = UserSerializer(read_only=True)
+ created_by = GroupMemberSerializer(read_only=True)
fixed_data = JSONField(validators=[is_dict], required=False)
class Meta:
diff --git a/schema.yml b/schema.yml
index 782cf6a0e..134add65c 100644
--- a/schema.yml
+++ b/schema.yml
@@ -22127,7 +22127,7 @@ components:
additionalProperties: {}
created_by:
allOf:
- - $ref: '#/components/schemas/User'
+ - $ref: '#/components/schemas/GroupMember'
readOnly: true
single_use:
type: boolean
From 1ae1cbebf4c9edde12437045d3335846f78ff539 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 15:57:03 +0100
Subject: [PATCH 61/80] web/admin: re-organise sidebar items
Signed-off-by: Jens Langhammer
---
web/src/interfaces/AdminInterface.ts | 54 ++++++++++--------
web/src/locales/en.po | 73 +++++++++++++++++++-----
web/src/locales/fr_FR.po | 73 +++++++++++++++++++-----
web/src/locales/pseudo-LOCALE.po | 71 ++++++++++++++++++-----
web/src/pages/policies/PolicyListPage.ts | 2 +-
web/src/pages/sources/SourcesListPage.ts | 2 +-
6 files changed, 207 insertions(+), 68 deletions(-)
diff --git a/web/src/interfaces/AdminInterface.ts b/web/src/interfaces/AdminInterface.ts
index bfffc130f..c284b8b4d 100644
--- a/web/src/interfaces/AdminInterface.ts
+++ b/web/src/interfaces/AdminInterface.ts
@@ -189,43 +189,35 @@ export class AdminInterface extends LitElement {
${t`User interface`}
-
- ${t`Overview`}
-
-
- ${t`System Tasks`}
+
+ ${t`Dashboards`}
+
+ ${t`Overview`}
+
+
+
+ ${t`System Tasks`}
+
- ${t`Resources`}
+ ${t`Applications`}
${SLUG_REGEX})$`]}
>
${t`Applications`}
- ${SLUG_REGEX})$`]}
- >
- ${t`Sources`}
-
${ID_REGEX})$`]}
>
${t`Providers`}
-
- ${t`Tenants`}
-
-
-
- ${t`Outposts`}
${t`Outposts`}
- ${t`Integrations`}
+ ${t`Outpost Integrations`}
@@ -272,12 +264,9 @@ export class AdminInterface extends LitElement {
${t`Prompts`}
-
- ${t`Invitations`}
-
- ${t`Identity & Cryptography`}
+ ${t`Directory`}
${ID_REGEX})$`]}
@@ -287,12 +276,27 @@ export class AdminInterface extends LitElement {
${t`Groups`}
-
- ${t`Certificates`}
+ ${SLUG_REGEX})$`]}
+ >
+ ${t`Federation & Social login`}
${t`Tokens & App passwords`}
+
+ ${t`Invitations`}
+
+
+
+ ${t`System`}
+
+ ${t`Tenants`}
+
+
+ ${t`Certificates`}
+
`;
}
diff --git a/web/src/locales/en.po b/web/src/locales/en.po
index e30ae36a3..2221fb761 100644
--- a/web/src/locales/en.po
+++ b/web/src/locales/en.po
@@ -348,6 +348,7 @@ msgstr "Application's display Name."
msgid "Application(s)"
msgstr "Application(s)"
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/applications/ApplicationListPage.ts
#: src/pages/outposts/OutpostForm.ts
@@ -411,8 +412,12 @@ msgid "Assigned to application"
msgstr "Assigned to application"
#: src/pages/policies/PolicyListPage.ts
-msgid "Assigned to {0} objects."
-msgstr "Assigned to {0} objects."
+msgid "Assigned to {0} object(s)."
+msgstr "Assigned to {0} object(s)."
+
+#: src/pages/policies/PolicyListPage.ts
+#~ msgid "Assigned to {0} objects."
+#~ msgstr "Assigned to {0} objects."
#: src/pages/events/EventInfo.ts
msgid "Attempted to log in as {0}"
@@ -772,6 +777,10 @@ msgstr "Check status"
msgid "Check the IP of the Kubernetes service, or"
msgstr "Check the IP of the Kubernetes service, or"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Check the logs"
+msgstr "Check the logs"
+
#:
#~ msgid "Check your Emails for a password reset link."
#~ msgstr "Check your Emails for a password reset link."
@@ -1212,6 +1221,10 @@ msgstr "Create Token"
msgid "Create User"
msgstr "Create User"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Create a new application"
+msgstr "Create a new application"
+
#: src/pages/users/ServiceAccountForm.ts
msgid "Create group"
msgstr "Create group"
@@ -1272,6 +1285,10 @@ msgstr "Customisation"
msgid "DSA-SHA1"
msgstr "DSA-SHA1"
+#: src/interfaces/AdminInterface.ts
+msgid "Dashboards"
+msgstr "Dashboards"
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Date"
msgstr "Date"
@@ -1461,6 +1478,10 @@ msgstr "Digits"
msgid "Direct querying, always returns the latest data, but slower than cached querying."
msgstr "Direct querying, always returns the latest data, but slower than cached querying."
+#: src/interfaces/AdminInterface.ts
+msgid "Directory"
+msgstr "Directory"
+
#:
#:
#~ msgid "Disable"
@@ -1830,6 +1851,10 @@ msgstr "Expiry date"
msgid "Explicit Consent"
msgstr "Explicit Consent"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Explore integrations"
+msgstr "Explore integrations"
+
#: src/pages/flows/FlowViewPage.ts
msgid "Export"
msgstr "Export"
@@ -1910,6 +1935,11 @@ msgstr "Failed to update {0}: {1}"
msgid "Favicon"
msgstr "Favicon"
+#: src/interfaces/AdminInterface.ts
+#: src/pages/sources/SourcesListPage.ts
+msgid "Federation & Social login"
+msgstr "Federation & Social login"
+
#: src/pages/stages/prompt/PromptListPage.ts
msgid "Field"
msgstr "Field"
@@ -2090,6 +2120,7 @@ msgid "General system exception"
msgstr "General system exception"
#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
msgid "General system status"
msgstr "General system status"
@@ -2281,8 +2312,8 @@ msgid "Identifier"
msgstr "Identifier"
#: src/interfaces/AdminInterface.ts
-msgid "Identity & Cryptography"
-msgstr "Identity & Cryptography"
+#~ msgid "Identity & Cryptography"
+#~ msgstr "Identity & Cryptography"
#: src/pages/outposts/ServiceConnectionDockerForm.ts
#: src/pages/outposts/ServiceConnectionKubernetesForm.ts
@@ -2381,8 +2412,8 @@ msgid "Integration key"
msgstr "Integration key"
#: src/interfaces/AdminInterface.ts
-msgid "Integrations"
-msgstr "Integrations"
+#~ msgid "Integrations"
+#~ msgstr "Integrations"
#: src/pages/tokens/TokenForm.ts
#: src/pages/tokens/TokenListPage.ts
@@ -3258,6 +3289,10 @@ msgstr "Outdated outposts"
msgid "Outpost Deployment Info"
msgstr "Outpost Deployment Info"
+#: src/interfaces/AdminInterface.ts
+msgid "Outpost Integrations"
+msgstr "Outpost Integrations"
+
#:
#~ msgid "Outpost Service-connection"
#~ msgstr "Outpost Service-connection"
@@ -3278,7 +3313,6 @@ msgstr "Outpost status"
msgid "Outpost(s)"
msgstr "Outpost(s)"
-#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/outposts/OutpostListPage.ts
msgid "Outposts"
@@ -3384,7 +3418,6 @@ msgid "Please enter your password"
msgstr "Please enter your password"
#: src/interfaces/AdminInterface.ts
-#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/flows/FlowListPage.ts
#: src/pages/policies/PolicyListPage.ts
msgid "Policies"
@@ -3603,6 +3636,10 @@ msgstr "Public key, acquired from https://www.google.com/recaptcha/intro/v3.html
msgid "Publisher"
msgstr "Publisher"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Quick actions"
+msgstr "Quick actions"
+
#: src/pages/flows/StageBindingForm.ts
msgid "RESTART restarts the flow from the beginning, while keeping the flow context."
msgstr "RESTART restarts the flow from the beginning, while keeping the flow context."
@@ -3780,8 +3817,8 @@ msgid "Reset Password"
msgstr "Reset Password"
#: src/interfaces/AdminInterface.ts
-msgid "Resources"
-msgstr "Resources"
+#~ msgid "Resources"
+#~ msgstr "Resources"
#: src/pages/events/EventInfo.ts
#: src/pages/property-mappings/PropertyMappingTestForm.ts
@@ -4233,8 +4270,6 @@ msgstr "Source {0}"
msgid "Source(s)"
msgstr "Source(s)"
-#: src/interfaces/AdminInterface.ts
-#: src/pages/sources/SourcesListPage.ts
#: src/pages/stages/identification/IdentificationStageForm.ts
msgid "Sources"
msgstr "Sources"
@@ -4762,9 +4797,13 @@ msgstr "Sync status"
msgid "Sync users"
msgstr "Sync users"
+#: src/interfaces/AdminInterface.ts
+msgid "System"
+msgstr "System"
+
#: src/pages/admin-overview/AdminOverviewPage.ts
-msgid "System Overview"
-msgstr "System Overview"
+#~ msgid "System Overview"
+#~ msgstr "System Overview"
#: src/interfaces/AdminInterface.ts
#: src/pages/system-tasks/SystemTaskListPage.ts
@@ -5577,6 +5616,7 @@ msgstr "Username"
msgid "Username: Same as Text input, but checks for and prevents duplicate usernames."
msgstr "Username: Same as Text input, but checks for and prevents duplicate usernames."
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/users/UserListPage.ts
@@ -5727,6 +5767,11 @@ msgstr "Webhook Mapping"
msgid "Webhook URL"
msgstr "Webhook URL"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
+msgid "Welcome, {name}."
+msgstr "Welcome, {name}."
+
#: src/pages/stages/email/EmailStageForm.ts
msgid "When a user returns from the email successfully, their account will be activated."
msgstr "When a user returns from the email successfully, their account will be activated."
diff --git a/web/src/locales/fr_FR.po b/web/src/locales/fr_FR.po
index 754a59ff2..6f47ea45c 100644
--- a/web/src/locales/fr_FR.po
+++ b/web/src/locales/fr_FR.po
@@ -352,6 +352,7 @@ msgstr "Nom d'affichage de l'application"
msgid "Application(s)"
msgstr "Application(s)"
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/applications/ApplicationListPage.ts
#: src/pages/outposts/OutpostForm.ts
@@ -415,8 +416,12 @@ msgid "Assigned to application"
msgstr "Assigné à l'application"
#: src/pages/policies/PolicyListPage.ts
-msgid "Assigned to {0} objects."
-msgstr "Assigné à {0} objets"
+msgid "Assigned to {0} object(s)."
+msgstr ""
+
+#: src/pages/policies/PolicyListPage.ts
+#~ msgid "Assigned to {0} objects."
+#~ msgstr "Assigné à {0} objets"
#: src/pages/events/EventInfo.ts
msgid "Attempted to log in as {0}"
@@ -773,6 +778,10 @@ msgstr "Vérifier le statut"
msgid "Check the IP of the Kubernetes service, or"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Check the logs"
+msgstr ""
+
#:
#~ msgid "Check your Emails for a password reset link."
#~ msgstr "Vérifiez vos courriels pour un lien de récupération de mot de passe."
@@ -1210,6 +1219,10 @@ msgstr "Créer un jeton"
msgid "Create User"
msgstr "Créer un utilisateu"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Create a new application"
+msgstr ""
+
#: src/pages/users/ServiceAccountForm.ts
msgid "Create group"
msgstr "Créer un groupe"
@@ -1270,6 +1283,10 @@ msgstr "Personalisation"
msgid "DSA-SHA1"
msgstr "DSA-SHA1"
+#: src/interfaces/AdminInterface.ts
+msgid "Dashboards"
+msgstr ""
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Date"
msgstr "Date"
@@ -1451,6 +1468,10 @@ msgstr "Chiffres"
msgid "Direct querying, always returns the latest data, but slower than cached querying."
msgstr ""
+#: src/interfaces/AdminInterface.ts
+msgid "Directory"
+msgstr ""
+
#~ msgid "Disable"
#~ msgstr "Désactiver"
@@ -1816,6 +1837,10 @@ msgstr "Date d'expiration"
msgid "Explicit Consent"
msgstr "Approbation explicite"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Explore integrations"
+msgstr ""
+
#: src/pages/flows/FlowViewPage.ts
msgid "Export"
msgstr "Exporter"
@@ -1896,6 +1921,11 @@ msgstr "Impossible de mettre à jour {0} : {1}"
msgid "Favicon"
msgstr "Favicon"
+#: src/interfaces/AdminInterface.ts
+#: src/pages/sources/SourcesListPage.ts
+msgid "Federation & Social login"
+msgstr ""
+
#: src/pages/stages/prompt/PromptListPage.ts
msgid "Field"
msgstr "Champ"
@@ -2075,6 +2105,7 @@ msgid "General system exception"
msgstr "Exception générale du systèm"
#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
msgid "General system status"
msgstr "État général du système"
@@ -2264,8 +2295,8 @@ msgid "Identifier"
msgstr "Identifiant"
#: src/interfaces/AdminInterface.ts
-msgid "Identity & Cryptography"
-msgstr "Identité et chiffrement"
+#~ msgid "Identity & Cryptography"
+#~ msgstr "Identité et chiffrement"
#: src/pages/outposts/ServiceConnectionDockerForm.ts
#: src/pages/outposts/ServiceConnectionKubernetesForm.ts
@@ -2364,8 +2395,8 @@ msgid "Integration key"
msgstr "Clé d'intégration"
#: src/interfaces/AdminInterface.ts
-msgid "Integrations"
-msgstr "Intégrations"
+#~ msgid "Integrations"
+#~ msgstr "Intégrations"
#: src/pages/tokens/TokenForm.ts
#: src/pages/tokens/TokenListPage.ts
@@ -3232,6 +3263,10 @@ msgstr "Avant-postes périmés"
msgid "Outpost Deployment Info"
msgstr "Info de déploiement de l'avant-poste"
+#: src/interfaces/AdminInterface.ts
+msgid "Outpost Integrations"
+msgstr ""
+
#~ msgid "Outpost Service-connection"
#~ msgstr "Connexion de service de l'avant-poste"
@@ -3250,7 +3285,6 @@ msgstr "Statut de l'avant-poste"
msgid "Outpost(s)"
msgstr "Avant-poste(s)"
-#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/outposts/OutpostListPage.ts
msgid "Outposts"
@@ -3356,7 +3390,6 @@ msgid "Please enter your password"
msgstr "Veuillez saisir votre mot de passe"
#: src/interfaces/AdminInterface.ts
-#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/flows/FlowListPage.ts
#: src/pages/policies/PolicyListPage.ts
msgid "Policies"
@@ -3571,6 +3604,10 @@ msgstr "Clé publique, obtenue depuis https://www.google.com/recaptcha/intro/v3.
msgid "Publisher"
msgstr "Éditeur"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Quick actions"
+msgstr ""
+
#: src/pages/flows/StageBindingForm.ts
msgid "RESTART restarts the flow from the beginning, while keeping the flow context."
msgstr "REDÉMARRER redémarre le flux depuis le début, en gardant le contexte du flux."
@@ -3751,8 +3788,8 @@ msgid "Reset Password"
msgstr "Réinitialiser le mot de passe"
#: src/interfaces/AdminInterface.ts
-msgid "Resources"
-msgstr "Ressources"
+#~ msgid "Resources"
+#~ msgstr "Ressources"
#: src/pages/events/EventInfo.ts
#: src/pages/property-mappings/PropertyMappingTestForm.ts
@@ -4195,8 +4232,6 @@ msgstr "Source {0}"
msgid "Source(s)"
msgstr "Source(s)"
-#: src/interfaces/AdminInterface.ts
-#: src/pages/sources/SourcesListPage.ts
#: src/pages/stages/identification/IdentificationStageForm.ts
msgid "Sources"
msgstr "Sources"
@@ -4717,9 +4752,13 @@ msgstr "Synchroniser les statuts"
msgid "Sync users"
msgstr "Synchroniser les utilisateurs"
+#: src/interfaces/AdminInterface.ts
+msgid "System"
+msgstr ""
+
#: src/pages/admin-overview/AdminOverviewPage.ts
-msgid "System Overview"
-msgstr "Vue d'ensemble du système"
+#~ msgid "System Overview"
+#~ msgstr "Vue d'ensemble du système"
#: src/interfaces/AdminInterface.ts
#: src/pages/system-tasks/SystemTaskListPage.ts
@@ -5515,6 +5554,7 @@ msgstr "Nom d'utilisateur"
msgid "Username: Same as Text input, but checks for and prevents duplicate usernames."
msgstr "Nom d'utilisateur : Identique à la saisie de texte, mais vérifie et empêche les noms d'utilisateur en double."
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/users/UserListPage.ts
@@ -5665,6 +5705,11 @@ msgstr "Mapping Webhook"
msgid "Webhook URL"
msgstr "URL Webhoo"
+#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
+msgid "Welcome, {name}."
+msgstr ""
+
#: src/pages/stages/email/EmailStageForm.ts
msgid "When a user returns from the email successfully, their account will be activated."
msgstr "Lorsqu'un utilisateur revient de l'e-mail avec succès, son compte sera activé."
diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po
index 8bc3e5c17..9e52bd7b4 100644
--- a/web/src/locales/pseudo-LOCALE.po
+++ b/web/src/locales/pseudo-LOCALE.po
@@ -348,6 +348,7 @@ msgstr ""
msgid "Application(s)"
msgstr ""
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/applications/ApplicationListPage.ts
#: src/pages/outposts/OutpostForm.ts
@@ -407,9 +408,13 @@ msgid "Assigned to application"
msgstr ""
#: src/pages/policies/PolicyListPage.ts
-msgid "Assigned to {0} objects."
+msgid "Assigned to {0} object(s)."
msgstr ""
+#: src/pages/policies/PolicyListPage.ts
+#~ msgid "Assigned to {0} objects."
+#~ msgstr ""
+
#: src/pages/events/EventInfo.ts
msgid "Attempted to log in as {0}"
msgstr ""
@@ -768,6 +773,10 @@ msgstr ""
msgid "Check the IP of the Kubernetes service, or"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Check the logs"
+msgstr ""
+
#:
#~ msgid "Check your Emails for a password reset link."
#~ msgstr ""
@@ -1206,6 +1215,10 @@ msgstr ""
msgid "Create User"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Create a new application"
+msgstr ""
+
#: src/pages/users/ServiceAccountForm.ts
msgid "Create group"
msgstr ""
@@ -1266,6 +1279,10 @@ msgstr ""
msgid "DSA-SHA1"
msgstr ""
+#: src/interfaces/AdminInterface.ts
+msgid "Dashboards"
+msgstr ""
+
#: src/pages/stages/prompt/PromptForm.ts
msgid "Date"
msgstr ""
@@ -1453,6 +1470,10 @@ msgstr ""
msgid "Direct querying, always returns the latest data, but slower than cached querying."
msgstr ""
+#: src/interfaces/AdminInterface.ts
+msgid "Directory"
+msgstr ""
+
#:
#:
#~ msgid "Disable"
@@ -1822,6 +1843,10 @@ msgstr ""
msgid "Explicit Consent"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Explore integrations"
+msgstr ""
+
#: src/pages/flows/FlowViewPage.ts
msgid "Export"
msgstr ""
@@ -1902,6 +1927,11 @@ msgstr ""
msgid "Favicon"
msgstr ""
+#: src/interfaces/AdminInterface.ts
+#: src/pages/sources/SourcesListPage.ts
+msgid "Federation & Social login"
+msgstr ""
+
#: src/pages/stages/prompt/PromptListPage.ts
msgid "Field"
msgstr ""
@@ -2082,6 +2112,7 @@ msgid "General system exception"
msgstr ""
#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
msgid "General system status"
msgstr ""
@@ -2273,8 +2304,8 @@ msgid "Identifier"
msgstr ""
#: src/interfaces/AdminInterface.ts
-msgid "Identity & Cryptography"
-msgstr ""
+#~ msgid "Identity & Cryptography"
+#~ msgstr ""
#: src/pages/outposts/ServiceConnectionDockerForm.ts
#: src/pages/outposts/ServiceConnectionKubernetesForm.ts
@@ -2373,8 +2404,8 @@ msgid "Integration key"
msgstr ""
#: src/interfaces/AdminInterface.ts
-msgid "Integrations"
-msgstr ""
+#~ msgid "Integrations"
+#~ msgstr ""
#: src/pages/tokens/TokenForm.ts
#: src/pages/tokens/TokenListPage.ts
@@ -3248,6 +3279,10 @@ msgstr ""
msgid "Outpost Deployment Info"
msgstr ""
+#: src/interfaces/AdminInterface.ts
+msgid "Outpost Integrations"
+msgstr ""
+
#:
#~ msgid "Outpost Service-connection"
#~ msgstr ""
@@ -3268,7 +3303,6 @@ msgstr ""
msgid "Outpost(s)"
msgstr ""
-#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/outposts/OutpostListPage.ts
msgid "Outposts"
@@ -3374,7 +3408,6 @@ msgid "Please enter your password"
msgstr ""
#: src/interfaces/AdminInterface.ts
-#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/flows/FlowListPage.ts
#: src/pages/policies/PolicyListPage.ts
msgid "Policies"
@@ -3593,6 +3626,10 @@ msgstr ""
msgid "Publisher"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+msgid "Quick actions"
+msgstr ""
+
#: src/pages/flows/StageBindingForm.ts
msgid "RESTART restarts the flow from the beginning, while keeping the flow context."
msgstr ""
@@ -3770,8 +3807,8 @@ msgid "Reset Password"
msgstr ""
#: src/interfaces/AdminInterface.ts
-msgid "Resources"
-msgstr ""
+#~ msgid "Resources"
+#~ msgstr ""
#: src/pages/events/EventInfo.ts
#: src/pages/property-mappings/PropertyMappingTestForm.ts
@@ -4223,8 +4260,6 @@ msgstr ""
msgid "Source(s)"
msgstr ""
-#: src/interfaces/AdminInterface.ts
-#: src/pages/sources/SourcesListPage.ts
#: src/pages/stages/identification/IdentificationStageForm.ts
msgid "Sources"
msgstr ""
@@ -4752,10 +4787,14 @@ msgstr ""
msgid "Sync users"
msgstr ""
-#: src/pages/admin-overview/AdminOverviewPage.ts
-msgid "System Overview"
+#: src/interfaces/AdminInterface.ts
+msgid "System"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+#~ msgid "System Overview"
+#~ msgstr ""
+
#: src/interfaces/AdminInterface.ts
#: src/pages/system-tasks/SystemTaskListPage.ts
msgid "System Tasks"
@@ -5557,6 +5596,7 @@ msgstr ""
msgid "Username: Same as Text input, but checks for and prevents duplicate usernames."
msgstr ""
+#: src/interfaces/AdminInterface.ts
#: src/interfaces/AdminInterface.ts
#: src/pages/admin-overview/AdminOverviewPage.ts
#: src/pages/users/UserListPage.ts
@@ -5707,6 +5747,11 @@ msgstr ""
msgid "Webhook URL"
msgstr ""
+#: src/pages/admin-overview/AdminOverviewPage.ts
+#: src/pages/admin-overview/UserDashboardPage.ts
+msgid "Welcome, {name}."
+msgstr ""
+
#: src/pages/stages/email/EmailStageForm.ts
msgid "When a user returns from the email successfully, their account will be activated."
msgstr ""
diff --git a/web/src/pages/policies/PolicyListPage.ts b/web/src/pages/policies/PolicyListPage.ts
index 1b8aee48a..e84cfc128 100644
--- a/web/src/pages/policies/PolicyListPage.ts
+++ b/web/src/pages/policies/PolicyListPage.ts
@@ -75,7 +75,7 @@ export class PolicyListPage extends TablePage {
${item.name}
${(item.boundTo || 0) > 0
? html`
- ${t`Assigned to ${item.boundTo} objects.`} `
+ ${t`Assigned to ${item.boundTo} object(s).`} `
: html`
${t`Warning: Policy is not assigned.`} `}
`,
diff --git a/web/src/pages/sources/SourcesListPage.ts b/web/src/pages/sources/SourcesListPage.ts
index b3bb32bc1..48f9e9b95 100644
--- a/web/src/pages/sources/SourcesListPage.ts
+++ b/web/src/pages/sources/SourcesListPage.ts
@@ -25,7 +25,7 @@ import "./saml/SAMLSourceForm";
@customElement("ak-source-list")
export class SourceListPage extends TablePage {
pageTitle(): string {
- return t`Sources`;
+ return t`Federation & Social login`;
}
pageDescription(): string | undefined {
return t`Sources of identities, which can either be synced into authentik's database, or can be used by users to authenticate and enroll themselves.`;
From 5bf3d7fe02c39f685c67541e54bdce65f9b5fcc0 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 14 Dec 2021 15:59:26 +0100
Subject: [PATCH 62/80] web: Update Web API Client version (#1933)
Signed-off-by: GitHub
Co-authored-by: BeryJu
---
web/package-lock.json | 14 +++++++-------
web/package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 41c0030c6..4482df399 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -15,7 +15,7 @@
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639472385",
+ "@goauthentik/api": "^2021.10.4-1639493848",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
@@ -1723,9 +1723,9 @@
}
},
"node_modules/@goauthentik/api": {
- "version": "2021.10.4-1639472385",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639472385.tgz",
- "integrity": "sha512-2ID321GV+hLv1pQJqYqZ40Djr9OHWyAv8ggdRJz094tOpdAmUl4SczKfQpy37KNfCSNjyXO+9rys8cH/bHaJpg=="
+ "version": "2021.10.4-1639493848",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639493848.tgz",
+ "integrity": "sha512-7x8lUe8yOzcD/hGvfgr3pntzokTmF5neAxlj04F8cSfQiAr9UAuRhQvOic6oxdOieARylCVrjET4Bl7w6wWo6w=="
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@@ -9925,9 +9925,9 @@
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@goauthentik/api": {
- "version": "2021.10.4-1639472385",
- "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639472385.tgz",
- "integrity": "sha512-2ID321GV+hLv1pQJqYqZ40Djr9OHWyAv8ggdRJz094tOpdAmUl4SczKfQpy37KNfCSNjyXO+9rys8cH/bHaJpg=="
+ "version": "2021.10.4-1639493848",
+ "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2021.10.4-1639493848.tgz",
+ "integrity": "sha512-7x8lUe8yOzcD/hGvfgr3pntzokTmF5neAxlj04F8cSfQiAr9UAuRhQvOic6oxdOieARylCVrjET4Bl7w6wWo6w=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
diff --git a/web/package.json b/web/package.json
index b2e8a39bc..b4fb2a9db 100644
--- a/web/package.json
+++ b/web/package.json
@@ -51,7 +51,7 @@
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@fortawesome/fontawesome-free": "^5.15.4",
- "@goauthentik/api": "^2021.10.4-1639472385",
+ "@goauthentik/api": "^2021.10.4-1639493848",
"@jackfranklin/rollup-plugin-markdown": "^0.3.0",
"@lingui/cli": "^3.13.0",
"@lingui/core": "^3.13.0",
From 05db352a0f619a67342fac3ca507fd1bca040954 Mon Sep 17 00:00:00 2001
From: Jens Langhammer
Date: Tue, 14 Dec 2021 16:03:42 +0100
Subject: [PATCH 63/80] web: add link to open API Browser for API Drawer
Signed-off-by: Jens Langhammer
---
Makefile | 2 +-
web/src/elements/notifications/APIDrawer.ts | 1 +
web/src/locales/en.po | 11 ++++++++++-
web/src/locales/fr_FR.po | 11 ++++++++++-
web/src/locales/pseudo-LOCALE.po | 11 ++++++++++-
5 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 60f9ef558..335f10b81 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ UID = $(shell id -u)
GID = $(shell id -g)
NPM_VERSION = $(shell python -m scripts.npm_version)
-all: lint-fix lint test gen
+all: lint-fix lint test gen web
test-integration:
coverage run manage.py test tests/integration
diff --git a/web/src/elements/notifications/APIDrawer.ts b/web/src/elements/notifications/APIDrawer.ts
index 4bbe047c9..e601de427 100644
--- a/web/src/elements/notifications/APIDrawer.ts
+++ b/web/src/elements/notifications/APIDrawer.ts
@@ -102,6 +102,7 @@ export class APIDrawer extends LitElement {