diff --git a/authentik/root/install_id.py b/authentik/root/install_id.py index 5dc64472b931..f0f319aa7c25 100644 --- a/authentik/root/install_id.py +++ b/authentik/root/install_id.py @@ -7,6 +7,8 @@ from authentik.lib.config import CONFIG +QUERY = """SELECT id FROM public.authentik_install_id ORDER BY id LIMIT 1;""" + @lru_cache def get_install_id() -> str: @@ -18,7 +20,7 @@ def get_install_id() -> str: if settings.TEST: return str(uuid4()) with connection.cursor() as cursor: - cursor.execute("SELECT id FROM public.authentik_install_id LIMIT 1;") + cursor.execute(QUERY) return cursor.fetchone()[0] @@ -38,5 +40,5 @@ def get_install_id_raw(): sslkey=CONFIG.get("postgresql.sslkey"), ) cursor = conn.cursor() - cursor.execute("SELECT id FROM public.authentik_install_id LIMIT 1;") + cursor.execute(QUERY) return cursor.fetchone()[0] diff --git a/go.mod b/go.mod index 47904f04b84d..7089de58735f 100644 --- a/go.mod +++ b/go.mod @@ -26,9 +26,9 @@ require ( github.com/sethvargo/go-envconfig v1.0.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/wwt/guac v1.3.2 - goauthentik.io/api/v3 v3.2024021.2 + goauthentik.io/api/v3 v3.2024021.3 golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab golang.org/x/oauth2 v0.17.0 golang.org/x/sync v0.6.0 diff --git a/go.sum b/go.sum index bf7ba7e9c29f..cc22de05a186 100644 --- a/go.sum +++ b/go.sum @@ -255,8 +255,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/wwt/guac v1.3.2 h1:sH6OFGa/1tBs7ieWBVlZe7t6F5JAOWBry/tqQL/Vup4= github.com/wwt/guac v1.3.2/go.mod h1:eKm+NrnK7A88l4UBEcYNpZQGMpZRryYKoz4D/0/n1C0= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -280,8 +280,8 @@ go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYO go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -goauthentik.io/api/v3 v3.2024021.2 h1:yky58o0BDSg5ko/CbYww4EtdHDzwygOxHwl+shtE9dw= -goauthentik.io/api/v3 v3.2024021.2/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= +goauthentik.io/api/v3 v3.2024021.3 h1:8RU7GYVSfWmrbJYLKC9fycgVbOLsu4kA2ei5cBI804U= +goauthentik.io/api/v3 v3.2024021.3/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index a9ffa90cb411..d74b13360a32 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-19 23:33+0000\n" +"POT-Creation-Date: 2024-03-01 00:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1820,6 +1820,14 @@ msgstr "" msgid "GitHub OAuth Sources" msgstr "" +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Source" +msgstr "" + +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Sources" +msgstr "" + #: authentik/sources/oauth/models.py msgid "Twitch OAuth Source" msgstr "" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 80fc13713fa5..84d97c9be5ac 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-19 23:33+0000\n" +"POT-Creation-Date: 2024-03-01 00:07+0000\n" "PO-Revision-Date: 2022-09-26 16:47+0000\n" "Last-Translator: Marc Schmitt, 2024\n" "Language-Team: French (https://app.transifex.com/authentik/teams/119923/fr/)\n" @@ -2029,6 +2029,14 @@ msgstr "Source d'OAuth GitHub" msgid "GitHub OAuth Sources" msgstr "Sources d'OAuth GitHub" +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Source" +msgstr "Source d'OAuth GitLab" + +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Sources" +msgstr "Sources d'OAuth GitLab" + #: authentik/sources/oauth/models.py msgid "Twitch OAuth Source" msgstr "Source d'OAuth Twitch" diff --git a/locale/zh-Hans/LC_MESSAGES/django.po b/locale/zh-Hans/LC_MESSAGES/django.po index 84aaf815834f..4b99a4d30b13 100644 --- a/locale/zh-Hans/LC_MESSAGES/django.po +++ b/locale/zh-Hans/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-19 23:33+0000\n" +"POT-Creation-Date: 2024-03-01 00:07+0000\n" "PO-Revision-Date: 2022-09-26 16:47+0000\n" "Last-Translator: deluxghost, 2024\n" "Language-Team: Chinese Simplified (https://app.transifex.com/authentik/teams/119923/zh-Hans/)\n" @@ -1852,6 +1852,14 @@ msgstr "GitHub OAuth 源" msgid "GitHub OAuth Sources" msgstr "GitHub OAuth 源" +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Source" +msgstr "GitLab OAuth 源" + +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Sources" +msgstr "GitLab OAuth 源" + #: authentik/sources/oauth/models.py msgid "Twitch OAuth Source" msgstr "Twitch OAuth 源" diff --git a/locale/zh_CN/LC_MESSAGES/django.po b/locale/zh_CN/LC_MESSAGES/django.po index 39fbe207a7ce..fd327dc223ae 100644 --- a/locale/zh_CN/LC_MESSAGES/django.po +++ b/locale/zh_CN/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-19 23:33+0000\n" +"POT-Creation-Date: 2024-03-01 00:07+0000\n" "PO-Revision-Date: 2022-09-26 16:47+0000\n" "Last-Translator: deluxghost, 2024\n" "Language-Team: Chinese (China) (https://app.transifex.com/authentik/teams/119923/zh_CN/)\n" @@ -1852,6 +1852,14 @@ msgstr "GitHub OAuth 源" msgid "GitHub OAuth Sources" msgstr "GitHub OAuth 源" +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Source" +msgstr "GitLab OAuth 源" + +#: authentik/sources/oauth/models.py +msgid "GitLab OAuth Sources" +msgstr "GitLab OAuth 源" + #: authentik/sources/oauth/models.py msgid "Twitch OAuth Source" msgstr "Twitch OAuth 源" diff --git a/poetry.lock b/poetry.lock index c1d6c96bf8e6..ab6ba4d9ffd7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3508,28 +3508,28 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.2.2" +version = "0.3.0" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.2.2-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0a9efb032855ffb3c21f6405751d5e147b0c6b631e3ca3f6b20f917572b97eb6"}, - {file = "ruff-0.2.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d450b7fbff85913f866a5384d8912710936e2b96da74541c82c1b458472ddb39"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecd46e3106850a5c26aee114e562c329f9a1fbe9e4821b008c4404f64ff9ce73"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e22676a5b875bd72acd3d11d5fa9075d3a5f53b877fe7b4793e4673499318ba"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1695700d1e25a99d28f7a1636d85bafcc5030bba9d0578c0781ba1790dbcf51c"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b0c232af3d0bd8f521806223723456ffebf8e323bd1e4e82b0befb20ba18388e"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f63d96494eeec2fc70d909393bcd76c69f35334cdbd9e20d089fb3f0640216ca"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a61ea0ff048e06de273b2e45bd72629f470f5da8f71daf09fe481278b175001"}, - {file = "ruff-0.2.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1439c8f407e4f356470e54cdecdca1bd5439a0673792dbe34a2b0a551a2fe3"}, - {file = "ruff-0.2.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:940de32dc8853eba0f67f7198b3e79bc6ba95c2edbfdfac2144c8235114d6726"}, - {file = "ruff-0.2.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0c126da55c38dd917621552ab430213bdb3273bb10ddb67bc4b761989210eb6e"}, - {file = "ruff-0.2.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3b65494f7e4bed2e74110dac1f0d17dc8e1f42faaa784e7c58a98e335ec83d7e"}, - {file = "ruff-0.2.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1ec49be4fe6ddac0503833f3ed8930528e26d1e60ad35c2446da372d16651ce9"}, - {file = "ruff-0.2.2-py3-none-win32.whl", hash = "sha256:d920499b576f6c68295bc04e7b17b6544d9d05f196bb3aac4358792ef6f34325"}, - {file = "ruff-0.2.2-py3-none-win_amd64.whl", hash = "sha256:cc9a91ae137d687f43a44c900e5d95e9617cb37d4c989e462980ba27039d239d"}, - {file = "ruff-0.2.2-py3-none-win_arm64.whl", hash = "sha256:c9d15fc41e6054bfc7200478720570078f0b41c9ae4f010bcc16bd6f4d1aacdd"}, - {file = "ruff-0.2.2.tar.gz", hash = "sha256:e62ed7f36b3068a30ba39193a14274cd706bc486fad521276458022f7bccb31d"}, + {file = "ruff-0.3.0-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:7deb528029bacf845bdbb3dbb2927d8ef9b4356a5e731b10eef171e3f0a85944"}, + {file = "ruff-0.3.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e1e0d4381ca88fb2b73ea0766008e703f33f460295de658f5467f6f229658c19"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f7dbba46e2827dfcb0f0cc55fba8e96ba7c8700e0a866eb8cef7d1d66c25dcb"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:23dbb808e2f1d68eeadd5f655485e235c102ac6f12ad31505804edced2a5ae77"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ef655c51f41d5fa879f98e40c90072b567c666a7114fa2d9fe004dffba00932"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d0d3d7ef3d4f06433d592e5f7d813314a34601e6c5be8481cccb7fa760aa243e"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b08b356d06a792e49a12074b62222f9d4ea2a11dca9da9f68163b28c71bf1dd4"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9343690f95710f8cf251bee1013bf43030072b9f8d012fbed6ad702ef70d360a"}, + {file = "ruff-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1f3ed501a42f60f4dedb7805fa8d4534e78b4e196f536bac926f805f0743d49"}, + {file = "ruff-0.3.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:cc30a9053ff2f1ffb505a585797c23434d5f6c838bacfe206c0e6cf38c921a1e"}, + {file = "ruff-0.3.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5da894a29ec018a8293d3d17c797e73b374773943e8369cfc50495573d396933"}, + {file = "ruff-0.3.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:755c22536d7f1889be25f2baf6fedd019d0c51d079e8417d4441159f3bcd30c2"}, + {file = "ruff-0.3.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:dd73fe7f4c28d317855da6a7bc4aa29a1500320818dd8f27df95f70a01b8171f"}, + {file = "ruff-0.3.0-py3-none-win32.whl", hash = "sha256:19eacceb4c9406f6c41af806418a26fdb23120dfe53583df76d1401c92b7c14b"}, + {file = "ruff-0.3.0-py3-none-win_amd64.whl", hash = "sha256:128265876c1d703e5f5e5a4543bd8be47c73a9ba223fd3989d4aa87dd06f312f"}, + {file = "ruff-0.3.0-py3-none-win_arm64.whl", hash = "sha256:e3a4a6d46aef0a84b74fcd201a4401ea9a6cd85614f6a9435f2d33dd8cefbf83"}, + {file = "ruff-0.3.0.tar.gz", hash = "sha256:0886184ba2618d815067cf43e005388967b67ab9c80df52b32ec1152ab49f53a"}, ] [[package]] @@ -3817,13 +3817,13 @@ wsproto = ">=0.14" [[package]] name = "twilio" -version = "8.13.0" +version = "9.0.0" description = "Twilio API client and TwiML generator" optional = false python-versions = ">=3.7.0" files = [ - {file = "twilio-8.13.0-py2.py3-none-any.whl", hash = "sha256:f5396e355de11b80c6729bd286fdc0e12c9c0b025c465f16f090034a7ef88d3d"}, - {file = "twilio-8.13.0.tar.gz", hash = "sha256:89f629fa280b51bc21cd58b35cf640f9bbf88efd3977c0c5ec6ea6821b9880cd"}, + {file = "twilio-9.0.0-py2.py3-none-any.whl", hash = "sha256:998bbda516e7257f5ab65b65012304b917e700688a39f3c72fb969612acf0879"}, + {file = "twilio-9.0.0.tar.gz", hash = "sha256:0b09919de65a982a0cd3b81db1b621f5fb8e4507f5cd9c35e5cf91128717e717"}, ] [package.dependencies] @@ -3834,13 +3834,13 @@ requests = ">=2.0.0" [[package]] name = "twisted" -version = "23.10.0" +version = "24.3.0" description = "An asynchronous networking framework written in Python" optional = false python-versions = ">=3.8.0" files = [ - {file = "twisted-23.10.0-py3-none-any.whl", hash = "sha256:4ae8bce12999a35f7fe6443e7f1893e6fe09588c8d2bed9c35cdce8ff2d5b444"}, - {file = "twisted-23.10.0.tar.gz", hash = "sha256:987847a0790a2c597197613686e2784fd54167df3a55d0fb17c8412305d76ce5"}, + {file = "twisted-24.3.0-py3-none-any.whl", hash = "sha256:039f2e6a49ab5108abd94de187fa92377abe5985c7a72d68d0ad266ba19eae63"}, + {file = "twisted-24.3.0.tar.gz", hash = "sha256:6b38b6ece7296b5e122c9eb17da2eeab3d98a198f50ca9efd00fb03e5b4fd4ae"}, ] [package.dependencies] @@ -3864,7 +3864,7 @@ dev-release = ["pydoctor (>=23.9.0,<23.10.0)", "pydoctor (>=23.9.0,<23.10.0)", " gtk-platform = ["pygobject", "pygobject", "twisted[all-non-platform]", "twisted[all-non-platform]"] http2 = ["h2 (>=3.0,<5.0)", "priority (>=1.1.0,<2.0)"] macos-platform = ["pyobjc-core", "pyobjc-core", "pyobjc-framework-cfnetwork", "pyobjc-framework-cfnetwork", "pyobjc-framework-cocoa", "pyobjc-framework-cocoa", "twisted[all-non-platform]", "twisted[all-non-platform]"] -mypy = ["mypy (>=1.5.1,<1.6.0)", "mypy-zope (>=1.0.1,<1.1.0)", "twisted[all-non-platform,dev]", "types-pyopenssl", "types-setuptools"] +mypy = ["mypy (>=1.8,<2.0)", "mypy-zope (>=1.0.3,<1.1.0)", "twisted[all-non-platform,dev]", "types-pyopenssl", "types-setuptools"] osx-platform = ["twisted[macos-platform]", "twisted[macos-platform]"] serial = ["pyserial (>=3.0)", "pywin32 (!=226)"] test = ["cython-test-exception-raiser (>=1.0.2,<2)", "hypothesis (>=6.56)", "pyhamcrest (>=2)"] diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 9edbe9a832ec..15e4cdbbbadb 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -12,10 +12,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", - "@wdio/cli": "^8.32.3", - "@wdio/local-runner": "^8.32.3", - "@wdio/mocha-framework": "^8.32.3", - "@wdio/spec-reporter": "^8.32.2", + "@wdio/cli": "^8.32.4", + "@wdio/local-runner": "^8.32.4", + "@wdio/mocha-framework": "^8.32.4", + "@wdio/spec-reporter": "^8.32.4", "eslint": "^8.57.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.24.0", @@ -1186,19 +1186,19 @@ } }, "node_modules/@wdio/cli": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.32.3.tgz", - "integrity": "sha512-qjR1MFKQM547iCooceBHyggJRNguD7fhgF4Q7L2r7psG3AQFWzdCN/8rulRGIxTz4PJlIqks9AH9kUJlVAf44A==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.32.4.tgz", + "integrity": "sha512-nLf75OuSp24K4O+gqPtmyrqKsOrbbv62lUro41Y6NsUxOMV/0kKmsm5jt+1B7VnA3t7a5rDAkRhVfLlzHJNbqg==", "dev": true, "dependencies": { "@types/node": "^20.1.1", "@vitest/snapshot": "^1.2.1", - "@wdio/config": "8.32.3", - "@wdio/globals": "8.32.3", + "@wdio/config": "8.32.4", + "@wdio/globals": "8.32.4", "@wdio/logger": "8.28.0", "@wdio/protocols": "8.32.0", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "async-exit-hook": "^2.0.1", "chalk": "^5.2.0", "chokidar": "^3.5.3", @@ -1213,7 +1213,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "10.0.0", "recursive-readdir": "^2.2.3", - "webdriverio": "8.32.3", + "webdriverio": "8.32.4", "yargs": "^17.7.2" }, "bin": { @@ -1236,14 +1236,14 @@ } }, "node_modules/@wdio/config": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.32.3.tgz", - "integrity": "sha512-hZkaz5Fd8830uniQvRgPus8yp9rp50MAsHa5kZ2Jt8y++Rp330FyJpQZE5oPjTATuz35G5Anprk2Q3fmFd0Ifw==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.32.4.tgz", + "integrity": "sha512-bXgvDdkD7OWvH9dtl59hh77DQYWIqqJbosEaaTdXT3I2TRNn1gA3VkzgEUB7wy3x0wXV/uefn4hgkDHdAhRTlw==", "dev": true, "dependencies": { "@wdio/logger": "8.28.0", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", @@ -1254,29 +1254,29 @@ } }, "node_modules/@wdio/globals": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.32.3.tgz", - "integrity": "sha512-jyK89GvWaOYQT9pfZ6HNwkFANgai9eBVfeDPw5yFLXfk6js9GSWbvqMJg/PFi1dQ7xbnbuuf5eYVc65bfAt9KQ==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.32.4.tgz", + "integrity": "sha512-ttE3pbsyDL1SceLgsWHo4F8GFAKX3ophDFSDt5lzuqXIN3382jXSEzbKtiHVOntSSVGsOJCISkNBSZiW0nfBbg==", "dev": true, "engines": { "node": "^16.13 || >=18" }, "optionalDependencies": { "expect-webdriverio": "^4.11.2", - "webdriverio": "8.32.3" + "webdriverio": "8.32.4" } }, "node_modules/@wdio/local-runner": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.32.3.tgz", - "integrity": "sha512-YgqYkKarx2m9OjA8WO4NqQPCfFNLmZHnuEWQ6P2LqUeYFsdXRd3wR3UTo9XrI23VSQo+kcpqInsR5vLOYDd1zg==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.32.4.tgz", + "integrity": "sha512-5WxbIFRphtwA4uBgN8TM3lDsazdFQV7barLcB5mFiWrRlz2C9yKAU7+eoAAtFZyDO0UMD19rkq0Pd1fQTQ1toQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.28.0", "@wdio/repl": "8.24.12", - "@wdio/runner": "8.32.3", - "@wdio/types": "8.32.2", + "@wdio/runner": "8.32.4", + "@wdio/types": "8.32.4", "async-exit-hook": "^2.0.1", "split2": "^4.1.0", "stream-buffers": "^3.0.2" @@ -1313,16 +1313,16 @@ } }, "node_modules/@wdio/mocha-framework": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.32.3.tgz", - "integrity": "sha512-wwQ6rDd6TMPqwGfkwvtcBmcirYZUi9GUiwH2OsHvMJ4i+YY7H2dLyZon1ghcIan7r4ufr8KlljbwyerCpUzvcw==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.32.4.tgz", + "integrity": "sha512-xyL6gYXHBoRGnLpSGK2Aj8gz4jsidv9sPQl+G6xwnEMOvYKgGIvmd3WDToyit5/ghTgHjPcE9Th4Ef+NFPWUDw==", "dev": true, "dependencies": { "@types/mocha": "^10.0.0", "@types/node": "^20.1.0", "@wdio/logger": "8.28.0", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "mocha": "^10.0.0" }, "engines": { @@ -1348,14 +1348,14 @@ } }, "node_modules/@wdio/reporter": { - "version": "8.32.2", - "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.32.2.tgz", - "integrity": "sha512-BZdReAFfRCtgtYbyhkKgSGqqoIn/yG5/Z4COjvRvon9NJkz+eA4PiHCKdEP7+ekBIjud7H8Gy+6mPBDEu+wllw==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.32.4.tgz", + "integrity": "sha512-kZXbyNuZSSpk4kBavDb+ac25ODu9NVZED6WwZafrlMSnBHcDkoMt26Q0Jp3RKUj+FTyuKH0HvfeLrwVkk6QKDw==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.28.0", - "@wdio/types": "8.32.2", + "@wdio/types": "8.32.4", "diff": "^5.0.0", "object-inspect": "^1.12.0" }, @@ -1364,35 +1364,35 @@ } }, "node_modules/@wdio/runner": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.32.3.tgz", - "integrity": "sha512-HlhdQ4lJ07seL7/x0UQPDnK+o5a0okyjd8ukFYqDL+g9+d3KlW/oM3NvFfX7pb9liIYNEpmoNMwKFp+5XPUE7w==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.32.4.tgz", + "integrity": "sha512-JMoQ2xqsoVqApRHXNrOp0HC5J62tFlbazBsCzThUzvHkuDBaIcExpdoD4OZoI13xMk6MT4fYTA85x84AnrJSHQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.32.3", - "@wdio/globals": "8.32.3", + "@wdio/config": "8.32.4", + "@wdio/globals": "8.32.4", "@wdio/logger": "8.28.0", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "deepmerge-ts": "^5.0.0", "expect-webdriverio": "^4.11.2", "gaze": "^1.1.2", - "webdriver": "8.32.3", - "webdriverio": "8.32.3" + "webdriver": "8.32.4", + "webdriverio": "8.32.4" }, "engines": { "node": "^16.13 || >=18" } }, "node_modules/@wdio/spec-reporter": { - "version": "8.32.2", - "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.32.2.tgz", - "integrity": "sha512-3hUXpE+idC4KOXofJnpubdDDCE8X0OTd6ykypiaXMI2hJTA2nIZcHtpRQnAE0E4JT9OzLnPWODcMq54GGBDRkg==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.32.4.tgz", + "integrity": "sha512-3TbD/KrK+EhUex5d5/11qSEKqyNiMHqm27my86tdiK0Ltt9pc/9Ybg1YBiWKlzV9U9MI4seVBRZCXltG17ky/A==", "dev": true, "dependencies": { - "@wdio/reporter": "8.32.2", - "@wdio/types": "8.32.2", + "@wdio/reporter": "8.32.4", + "@wdio/types": "8.32.4", "chalk": "^5.1.2", "easy-table": "^1.2.0", "pretty-ms": "^7.0.0" @@ -1414,9 +1414,9 @@ } }, "node_modules/@wdio/types": { - "version": "8.32.2", - "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.32.2.tgz", - "integrity": "sha512-jq8LcBBQpBP9ZF5kECKEpXv8hN7irCGCjLFAN0Bd5ScRR6qu6MGWvwkDkau2sFPr0b++sKDCEaMzQlwrGFjZXg==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.32.4.tgz", + "integrity": "sha512-pDPGcCvq0MQF8u0sjw9m4aMI2gAKn6vphyBB2+1IxYriL777gbbxd7WQ+PygMBvYVprCYIkLPvhUFwF85WakmA==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -1426,14 +1426,14 @@ } }, "node_modules/@wdio/utils": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.32.3.tgz", - "integrity": "sha512-UnR9rPpR1W9U5wz2TU+6BQ2rlxtuK/e3fvdaiWIMZKleB/OCcEQFGiGPAGGVi4ShfaTPwz6hK1cTTgj1OtMXkg==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.32.4.tgz", + "integrity": "sha512-5GO8RF/q+/JmmO0+3jphialn0CzsSW1PhCUBfk6a5VMkvyUmbbe7ad+6HQergug38apPH/4EuENwOOwUIzUQHQ==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", "@wdio/logger": "8.28.0", - "@wdio/types": "8.32.2", + "@wdio/types": "8.32.4", "decamelize": "^6.0.0", "deepmerge-ts": "^5.1.0", "edgedriver": "^5.3.5", @@ -2587,9 +2587,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1262051", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1262051.tgz", - "integrity": "sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==", + "version": "0.0.1263784", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1263784.tgz", + "integrity": "sha512-k0SCZMwj587w4F8QYbP5iIbSonL6sd3q8aVJch036r9Tv2t9b5/Oq7AiJ/FJvRuORm/pJNXZtrdNNWlpRnl56A==", "dev": true }, "node_modules/diff": { @@ -8749,18 +8749,18 @@ } }, "node_modules/webdriver": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.32.3.tgz", - "integrity": "sha512-1/kpZvuftt59oikHs+6FvWXNfOM5tgMMMAk3LnMe7D938dVOoNGAe46fq0oL/xsxxPicbMRTRgIy1OifLiglaA==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.32.4.tgz", + "integrity": "sha512-4J3ddiW6JJMm0bSdpqcsD/ek+HI+qLWOx/0Hwf+ecfj+Lf+CyKBmv5u8vdjZcLq9pUllhFSZWeiBpnxbU3hqzA==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.32.3", + "@wdio/config": "8.32.4", "@wdio/logger": "8.28.0", "@wdio/protocols": "8.32.0", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "deepmerge-ts": "^5.1.0", "got": "^12.6.1", "ky": "^0.33.0", @@ -8771,23 +8771,23 @@ } }, "node_modules/webdriverio": { - "version": "8.32.3", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.32.3.tgz", - "integrity": "sha512-SupbQKMtUZHSH7lmF5xaJPgxsn8sIBNAjs1CyPI33u30eY9VcVQ4CJQ818ZS3FLxR0q2XdWk9lsQNyhZwlN3RA==", + "version": "8.32.4", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.32.4.tgz", + "integrity": "sha512-w9LCyLFEgGtp23/xN/hmYd1FFlXCRnZeH0BhHcDAiDNttIXTQ7Wcl2kSrb92JyJMZxhq33sL3zoMys9AMYTWxw==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.32.3", + "@wdio/config": "8.32.4", "@wdio/logger": "8.28.0", "@wdio/protocols": "8.32.0", "@wdio/repl": "8.24.12", - "@wdio/types": "8.32.2", - "@wdio/utils": "8.32.3", + "@wdio/types": "8.32.4", + "@wdio/utils": "8.32.4", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools-protocol": "^0.0.1262051", + "devtools-protocol": "^0.0.1263784", "grapheme-splitter": "^1.0.2", "import-meta-resolve": "^4.0.0", "is-plain-obj": "^4.1.0", @@ -8799,7 +8799,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.32.3" + "webdriver": "8.32.4" }, "engines": { "node": "^16.13 || >=18" diff --git a/tests/wdio/package.json b/tests/wdio/package.json index b67b4af99693..07729cd8ec2a 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,10 +6,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", - "@wdio/cli": "^8.32.3", - "@wdio/local-runner": "^8.32.3", - "@wdio/mocha-framework": "^8.32.3", - "@wdio/spec-reporter": "^8.32.2", + "@wdio/cli": "^8.32.4", + "@wdio/local-runner": "^8.32.4", + "@wdio/mocha-framework": "^8.32.4", + "@wdio/spec-reporter": "^8.32.4", "eslint": "^8.57.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.24.0", diff --git a/web/package-lock.json b/web/package-lock.json index dc76a105e756..255c0378f8b8 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -24,7 +24,7 @@ "@open-wc/lit-helpers": "^0.7.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.103.0", + "@sentry/browser": "^7.104.0", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.2", @@ -40,7 +40,7 @@ "mermaid": "^10.8.0", "rapidoc": "^9.3.4", "showdown": "^2.1.0", - "style-mod": "^4.1.1", + "style-mod": "^4.1.2", "webcomponent-qr-code": "^1.2.0", "yaml": "^2.4.0" }, @@ -118,13 +118,13 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -2294,9 +2294,9 @@ } }, "node_modules/@codemirror/view": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.24.1.tgz", - "integrity": "sha512-sBfP4rniPBRQzNakwuQEqjEuiJDWJyF2kqLLqij4WXRoVwPPJfjx966Eq3F7+OPQxDtMt/Q9MWLoZLWjeveBlg==", + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.25.0.tgz", + "integrity": "sha512-XnMGOm6qXB8znzCko0N7k97qZayVdvqpA0JebxA5fHtgBjC/XlCPhH9TK92TahsoCKMPQlaTCUep06Dwj/+GXQ==", "dependencies": { "@codemirror/state": "^6.4.0", "style-mod": "^4.1.0", @@ -3290,14 +3290,14 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", - "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -3328,9 +3328,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", - "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3410,9 +3410,9 @@ } }, "node_modules/@lezer/xml": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.4.tgz", - "integrity": "sha512-WmXKb5eX8+rRfZYSNRR5TPee/ZoDgBdVS/rj1VCJGDKa5gNldIctQYibCoFVyNhvZsyL/8nHbZJZPM4gnXN2Vw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.5.tgz", + "integrity": "sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw==", "dependencies": { "@lezer/common": "^1.2.0", "@lezer/highlight": "^1.0.0", @@ -4513,102 +4513,102 @@ "peer": true }, "node_modules/@sentry-internal/feedback": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.103.0.tgz", - "integrity": "sha512-2nYoCfP7FpiUR+xxO5y5BL2ajHrhM4fL7HSup6QKNn7gI7vLyllYOOuYFNHhSmsXCD0i00U8DBClGLcn+6DQqw==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.105.0.tgz", + "integrity": "sha512-17doUQFKYgLfG7EmZXjZQ7HR/aBzuLDd+GVaCNthUPyiz/tltV7EFECDWwHpXqzQgYRgroSbY8PruMVujFGUUw==", "dependencies": { - "@sentry/core": "7.103.0", - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry/core": "7.105.0", + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.103.0.tgz", - "integrity": "sha512-EyDRMdlSqtwY8zGFhOWwl+nwwo98hlhJz+bpF5PQ6VmFpbplh6Wqfx2p+cPXQr40TGMMC4+vPFlSWTOMjcO9zQ==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.105.0.tgz", + "integrity": "sha512-XMBdkjIDhap5Gwrub5wlUJhuUVJM4aL4lZV8KcxJZZSXgXsnyGYbEh9SPZOHO05jtbxTxVeL3Pik5qtYjdGnPA==", "dependencies": { - "@sentry/core": "7.103.0", - "@sentry/replay": "7.103.0", - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry/core": "7.105.0", + "@sentry/replay": "7.105.0", + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/tracing": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.103.0.tgz", - "integrity": "sha512-sZ/Wao8HOvGaBs7WlOdflMpHGAFkOBWL6hBiirHaOy5d+IDm7n7et5U6zhvcfiyYBO4nY36gy1Tg5mw+aNO0Vw==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.105.0.tgz", + "integrity": "sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==", "dependencies": { - "@sentry/core": "7.103.0", - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry/core": "7.105.0", + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/browser": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.103.0.tgz", - "integrity": "sha512-lP3Oplnwo1lY8ltk8SWzQURbxnSfVhYA099mVs1T95sdwXS16Za6SX7Ld/9T506ZW/WyoU4VCq7eKtG2kPFhMQ==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.105.0.tgz", + "integrity": "sha512-OlYJzsZG109T1VpZ7O7KXf9IXCUUpp41lkkQM7ICBOBsfiHRUKmV5piTGCG5UgAvyb/gI/I1uQQtO4jthcHKEA==", "dependencies": { - "@sentry-internal/feedback": "7.103.0", - "@sentry-internal/replay-canvas": "7.103.0", - "@sentry-internal/tracing": "7.103.0", - "@sentry/core": "7.103.0", - "@sentry/replay": "7.103.0", - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry-internal/feedback": "7.105.0", + "@sentry-internal/replay-canvas": "7.105.0", + "@sentry-internal/tracing": "7.105.0", + "@sentry/core": "7.105.0", + "@sentry/replay": "7.105.0", + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.103.0.tgz", - "integrity": "sha512-LCI+PIDoF/RLqN41fNXum3ilmS6ukni6L7t38vSdibbe2G0804EbPLtOIpv2PkS8E6CFuRW5zOb+8OwEAAtZWw==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.105.0.tgz", + "integrity": "sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==", "dependencies": { - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/replay": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.103.0.tgz", - "integrity": "sha512-I37komyb+DruQG8lPPPOFxLLbOijNXeTxiWLsIn+KFZqRtKqxxQWdNnk56V4YSTpFzxnMEFMRCpXhncuTWu4LA==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.105.0.tgz", + "integrity": "sha512-hZD2m6fNL9gorUOaaEpqxeH7zNP4y2Ej0TdieM1HMQ2q9Zrm9yOzk9/7ALfbRLIZFRMFTqo9vvVztLs3E+Hx+g==", "dependencies": { - "@sentry-internal/tracing": "7.103.0", - "@sentry/core": "7.103.0", - "@sentry/types": "7.103.0", - "@sentry/utils": "7.103.0" + "@sentry-internal/tracing": "7.105.0", + "@sentry/core": "7.105.0", + "@sentry/types": "7.105.0", + "@sentry/utils": "7.105.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/types": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.103.0.tgz", - "integrity": "sha512-NCvKyx8d2AGBQKPARrJemZmZ16DiMo688OEikZg4BbvFNDUzK5Egm2BH0vfLDhbNkU19o3maJowrYo42m8r9Zw==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.105.0.tgz", + "integrity": "sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.103.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.103.0.tgz", - "integrity": "sha512-phkUJt3F0UOkVq+M4GfdAh2ewI3ASrNiJddx9aO7GnT0aDwwVBHZltnqt95qgAB8W+BipTSt1dAh8yUbbq1Ceg==", + "version": "7.105.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.105.0.tgz", + "integrity": "sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==", "dependencies": { - "@sentry/types": "7.103.0" + "@sentry/types": "7.105.0" }, "engines": { "node": ">=8" @@ -7915,11 +7915,11 @@ "dev": true }, "node_modules/@types/ramda": { - "version": "0.29.10", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.10.tgz", - "integrity": "sha512-0BzWVKtSEtignlk+XBuK88Il5wzQwbRVfEkzE8iKm02NYHMGQ/9ffB05M+zXhTCqo50DOIAT9pNSJsjFMMG4rQ==", + "version": "0.29.11", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.11.tgz", + "integrity": "sha512-jm1+PmNOpE7aPS+mMcuB4a72VkCXUJqPSaQRu2YqR8MbsFfaowYXgKxc7bluYdDpRHNXT5Z+xu+Lgr3/ml6wSA==", "dependencies": { - "types-ramda": "^0.29.7" + "types-ramda": "^0.29.9" } }, "node_modules/@types/range-parser": { @@ -9083,9 +9083,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001591", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", - "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", + "version": "1.0.30001593", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz", + "integrity": "sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==", "dev": true, "funding": [ { @@ -10529,9 +10529,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.687", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.687.tgz", - "integrity": "sha512-Ic85cOuXSP6h7KM0AIJ2hpJ98Bo4hyTUjc4yjMbkvD+8yTxEhfK9+8exT2KKYsSjnCn2tGsKVSZwE7ZgTORQCw==", + "version": "1.4.690", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", + "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", "dev": true }, "node_modules/elkjs": { @@ -13770,9 +13770,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", - "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -14974,15 +14974,16 @@ } }, "node_modules/nypm": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.6.tgz", - "integrity": "sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", + "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", "dev": true, "dependencies": { - "citty": "^0.1.5", + "citty": "^0.1.6", + "consola": "^3.2.3", "execa": "^8.0.1", "pathe": "^1.1.2", - "ufo": "^1.3.2" + "ufo": "^1.4.0" }, "bin": { "nypm": "dist/cli.mjs" @@ -15678,9 +15679,9 @@ } }, "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", "optional": true, "dependencies": { "detect-libc": "^2.0.0", @@ -16372,15 +16373,15 @@ } }, "node_modules/recast": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz", - "integrity": "sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.5.tgz", + "integrity": "sha512-M67zIddJiwXdfPQRYKJ0qZO1SLdH1I0hYeb0wzxA+pNOvAZiQHulWzuk+fYsEWRQ8VfZrgjyucqsCOtCyM01/A==", "dev": true, "dependencies": { - "assert": "^2.0.0", "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" }, "engines": { @@ -16951,11 +16952,11 @@ } }, "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" @@ -17402,9 +17403,9 @@ } }, "node_modules/swagger-client": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.25.3.tgz", - "integrity": "sha512-DUQ1zBgs+SDRTL+w2F2KDoneA9rkwpq9oF2Gex0HzGdlWP/4mEClFgp6ulMgcdSS2mC+B7thnvuT6aF1AwKbqw==", + "version": "3.25.4", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.25.4.tgz", + "integrity": "sha512-pq9Zs6yf6Giy5JLnkUSeH+y1AQrhomDCkmVYpMY5Rkx6u70jnyiuRWwkGW6cgsPY+/8N38jRGieoWzJYPPGIuA==", "dependencies": { "@babel/runtime-corejs3": "^7.22.15", "@swagger-api/apidom-core": ">=0.90.0 <1.0.0", @@ -18079,9 +18080,9 @@ "dev": true }, "node_modules/types-ramda": { - "version": "0.29.8", - "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.8.tgz", - "integrity": "sha512-+RTOlcwl1hEdNV1xfug3ofG6rny0hqQsFuBmS88vD4Lrh8Iys14IPlUH9QaGjCY46iCZgEDuCTLMLH/pOOsGKg==", + "version": "0.29.9", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.9.tgz", + "integrity": "sha512-B+VbLtW68J4ncG/rccKaYDhlirKlVH/Izh2JZUfaPJv+3Tl2jbbgYsB1pvole1vXKSgaPlAe/wgEdOnMdAu52A==", "dependencies": { "ts-toolbelt": "^9.6.0" } @@ -18261,13 +18262,13 @@ } }, "node_modules/unplugin": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz", - "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.8.0.tgz", + "integrity": "sha512-yGEQsodWICmgt7asHF7QzqDZYeEP9h14vyd9Lul98UnYf29pLZZLwI09z2QdTjwU/FCkum1SRvsK7cx232X8NA==", "dev": true, "dependencies": { "acorn": "^8.11.3", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.6.1" } diff --git a/web/package.json b/web/package.json index 6dff6d67d2fe..714c350ec674 100644 --- a/web/package.json +++ b/web/package.json @@ -45,7 +45,7 @@ "@open-wc/lit-helpers": "^0.7.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.103.0", + "@sentry/browser": "^7.104.0", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.2", @@ -61,7 +61,7 @@ "mermaid": "^10.8.0", "rapidoc": "^9.3.4", "showdown": "^2.1.0", - "style-mod": "^4.1.1", + "style-mod": "^4.1.2", "webcomponent-qr-code": "^1.2.0", "yaml": "^2.4.0" }, diff --git a/web/src/admin/applications/ApplicationListPage.ts b/web/src/admin/applications/ApplicationListPage.ts index e64664e552b5..aa9c90a0a790 100644 --- a/web/src/admin/applications/ApplicationListPage.ts +++ b/web/src/admin/applications/ApplicationListPage.ts @@ -3,7 +3,7 @@ import { PFSize } from "@goauthentik/app/elements/Spinner"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { uiConfig } from "@goauthentik/common/ui/config"; import "@goauthentik/components/ak-app-icon"; -import MDApplication from "@goauthentik/docs/core/applications.md"; +import MDApplication from "@goauthentik/docs/applications/index.md"; import "@goauthentik/elements/Markdown"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; diff --git a/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts index 90d0f7580663..2be3f8f104b2 100644 --- a/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts +++ b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts @@ -183,7 +183,6 @@ export class AkTypeProxyApplicationWizardPage extends BaseProviderPanel { ${this.propertyMappings?.results.map((mapping) => { let selected = false; diff --git a/web/src/admin/providers/rac/RACProviderForm.ts b/web/src/admin/providers/rac/RACProviderForm.ts index 46eae9cdc9c4..ec9c6477d384 100644 --- a/web/src/admin/providers/rac/RACProviderForm.ts +++ b/web/src/admin/providers/rac/RACProviderForm.ts @@ -135,7 +135,6 @@ export class RACProviderFormPage extends ModelForm {
diff --git a/web/src/admin/providers/scim/SCIMProviderForm.ts b/web/src/admin/providers/scim/SCIMProviderForm.ts index e505c4b23ab2..1e66268e0c94 100644 --- a/web/src/admin/providers/scim/SCIMProviderForm.ts +++ b/web/src/admin/providers/scim/SCIMProviderForm.ts @@ -151,7 +151,6 @@ export class SCIMProviderFormPage extends BaseProviderForm {
diff --git a/web/src/admin/sources/ldap/LDAPSourceForm.ts b/web/src/admin/sources/ldap/LDAPSourceForm.ts index 39a121cb9970..f62478963cd4 100644 --- a/web/src/admin/sources/ldap/LDAPSourceForm.ts +++ b/web/src/admin/sources/ldap/LDAPSourceForm.ts @@ -253,7 +253,6 @@ export class LDAPSourceForm extends BaseSourceForm {
diff --git a/website/docs/applications/index.md b/website/docs/applications/index.md new file mode 100644 index 000000000000..0860535ec38b --- /dev/null +++ b/website/docs/applications/index.md @@ -0,0 +1,39 @@ +--- +title: Applications +slug: /applications +--- + +Applications, as defined in authentik, are used to configure and separate the authorization/access control and the appearance of a specific software application in the **My applications** page. + +When a user logs into authentik, they see a list of the applications for which authentik is configured to provide authentication and authorization (the applications that that they are authorized to use). + +Applications are the "other half" of providers. They typically exist in a 1-to-1 relationship; each application needs a provider and every provider can be used with one application. + +Applications can, however, use specific, additional providers to augment the functionality of the main provider. For more information, see [Backchannel providers](./manage_apps.md#backchannel-providers). + +Furthermore, the [RAC (Remote Access Control)](../providers/rac/index.md) feature uses a single application and a single provider, but multiple "endpoints". An endpoint defines each remote machine. + +## Appearance + +Applications are displayed to users when: + +- The user has access defined via policies (or the application has no policies bound) +- A valid Launch URL is configured/could be guessed, this consists of URLs starting with http:// and https:// + +The following aspects can be configured: + +- _Name_: This is the name shown for the application card +- _Launch URL_: The URL that is opened when a user clicks on the application. When left empty, authentik tries to guess it based on the provider + + You can use placeholders in the launch url to build them dynamically based on the logged in user. For example, you can set the Launch URL to `https://goauthentik.io/%(username)s`, which will be replaced with the currently logged in user's username. + + Only applications whose launch URL starts with `http://` or `https://` or are relative URLs are shown on the users' **My applications** page. This can also be used to hide applications that shouldn't be visible on the **My applications** page but are still accessible by users, by setting the _Launch URL_ to `blank://blank`. + +- _Icon (URL)_: Optionally configure an Icon for the application + + If the authentik server does not have a volume mounted under `/media`, you'll get a text input. This accepts absolute URLs. If you've mounted single files into the container, you can reference them using `https://authentik.company/media/my-file.png`. + + If there is a mount under `/media` or if [S3 storage](../installation/storage-s3.md) is configured, you'll instead see a field to upload a file. + +- _Publisher_: Text shown below the sapplication +- _Description_: Subtext shown on the application card below the publisher diff --git a/website/docs/applications/manage_apps.md b/website/docs/applications/manage_apps.md new file mode 100644 index 000000000000..db6ad6c8a8e3 --- /dev/null +++ b/website/docs/applications/manage_apps.md @@ -0,0 +1,52 @@ +--- +title: Manage applications +--- + +Managing the applications that your team uses involves several tasks, from initially adding the application and provider, to controlling access and visibility of the application, to providing access URLs. + +## Add new applications + +Learn how to add new applications from our video or follow the instructions below. + +### Video + + + +### Instructions + +To add an application to authentik and have it display on users' **My applications** page, you can use the Application Wizard, which creates both the new application and the required provider at the same time. + +1. Log into authentik as an admin, and navigate to **Applications --> Applications**. + +2. Click **Create with Wizard**. (Alternatively, use our legacy process and click **Create**. The legacy process requires that the application and its authentication provider be configured separately.) + +3. In the **New application** wizard, define the application details, the provider type and configuration, and then click **Submit**. + +4. To manage the display of the new application on the **My applications** page, you can optionally define the bindings for a specific policy, group, or user. Note that if you do not define bindings, then all users have access to the application, For more information, refer to [authorization](#authorization). + +## Authorization + +Application access can be configured using (Policy) Bindings. Click on an application in the applications list, and select the _Policy / Group / User Bindings_ tab. There you can bind users/groups/policies to grant them access. When nothing is bound, everyone has access. You can use this to grant access to one or multiple users/groups, or dynamically give access using policies. + +By default, all users can access applications when no policies are bound. + +When multiple policies/groups/users are attached, you can configure the _Policy engine mode_ to either: + +- Require users to pass all bindings/be member of all groups (ALL), or +- Require users to pass either binding/be member of either group (ANY) + +## Hide applications + +To hide an application without modifying its policy settings or removing it, you can simply set the _Launch URL_ to `blank://blank`, which will hide the application from users. + +Keep in mind that users still have access, so they can still authorize access when the login process is started from the application. + +## Launch URLs + +To give users direct links to applications, you can now use a URL like `https://authentik.company/application/launch//`. If the user is already logged in, they will be redirected to the application automatically. Otherwise, they'll be sent to the authentication flow and, if successful, forwarded to the application. + +## Backchannel providers + +Backchannel providers can augment the functionality of applications by using additional protocols. The main provider of an application provides the SSO protocol that is used for logging into the application. Then, additional backchannel providers can be used for protocols such as [SCIM](../providers/scim/index.md) and [LDAP](../providers/ldap/index.md) to provide directory syncing. + +Access restrictions that are configured on an application apply to all of its backchannel providers. diff --git a/website/docs/core/applications.md b/website/docs/core/applications.md deleted file mode 100644 index 1cf8da196f29..000000000000 --- a/website/docs/core/applications.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Applications -slug: /applications ---- - -Applications in authentik are the other half of providers. They exist in a 1-to-1 relationship, each application needs a provider and every provider can be used with one application. Starting with authentik 2023.5, applications can use multiple providers, to augment the functionality of the main provider. For more information, see [Backchannel providers](#backchannel-providers). - -Applications are used to configure and separate the authorization / access control and the appearance in the _My applications_ page. - -## Authorization - -Application access can be configured using (Policy) Bindings. Click on an application in the applications list, and select the _Policy / Group / User Bindings_ tab. There you can bind users/groups/policies to grant them access. When nothing is bound, everyone has access. You can use this to grant access to one or multiple users/groups, or dynamically give access using policies. - -By default, all users can access applications when no policies are bound. - -When multiple policies/groups/users are attached, you can configure the _Policy engine mode_ to either - -- Require users to pass all bindings/be member of all groups (ALL), or -- Require users to pass either binding/be member of either group (ANY) - -## Appearance - -The following aspects can be configured: - -- _Name_: This is the name shown for the application card -- _Launch URL_: The URL that is opened when a user clicks on the application. When left empty, authentik tries to guess it based on the provider - - Starting with authentik 2022.2, you can use placeholders in the launch url to build them dynamically based on logged in user. For example, you can set the Launch URL to `https://goauthentik.io/%(username)s`, which will be replaced with the currently logged in user's username. - - Only applications whose launch URL starts with `http://` or `https://` or are relative URLs are shown on the users's **My applications** page. This can also be used to hide applications that shouldn't be visible on the **My applications** page but are still accessible by users, by setting the _Launch URL_ to `blank://blank`. - -- _Icon (URL)_: Optionally configure an Icon for the application - - If the authentik server does not have a volume mounted under `/media`, you'll get a text input. This accepts absolute URLs. If you've mounted single files into the container, you can reference them using `https://authentik.company/media/my-file.png`. - - If there is a mount under `/media` or if [S3 storage](../installation/storage-s3.md) is configured, you'll instead see a field to upload a file. - -- _Publisher_: Text shown below the application -- _Description_: Subtext shown on the application card below the publisher - -Applications are shown to users when - -- The user has access defined via policies (or the application has no policies bound) -- A Valid Launch URL is configured/could be guessed, this consists of URLs starting with http:// and https:// - -#### Hiding applications - -To hide applications without modifying policy settings and without removing it, you can simply set the _Launch URL_ to `blank://blank`, which will hide the application from users. - -Keep in mind, the users still have access, so they can still authorize access when the login process is started from the application. - -### Launch URLs - -:::info -Requires authentik 2022.3 -::: - -To give users direct links to applications, you can now use an URL like `https://authentik.company/application/launch//`. This will redirect the user directly if they're already logged in, and otherwise authenticate the user, and then forward them. - -### Backchannel providers - -:::info -Requires authentik version 2023.5 or later. -::: - -Backchannel providers can augment the functionality of applications by using additional protocols. The main provider of an application provides the SSO protocol that is used for logging into the application. Then, additional backchannel providers can be used for protocols such as [SCIM](../providers/scim/index.md) and [LDAP](../providers/ldap/index.md) to provide directory syncing. - -Access restrictions that are configured on an application apply to all of its backchannel providers. diff --git a/website/docs/installation/kubernetes.md b/website/docs/installation/kubernetes.md index df339bfd617a..ad43fb979885 100644 --- a/website/docs/installation/kubernetes.md +++ b/website/docs/installation/kubernetes.md @@ -40,12 +40,13 @@ authentik: postgresql: password: "ThisIsNotASecurePassword" -ingress: - # Specify kubernetes ingress controller class name - ingressClassName: nginx | traefik | kong - enabled: true - hosts: - - authentik.domain.tld +server: + ingress: + # Specify kubernetes ingress controller class name + ingressClassName: nginx | traefik | kong + enabled: true + hosts: + - authentik.domain.tld postgresql: enabled: true diff --git a/website/netlify.toml b/website/netlify.toml index da8c567f6c14..3f0dcf2c856c 100644 --- a/website/netlify.toml +++ b/website/netlify.toml @@ -38,3 +38,9 @@ command = "npm run watch" targetPort = 3000 publish = "build" + +# Moving doc files +[[redirects]] + from = "/docs/core/applications" + to = "/docs/applications" + status = 302 diff --git a/website/package-lock.json b/website/package-lock.json index 648b2740e4d7..d400175cba85 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -33,7 +33,7 @@ "@docusaurus/module-type-aliases": "3.1.1", "@docusaurus/tsconfig": "3.1.1", "@docusaurus/types": "3.1.1", - "@types/react": "^18.2.60", + "@types/react": "^18.2.61", "prettier": "3.2.5", "typescript": "~5.3.3" }, @@ -4005,9 +4005,9 @@ "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" }, "node_modules/@types/react": { - "version": "18.2.60", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.60.tgz", - "integrity": "sha512-dfiPj9+k20jJrLGOu9Nf6eqxm2EyJRrq2NvwOFsfbb7sFExZ9WELPs67UImHj3Ayxg8ruTtKtNnbjaF8olPq0A==", + "version": "18.2.61", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.61.tgz", + "integrity": "sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", diff --git a/website/package.json b/website/package.json index 553136090109..6a5d78021f33 100644 --- a/website/package.json +++ b/website/package.json @@ -51,7 +51,7 @@ "@docusaurus/module-type-aliases": "3.1.1", "@docusaurus/tsconfig": "3.1.1", "@docusaurus/types": "3.1.1", - "@types/react": "^18.2.60", + "@types/react": "^18.2.61", "prettier": "3.2.5", "typescript": "~5.3.3" }, diff --git a/website/sidebars.js b/website/sidebars.js index 59999176daac..44ef192a17b5 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -36,7 +36,6 @@ const docsSidebar = { collapsed: true, items: [ "core/terminology", - "core/applications", "core/brands", "core/certificates", "core/geoip", @@ -57,6 +56,15 @@ const docsSidebar = { "enterprise/entsupport", ], }, + { + type: "category", + label: "Applications", + link: { + type: "doc", + id: "applications/index", + }, + items: ["applications/manage_apps"], + }, { type: "category", label: "Providers", diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index 10e5fb75206f..dba1b8dfa19f 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -1,10 +1,16 @@ import React from "react"; import clsx from "clsx"; import Layout from "@theme/Layout"; +import BrowserOnly from "@docusaurus/BrowserOnly"; function Home() { return ( + + {() => { + window.location.href = "/docs"; + }} +

authentik Documentation