Merge branch 'main' into dev

* main:
  website/docs: add example policy to enforce unique email address (#8955)
  web/admin: remove enterprise preview banner (#8991)
  core: bump uvicorn from 0.28.1 to 0.29.0 (#8980)
  core: bump sentry-sdk from 1.42.0 to 1.43.0 (#8981)
  web: bump the babel group in /web with 3 updates (#8983)
  web: bump typescript from 5.4.2 to 5.4.3 in /web (#8984)
  web: bump typescript from 5.4.2 to 5.4.3 in /tests/wdio (#8986)
  web: bump chromedriver from 122.0.6 to 123.0.0 in /tests/wdio (#8987)
  website: bump typescript from 5.4.2 to 5.4.3 in /website (#8989)
  core: bump importlib-metadata from 7.0.2 to 7.1.0 (#8982)
  web: bump the wdio group in /tests/wdio with 3 updates (#8985)
  website: bump postcss from 8.4.37 to 8.4.38 in /website (#8988)
This commit is contained in:
Ken Sternberg
2024-03-21 09:10:21 -07:00
13 changed files with 155 additions and 139 deletions

21
poetry.lock generated
View File

@ -1712,13 +1712,13 @@ files = [
[[package]] [[package]]
name = "importlib-metadata" name = "importlib-metadata"
version = "7.0.2" version = "7.1.0"
description = "Read metadata from Python packages" description = "Read metadata from Python packages"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "importlib_metadata-7.0.2-py3-none-any.whl", hash = "sha256:f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100"}, {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"},
{file = "importlib_metadata-7.0.2.tar.gz", hash = "sha256:198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792"}, {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"},
] ]
[package.dependencies] [package.dependencies]
@ -1727,7 +1727,7 @@ zipp = ">=0.5"
[package.extras] [package.extras]
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"] perf = ["ipython"]
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"]
[[package]] [[package]]
name = "incremental" name = "incremental"
@ -3570,13 +3570,13 @@ urllib3 = {version = ">=1.26,<3", extras = ["socks"]}
[[package]] [[package]]
name = "sentry-sdk" name = "sentry-sdk"
version = "1.42.0" version = "1.43.0"
description = "Python client for Sentry (https://sentry.io)" description = "Python client for Sentry (https://sentry.io)"
optional = false optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "sentry-sdk-1.42.0.tar.gz", hash = "sha256:4a8364b8f7edbf47f95f7163e48334c96100d9c098f0ae6606e2e18183c223e6"}, {file = "sentry-sdk-1.43.0.tar.gz", hash = "sha256:41df73af89d22921d8733714fb0fc5586c3461907e06688e6537d01a27e0e0f6"},
{file = "sentry_sdk-1.42.0-py2.py3-none-any.whl", hash = "sha256:a654ee7e497a3f5f6368b36d4f04baeab1fe92b3105f7f6965d6ef0de35a9ba4"}, {file = "sentry_sdk-1.43.0-py2.py3-none-any.whl", hash = "sha256:8d768724839ca18d7b4c7463ef7528c40b7aa2bfbf7fe554d5f9a7c044acfd36"},
] ]
[package.dependencies] [package.dependencies]
@ -3590,6 +3590,7 @@ asyncpg = ["asyncpg (>=0.23)"]
beam = ["apache-beam (>=2.12)"] beam = ["apache-beam (>=2.12)"]
bottle = ["bottle (>=0.12.13)"] bottle = ["bottle (>=0.12.13)"]
celery = ["celery (>=3)"] celery = ["celery (>=3)"]
celery-redbeat = ["celery-redbeat (>=2)"]
chalice = ["chalice (>=1.16.0)"] chalice = ["chalice (>=1.16.0)"]
clickhouse-driver = ["clickhouse-driver (>=0.2.0)"] clickhouse-driver = ["clickhouse-driver (>=0.2.0)"]
django = ["django (>=1.8)"] django = ["django (>=1.8)"]
@ -3983,13 +3984,13 @@ zstd = ["zstandard (>=0.18.0)"]
[[package]] [[package]]
name = "uvicorn" name = "uvicorn"
version = "0.28.1" version = "0.29.0"
description = "The lightning-fast ASGI server." description = "The lightning-fast ASGI server."
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "uvicorn-0.28.1-py3-none-any.whl", hash = "sha256:5162f6d652f545be91b1feeaee8180774af143965ca9dc8a47ff1dc6bafa4ad5"}, {file = "uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de"},
{file = "uvicorn-0.28.1.tar.gz", hash = "sha256:08103e79d546b6cf20f67c7e5e434d2cf500a6e29b28773e407250c54fc4fa3c"}, {file = "uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0"},
] ]
[package.dependencies] [package.dependencies]

View File

@ -6,15 +6,15 @@
"": { "": {
"name": "@goauthentik/web-tests", "name": "@goauthentik/web-tests",
"dependencies": { "dependencies": {
"chromedriver": "^122.0.6" "chromedriver": "^123.0.0"
}, },
"devDependencies": { "devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.3.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@typescript-eslint/eslint-plugin": "^7.3.1", "@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1", "@typescript-eslint/parser": "^7.3.1",
"@wdio/cli": "^8.34.1", "@wdio/cli": "^8.35.1",
"@wdio/local-runner": "^8.34.1", "@wdio/local-runner": "^8.35.1",
"@wdio/mocha-framework": "^8.33.1", "@wdio/mocha-framework": "^8.35.0",
"@wdio/spec-reporter": "^8.32.4", "@wdio/spec-reporter": "^8.32.4",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-config-google": "^0.14.0", "eslint-config-google": "^0.14.0",
@ -22,7 +22,7 @@
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typescript": "^5.4.2", "typescript": "^5.4.3",
"wdio-wait-for": "^3.0.11" "wdio-wait-for": "^3.0.11"
}, },
"engines": { "engines": {
@ -1189,19 +1189,19 @@
} }
}, },
"node_modules/@wdio/cli": { "node_modules/@wdio/cli": {
"version": "8.34.1", "version": "8.35.1",
"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.34.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.35.1.tgz",
"integrity": "sha512-/MY3/XD6KAobu58Vq4a4Lwul/ghJO87sq5l/f2VLlkhD6IVwtlo08xUnBz7Y2wfHElf/R9RV+i3pkbXDeghnMw==", "integrity": "sha512-cdFmd6P/eQJdP2lChQ+Fa9b1c2p0bDIPmetVHGCuHiW8ZPkanrvBFtHMUhMu44a1koni9LvN/hu7vIJ/aAC+Rg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "^20.1.1", "@types/node": "^20.1.1",
"@vitest/snapshot": "^1.2.1", "@vitest/snapshot": "^1.2.1",
"@wdio/config": "8.34.0", "@wdio/config": "8.35.0",
"@wdio/globals": "8.34.1", "@wdio/globals": "8.35.1",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/protocols": "8.32.0", "@wdio/protocols": "8.32.0",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"chalk": "^5.2.0", "chalk": "^5.2.0",
"chokidar": "^3.5.3", "chokidar": "^3.5.3",
@ -1216,7 +1216,7 @@
"lodash.union": "^4.6.0", "lodash.union": "^4.6.0",
"read-pkg-up": "10.0.0", "read-pkg-up": "10.0.0",
"recursive-readdir": "^2.2.3", "recursive-readdir": "^2.2.3",
"webdriverio": "8.34.1", "webdriverio": "8.35.1",
"yargs": "^17.7.2" "yargs": "^17.7.2"
}, },
"bin": { "bin": {
@ -1239,14 +1239,14 @@
} }
}, },
"node_modules/@wdio/config": { "node_modules/@wdio/config": {
"version": "8.34.0", "version": "8.35.0",
"resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.34.0.tgz", "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.35.0.tgz",
"integrity": "sha512-dtVGW/QEqM/WLUEZvca09y12L+hMZnzuwGuSzdG8B3wT6OaT+lSktU842HqHPC7OnZ27kRORhDJM6JLDy1T7dw==", "integrity": "sha512-I36sBPMl/+LCyQ3Pwb8gGQM6KxwmUfhOPp16TxN21Qo/Bc0fZfyGIg6KevmRu4DuqpGUm5MMVSfyPhLUkMk3Cg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"decamelize": "^6.0.0", "decamelize": "^6.0.0",
"deepmerge-ts": "^5.0.0", "deepmerge-ts": "^5.0.0",
"glob": "^10.2.2", "glob": "^10.2.2",
@ -1257,28 +1257,28 @@
} }
}, },
"node_modules/@wdio/globals": { "node_modules/@wdio/globals": {
"version": "8.34.1", "version": "8.35.1",
"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.34.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.35.1.tgz",
"integrity": "sha512-snN9o23a9EKfNgV0TqwiWeoeWrj6BCopBVDa6Pdx4GUw6RyRDIX2StqT9mB3n8v3FPlLjs0Lym0DL9tNbV39uA==", "integrity": "sha512-T3IUFcKXRU9WWleAV72DGFWUiXSSr8SBvpc2cUJrvZ5Je9R2gEsrts5eHCY7amXtfeylfMgy5EayGMajgcna6A==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^16.13 || >=18" "node": "^16.13 || >=18"
}, },
"optionalDependencies": { "optionalDependencies": {
"expect-webdriverio": "^4.11.2", "expect-webdriverio": "^4.11.2",
"webdriverio": "8.34.1" "webdriverio": "8.35.1"
} }
}, },
"node_modules/@wdio/local-runner": { "node_modules/@wdio/local-runner": {
"version": "8.34.1", "version": "8.35.1",
"resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.34.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.35.1.tgz",
"integrity": "sha512-6QcSNu+TE3YznhOOnOwARHlwSclWX/IbCE9KnC4oXeLkbzyQyXBo244gx0nOudHFhYg79eDa/XXQF3WrKlC0pw==", "integrity": "sha512-PG+bADoY5VoWPmAfRi030rtxbFj68MVPlcwEN0dN1lDdYKz1ATzzGUK12sqCgGz1ktcC7sQzmJZVBklzbvn3mQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "^20.1.0", "@types/node": "^20.1.0",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/repl": "8.24.12", "@wdio/repl": "8.24.12",
"@wdio/runner": "8.34.1", "@wdio/runner": "8.35.1",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"split2": "^4.1.0", "split2": "^4.1.0",
@ -1316,16 +1316,16 @@
} }
}, },
"node_modules/@wdio/mocha-framework": { "node_modules/@wdio/mocha-framework": {
"version": "8.33.1", "version": "8.35.0",
"resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.33.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.35.0.tgz",
"integrity": "sha512-CxYLE22+tgnMnruElvDGJGR+dE0pxvMZ95agIUYYen69DJ705a74XtTR6zX9COWu6RooBezHgEs3fXev0XL79Q==", "integrity": "sha512-riO3aMgvGdFFRMpyMk5m480V+mi5EcKk6cjT1TB9L5XEN7Mo/8qthBw9CLgFCZkr4KlR40hgPKSZFHE0rH2GpQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/mocha": "^10.0.0", "@types/mocha": "^10.0.0",
"@types/node": "^20.1.0", "@types/node": "^20.1.0",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"mocha": "^10.0.0" "mocha": "^10.0.0"
}, },
"engines": { "engines": {
@ -1367,22 +1367,22 @@
} }
}, },
"node_modules/@wdio/runner": { "node_modules/@wdio/runner": {
"version": "8.34.1", "version": "8.35.1",
"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.34.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.35.1.tgz",
"integrity": "sha512-IbMDM06OPpE1+iA79ACxn64wo8mTFg7talpeGA+Nd/84O+rpl8IkhtS8UXGml6LogkNbxCDUV9sZTdSDjKaAbQ==", "integrity": "sha512-5F6cbOYeZjF34Vsnycp5JPnDljI52fmyxsV2O/L3h6F2+83YXpbsqBplw/2G24JtIUudV7VOY/38bUicn1OyXg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "^20.11.28", "@types/node": "^20.11.28",
"@wdio/config": "8.34.0", "@wdio/config": "8.35.0",
"@wdio/globals": "8.34.1", "@wdio/globals": "8.35.1",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"deepmerge-ts": "^5.1.0", "deepmerge-ts": "^5.1.0",
"expect-webdriverio": "^4.12.0", "expect-webdriverio": "^4.12.0",
"gaze": "^1.1.3", "gaze": "^1.1.3",
"webdriver": "8.34.0", "webdriver": "8.35.0",
"webdriverio": "8.34.1" "webdriverio": "8.35.1"
}, },
"engines": { "engines": {
"node": "^16.13 || >=18" "node": "^16.13 || >=18"
@ -1429,9 +1429,9 @@
} }
}, },
"node_modules/@wdio/utils": { "node_modules/@wdio/utils": {
"version": "8.33.1", "version": "8.35.0",
"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.33.1.tgz", "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.35.0.tgz",
"integrity": "sha512-W0ArrZbs4M23POv8+FPsgHDFxg+wwklfZgLSsjVq2kpCmBCfIPxKSAOgTo/XrcH4We/OnshgBzxLcI+BHDgi4w==", "integrity": "sha512-9KCyn4aS+9tWfthnUkNFVe52AM6QrLGAeIxgGxNlzTAcQGl7jjwdDM7aSK0RjLkWI3a/88DRH21mN/t2LGDmPQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@puppeteer/browsers": "^1.6.0", "@puppeteer/browsers": "^1.6.0",
@ -2084,9 +2084,9 @@
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "122.0.6", "version": "123.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-122.0.6.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.0.tgz",
"integrity": "sha512-Q0r+QlUtiJWMQ5HdYaFa0CtBmLFq3n5JWfmq9mOC00UMBvWxku09gUkvBt457QnYfTM/XHqY/HTFOxHvATnTmA==", "integrity": "sha512-OE9mpxXwbFy5LncAisqXm1aEzuLPtEMORIxyYIn9uT7N8rquJWyoip6w9Rytub3o2gnynW9+PFOTPVTldaYrtw==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@testim/chrome-version": "^1.1.4", "@testim/chrome-version": "^1.1.4",
@ -2691,9 +2691,9 @@
} }
}, },
"node_modules/devtools-protocol": { "node_modules/devtools-protocol": {
"version": "0.0.1263784", "version": "0.0.1273771",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1263784.tgz", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1273771.tgz",
"integrity": "sha512-k0SCZMwj587w4F8QYbP5iIbSonL6sd3q8aVJch036r9Tv2t9b5/Oq7AiJ/FJvRuORm/pJNXZtrdNNWlpRnl56A==", "integrity": "sha512-QDbb27xcTVReQQW/GHJsdQqGKwYBE7re7gxehj467kKP2DKuYBUj6i2k5LRiAC66J1yZG/9gsxooz/s9pcm0Og==",
"dev": true "dev": true
}, },
"node_modules/diff": { "node_modules/diff": {
@ -8620,9 +8620,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.4.2", "version": "5.4.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz",
"integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
@ -8886,18 +8886,18 @@
} }
}, },
"node_modules/webdriver": { "node_modules/webdriver": {
"version": "8.34.0", "version": "8.35.0",
"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.34.0.tgz", "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.35.0.tgz",
"integrity": "sha512-r8oe6tIm2qSdLNhzwVpVMWJvuoZTbeTZI21+EidqZtp6krlnJzd+hIRD5ojTm+yYi86JlRQnMMQ40LUBsAGVsQ==", "integrity": "sha512-D13EroddIXDqdq3jgO8j6sorgTWqTwEiTqwlDoJizpRIgHGBy+UjkNM7XW1yVcvt8gsD2Dei2LQth2tJEnu5Ng==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "^20.1.0", "@types/node": "^20.1.0",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
"@wdio/config": "8.34.0", "@wdio/config": "8.35.0",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/protocols": "8.32.0", "@wdio/protocols": "8.32.0",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"deepmerge-ts": "^5.1.0", "deepmerge-ts": "^5.1.0",
"got": "^12.6.1", "got": "^12.6.1",
"ky": "^0.33.0", "ky": "^0.33.0",
@ -8908,23 +8908,23 @@
} }
}, },
"node_modules/webdriverio": { "node_modules/webdriverio": {
"version": "8.34.1", "version": "8.35.1",
"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.34.1.tgz", "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.35.1.tgz",
"integrity": "sha512-9C+sy8mkvIGdKFFHL5oq6s2Uhq1lsAXybG3MsF0QA2822Jm+oYHN4KohrOGF0yBJc/x5JRaW3/hXvldnj7a55A==", "integrity": "sha512-YAuKR4JERGiMqCJmm5fEVZ160iiFPyupwALqfXfzrYVcEmKltKPFY/oUCArmi6Uzqd+Sa2Kp9WZtz2Eu1R76JA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/node": "^20.1.0", "@types/node": "^20.1.0",
"@wdio/config": "8.34.0", "@wdio/config": "8.35.0",
"@wdio/logger": "8.28.0", "@wdio/logger": "8.28.0",
"@wdio/protocols": "8.32.0", "@wdio/protocols": "8.32.0",
"@wdio/repl": "8.24.12", "@wdio/repl": "8.24.12",
"@wdio/types": "8.32.4", "@wdio/types": "8.32.4",
"@wdio/utils": "8.33.1", "@wdio/utils": "8.35.0",
"archiver": "^7.0.0", "archiver": "^7.0.0",
"aria-query": "^5.0.0", "aria-query": "^5.0.0",
"css-shorthand-properties": "^1.1.1", "css-shorthand-properties": "^1.1.1",
"css-value": "^0.0.1", "css-value": "^0.0.1",
"devtools-protocol": "^0.0.1263784", "devtools-protocol": "^0.0.1273771",
"grapheme-splitter": "^1.0.2", "grapheme-splitter": "^1.0.2",
"import-meta-resolve": "^4.0.0", "import-meta-resolve": "^4.0.0",
"is-plain-obj": "^4.1.0", "is-plain-obj": "^4.1.0",
@ -8936,7 +8936,7 @@
"resq": "^1.9.1", "resq": "^1.9.1",
"rgb2hex": "0.2.5", "rgb2hex": "0.2.5",
"serialize-error": "^11.0.1", "serialize-error": "^11.0.1",
"webdriver": "8.34.0" "webdriver": "8.35.0"
}, },
"engines": { "engines": {
"node": "^16.13 || >=18" "node": "^16.13 || >=18"

View File

@ -6,9 +6,9 @@
"@trivago/prettier-plugin-sort-imports": "^4.3.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@typescript-eslint/eslint-plugin": "^7.3.1", "@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1", "@typescript-eslint/parser": "^7.3.1",
"@wdio/cli": "^8.34.1", "@wdio/cli": "^8.35.1",
"@wdio/local-runner": "^8.34.1", "@wdio/local-runner": "^8.35.1",
"@wdio/mocha-framework": "^8.33.1", "@wdio/mocha-framework": "^8.35.0",
"@wdio/spec-reporter": "^8.32.4", "@wdio/spec-reporter": "^8.32.4",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-config-google": "^0.14.0", "eslint-config-google": "^0.14.0",
@ -16,7 +16,7 @@
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typescript": "^5.4.2", "typescript": "^5.4.3",
"wdio-wait-for": "^3.0.11" "wdio-wait-for": "^3.0.11"
}, },
"scripts": { "scripts": {
@ -32,6 +32,6 @@
"node": ">=20" "node": ">=20"
}, },
"dependencies": { "dependencies": {
"chromedriver": "^122.0.6" "chromedriver": "^123.0.0"
} }
} }

67
web/package-lock.json generated
View File

@ -47,13 +47,13 @@
"yaml": "^2.4.1" "yaml": "^2.4.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.1", "@babel/core": "^7.24.3",
"@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.1", "@babel/plugin-proposal-decorators": "^7.24.1",
"@babel/plugin-transform-private-methods": "^7.24.1", "@babel/plugin-transform-private-methods": "^7.24.1",
"@babel/plugin-transform-private-property-in-object": "^7.24.1", "@babel/plugin-transform-private-property-in-object": "^7.24.1",
"@babel/plugin-transform-runtime": "^7.24.1", "@babel/plugin-transform-runtime": "^7.24.3",
"@babel/preset-env": "^7.24.1", "@babel/preset-env": "^7.24.3",
"@babel/preset-typescript": "^7.24.1", "@babel/preset-typescript": "^7.24.1",
"@hcaptcha/types": "^1.0.3", "@hcaptcha/types": "^1.0.3",
"@jeysal/storybook-addon-css-user-preferences": "^0.2.0", "@jeysal/storybook-addon-css-user-preferences": "^0.2.0",
@ -101,7 +101,7 @@
"ts-lit-plugin": "^2.0.2", "ts-lit-plugin": "^2.0.2",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"turnstile-types": "^1.2.0", "turnstile-types": "^1.2.0",
"typescript": "^5.4.2", "typescript": "^5.4.3",
"vite-tsconfig-paths": "^4.3.2" "vite-tsconfig-paths": "^4.3.2"
}, },
"engines": { "engines": {
@ -177,13 +177,13 @@
} }
}, },
"node_modules/@babel/core": { "node_modules/@babel/core": {
"version": "7.24.1", "version": "7.24.3",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.1.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz",
"integrity": "sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==", "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@ampproject/remapping": "^2.2.0", "@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.24.1", "@babel/code-frame": "^7.24.2",
"@babel/generator": "^7.24.1", "@babel/generator": "^7.24.1",
"@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3", "@babel/helper-module-transforms": "^7.23.3",
@ -357,9 +357,9 @@
} }
}, },
"node_modules/@babel/helper-module-imports": { "node_modules/@babel/helper-module-imports": {
"version": "7.24.1", "version": "7.24.3",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.1.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
"integrity": "sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==", "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/types": "^7.24.0" "@babel/types": "^7.24.0"
@ -945,9 +945,9 @@
} }
}, },
"node_modules/@babel/plugin-transform-async-generator-functions": { "node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.24.1", "version": "7.24.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.1.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
"integrity": "sha512-OTkLJM0OtmzcpOgF7MREERUCdCnCBtBsq3vVFbuq/RKMK0/jdYqdMexWi3zNs7Nzd95ase65MbTGrpFJflOb6A==", "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-environment-visitor": "^7.22.20",
@ -1576,12 +1576,12 @@
} }
}, },
"node_modules/@babel/plugin-transform-runtime": { "node_modules/@babel/plugin-transform-runtime": {
"version": "7.24.1", "version": "7.24.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.1.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz",
"integrity": "sha512-yHLX14/T+tO0gjgJroDb8JYjOcQuzVC+Brt4CjHAxq/Ghw4xBVG+N02d1rMEcyUnKUQBL4Yy2gA9R72GK961jQ==", "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/helper-module-imports": "^7.24.1", "@babel/helper-module-imports": "^7.24.3",
"@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-plugin-utils": "^7.24.0",
"babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs2": "^0.4.10",
"babel-plugin-polyfill-corejs3": "^0.10.1", "babel-plugin-polyfill-corejs3": "^0.10.1",
@ -1753,9 +1753,9 @@
} }
}, },
"node_modules/@babel/preset-env": { "node_modules/@babel/preset-env": {
"version": "7.24.1", "version": "7.24.3",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.1.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz",
"integrity": "sha512-CwCMz1Z28UHLI2iE+cbnWT2epPMV9bzzoBGM6A3mOS22VQd/1TPoWItV7S7iL9TkPmPEf5L/QzurmztyyDN9FA==", "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/compat-data": "^7.24.1", "@babel/compat-data": "^7.24.1",
@ -1785,7 +1785,7 @@
"@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.24.1", "@babel/plugin-transform-arrow-functions": "^7.24.1",
"@babel/plugin-transform-async-generator-functions": "^7.24.1", "@babel/plugin-transform-async-generator-functions": "^7.24.3",
"@babel/plugin-transform-async-to-generator": "^7.24.1", "@babel/plugin-transform-async-to-generator": "^7.24.1",
"@babel/plugin-transform-block-scoped-functions": "^7.24.1", "@babel/plugin-transform-block-scoped-functions": "^7.24.1",
"@babel/plugin-transform-block-scoping": "^7.24.1", "@babel/plugin-transform-block-scoping": "^7.24.1",
@ -1834,7 +1834,7 @@
"@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/plugin-transform-unicode-sets-regex": "^7.24.1",
"@babel/preset-modules": "0.1.6-no-external-plugins", "@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs2": "^0.4.10",
"babel-plugin-polyfill-corejs3": "^0.10.1", "babel-plugin-polyfill-corejs3": "^0.10.4",
"babel-plugin-polyfill-regenerator": "^0.6.1", "babel-plugin-polyfill-regenerator": "^0.6.1",
"core-js-compat": "^3.31.0", "core-js-compat": "^3.31.0",
"semver": "^6.3.1" "semver": "^6.3.1"
@ -7778,13 +7778,13 @@
} }
}, },
"node_modules/babel-plugin-polyfill-corejs3": { "node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.10.1", "version": "0.10.4",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.1.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
"integrity": "sha512-XiFei6VGwM4ii6nKC1VCenGD8Z4bjiNYcrdkM8oqM3pbuemmyb8biMgrDX1ZHSbIuMLXatM6JJ/StPYIuTl6MQ==", "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.1", "@babel/helper-define-polyfill-provider": "^0.6.1",
"core-js-compat": "^3.36.0" "core-js-compat": "^3.36.1"
}, },
"peerDependencies": { "peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@ -8547,11 +8547,12 @@
} }
}, },
"node_modules/core-js-compat": { "node_modules/core-js-compat": {
"version": "3.36.0", "version": "3.36.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
"integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"browserslist": "^4.22.3" "browserslist": "^4.23.0"
}, },
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
@ -17098,9 +17099,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.4.2", "version": "5.4.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz",
"integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",

View File

@ -68,13 +68,13 @@
"yaml": "^2.4.1" "yaml": "^2.4.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.1", "@babel/core": "^7.24.3",
"@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.1", "@babel/plugin-proposal-decorators": "^7.24.1",
"@babel/plugin-transform-private-methods": "^7.24.1", "@babel/plugin-transform-private-methods": "^7.24.1",
"@babel/plugin-transform-private-property-in-object": "^7.24.1", "@babel/plugin-transform-private-property-in-object": "^7.24.1",
"@babel/plugin-transform-runtime": "^7.24.1", "@babel/plugin-transform-runtime": "^7.24.3",
"@babel/preset-env": "^7.24.1", "@babel/preset-env": "^7.24.3",
"@babel/preset-typescript": "^7.24.1", "@babel/preset-typescript": "^7.24.1",
"@hcaptcha/types": "^1.0.3", "@hcaptcha/types": "^1.0.3",
"@jeysal/storybook-addon-css-user-preferences": "^0.2.0", "@jeysal/storybook-addon-css-user-preferences": "^0.2.0",
@ -122,7 +122,7 @@
"ts-lit-plugin": "^2.0.2", "ts-lit-plugin": "^2.0.2",
"tslib": "^2.6.2", "tslib": "^2.6.2",
"turnstile-types": "^1.2.0", "turnstile-types": "^1.2.0",
"typescript": "^5.4.2", "typescript": "^5.4.3",
"vite-tsconfig-paths": "^4.3.2" "vite-tsconfig-paths": "^4.3.2"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@ -150,10 +150,6 @@ export class EnterpriseLicenseListPage extends TablePage<License> {
renderSectionBefore(): TemplateResult { renderSectionBefore(): TemplateResult {
return html` return html`
<div class="pf-c-banner pf-m-info">
${msg("Enterprise is in preview.")}
<a href="mailto:hello@goauthentik.io">${msg("Send us feedback!")}</a>
</div>
<section class="pf-c-page__main-section pf-m-no-padding-bottom"> <section class="pf-c-page__main-section pf-m-no-padding-bottom">
<div <div
class="pf-l-grid pf-m-gutter pf-m-all-6-col-on-sm pf-m-all-4-col-on-md pf-m-all-3-col-on-lg pf-m-all-3-col-on-xl" class="pf-l-grid pf-m-gutter pf-m-all-6-col-on-sm pf-m-all-4-col-on-md pf-m-all-3-col-on-lg pf-m-all-3-col-on-xl"

View File

@ -4,8 +4,6 @@ title: Get started
Installing authentik is exactly the same process for both Enterprise version and our free [open source](https://github.com/goauthentik/authentik) version. Installing authentik is exactly the same process for both Enterprise version and our free [open source](https://github.com/goauthentik/authentik) version.
> This **_Preview_** version of Enterprise authentik is available with our 2023.8.x release. Send us feedback through the Customer portal or to hello@goauthentik.io.
## Install Enterprise ## Install Enterprise
To get started working with Enterprise authentik, upgrade to the [2023.8.x](../releases) version or later. For installation steps, refer to our [technical documentation](../installation/index.mdx) for instructions to install and configure authentik. To get started working with Enterprise authentik, upgrade to the [2023.8.x](../releases) version or later. For installation steps, refer to our [technical documentation](../installation/index.mdx) for instructions to install and configure authentik.

View File

@ -5,7 +5,7 @@ slug: /
## About authentik technical documentation ## About authentik technical documentation
Our tech docs cover the typical topics, from installation to configuration, adding providers, defining policies and creating login flows, event monitoring, security, and attributes. [Enterprise](./enterprise) version documentation is included here, within our standard tech docs. Our tech docs cover the typical topics, from installation to configuration, adding providers, defining policies and creating login flows, event monitoring, security, and attributes. [Enterprise](./enterprise/index.md) version documentation is included here, within our standard tech docs.
- For information about integrating a specific application or software into authentik, refer to our [Integrations](../integrations) section, accessible from the top menu-bar. - For information about integrating a specific application or software into authentik, refer to our [Integrations](../integrations) section, accessible from the top menu-bar.

View File

@ -0,0 +1,19 @@
---
title: Ensure unique email addresses
---
Due to the database design of authentik, email addresses are by default not required to be unique. This behavior can however be changed by policies.
The snippet below can as the expression in policies both with enrollment flows, where the policy should be bound to any stage before the [User write](../../flow/stages/user_write.md) stage, or it can be used with the [Prompt stage](../../flow/stages/prompt/index.md).
```python
from authentik.core.models import User
# Ensure this matches the *Field Key* value of the prompt
field_name = "email"
email = request.context["prompt_data"][field_name]
if User.objects.filter(email=email).exists():
ak_message("Email address in use")
return False
return True
```

View File

@ -2,8 +2,7 @@
title: Whitelist email domains title: Whitelist email domains
--- ---
To add specific email addresses to an allow list for signing in through SSO or directly with default policy customization, To add specific email addresses to an allow list for signing in through SSO or directly with default policy customization, follow these steps:
follow these steps:
1. In the Admin interface, navigate to **Customization > Policies** and modify the default policy named `default-source-enrollment-if-sso`. 1. In the Admin interface, navigate to **Customization > Policies** and modify the default policy named `default-source-enrollment-if-sso`.
@ -11,13 +10,12 @@ follow these steps:
```python ```python
allowed_domains = ["example.net", "example.com"] allowed_domains = ["example.net", "example.com"]
current_domain =request.context["prompt_data"]["email"].split("@")[1]
if current_domain in allowed_domains: current_domain = request.context["prompt_data"]["email"].split("@")[1]
email = request.context["prompt_data"]["email"] if current_domain not in allowed_domains:
request.context["prompt_data"]["username"] = email ak_message("Access denied for this email domain")
return ak_is_sso_flow return False
else: return ak_is_sso_flow
return ak_message("Access denied for this email domain")
``` ```
This configuration specifies the `allowed_domains` list of domains for logging in through SSO, such as Google OAuth2. If your email is not in the available domains, you will receive a 'Permission Denied' message on the login screen. This configuration specifies the `allowed_domains` list of domains for logging in through SSO, such as Google OAuth2. If your email is not in the available domains, you will receive a 'Permission Denied' message on the login screen.

View File

@ -18,7 +18,7 @@
"@mdx-js/react": "^3.0.1", "@mdx-js/react": "^3.0.1",
"clsx": "^2.1.0", "clsx": "^2.1.0",
"disqus-react": "^1.1.5", "disqus-react": "^1.1.5",
"postcss": "^8.4.37", "postcss": "^8.4.38",
"prism-react-renderer": "^2.3.1", "prism-react-renderer": "^2.3.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-before-after-slider-component": "^1.1.8", "react-before-after-slider-component": "^1.1.8",
@ -35,7 +35,7 @@
"@docusaurus/types": "3.1.1", "@docusaurus/types": "3.1.1",
"@types/react": "^18.2.67", "@types/react": "^18.2.67",
"prettier": "3.2.5", "prettier": "3.2.5",
"typescript": "~5.4.2" "typescript": "~5.4.3"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"
@ -12857,9 +12857,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.37", "version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.37.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
"integrity": "sha512-7iB/v/r7Woof0glKLH8b1SPHrsX7uhdO+Geb41QpF/+mWZHU3uxxSlN+UXGVit1PawOYDToO+AbZzhBzWRDwbQ==", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@ -15922,9 +15922,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.4.2", "version": "5.4.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz",
"integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==",
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"

View File

@ -25,7 +25,7 @@
"@mdx-js/react": "^3.0.1", "@mdx-js/react": "^3.0.1",
"clsx": "^2.1.0", "clsx": "^2.1.0",
"disqus-react": "^1.1.5", "disqus-react": "^1.1.5",
"postcss": "^8.4.37", "postcss": "^8.4.38",
"prism-react-renderer": "^2.3.1", "prism-react-renderer": "^2.3.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-before-after-slider-component": "^1.1.8", "react-before-after-slider-component": "^1.1.8",
@ -54,7 +54,7 @@
"@docusaurus/types": "3.1.1", "@docusaurus/types": "3.1.1",
"@types/react": "^18.2.67", "@types/react": "^18.2.67",
"prettier": "3.2.5", "prettier": "3.2.5",
"typescript": "~5.4.2" "typescript": "~5.4.3"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"

View File

@ -222,13 +222,16 @@ const docsSidebar = {
{ {
type: "category", type: "category",
label: "Working with policies", label: "Working with policies",
items: ["policies/working_with_policies/whitelist_email"],
link: { link: {
type: "generated-index", type: "generated-index",
title: "Working with policies", title: "Working with policies",
slug: "policies/working_with_policies", slug: "policies/working_with_policies",
description: "Overview of policies configuration", description: "Overview of policies configuration",
}, },
items: [
"policies/working_with_policies/whitelist_email",
"policies/working_with_policies/unique_email",
],
}, },
"policies/expression", "policies/expression",
], ],