Merge branch 'main' into celery-2-dramatiq
This commit is contained in:
@ -148,3 +148,14 @@ class TestBrands(APITestCase):
|
||||
"default_locale": "",
|
||||
},
|
||||
)
|
||||
|
||||
def test_custom_css(self):
|
||||
"""Test custom_css"""
|
||||
brand = create_test_brand()
|
||||
brand.branding_custom_css = """* {
|
||||
font-family: "Foo bar";
|
||||
}"""
|
||||
brand.save()
|
||||
res = self.client.get(reverse("authentik_core:if-user"))
|
||||
self.assertEqual(res.status_code, 200)
|
||||
self.assertIn(brand.branding_custom_css, res.content.decode())
|
||||
|
||||
@ -5,6 +5,8 @@ from typing import Any
|
||||
from django.db.models import F, Q
|
||||
from django.db.models import Value as V
|
||||
from django.http.request import HttpRequest
|
||||
from django.utils.html import _json_script_escapes
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from authentik import get_full_version
|
||||
from authentik.brands.models import Brand
|
||||
@ -32,8 +34,13 @@ def context_processor(request: HttpRequest) -> dict[str, Any]:
|
||||
"""Context Processor that injects brand object into every template"""
|
||||
brand = getattr(request, "brand", DEFAULT_BRAND)
|
||||
tenant = getattr(request, "tenant", Tenant())
|
||||
# similarly to `json_script` we escape everything HTML-related, however django
|
||||
# only directly exposes this as a function that also wraps it in a <script> tag
|
||||
# which we dont want for CSS
|
||||
brand_css = mark_safe(str(brand.branding_custom_css).translate(_json_script_escapes)) # nosec
|
||||
return {
|
||||
"brand": brand,
|
||||
"brand_css": brand_css,
|
||||
"footer_links": tenant.footer_links,
|
||||
"html_meta": {**get_http_meta()},
|
||||
"version": get_full_version(),
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
{% block head_before %}
|
||||
{% endblock %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'dist/authentik.css' %}">
|
||||
<style>{{ brand.branding_custom_css }}</style>
|
||||
<style>{{ brand_css }}</style>
|
||||
<script src="{% versioned_script 'dist/poly-%v.js' %}" type="module"></script>
|
||||
<script src="{% versioned_script 'dist/standalone/loading/index-%v.js' %}" type="module"></script>
|
||||
{% block head %}
|
||||
|
||||
2
go.mod
2
go.mod
@ -29,7 +29,7 @@ require (
|
||||
github.com/spf13/cobra v1.9.1
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/wwt/guac v1.3.2
|
||||
goauthentik.io/api/v3 v3.2025061.1
|
||||
goauthentik.io/api/v3 v3.2025061.2
|
||||
golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab
|
||||
golang.org/x/oauth2 v0.30.0
|
||||
golang.org/x/sync v0.15.0
|
||||
|
||||
4
go.sum
4
go.sum
@ -298,8 +298,8 @@ go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y
|
||||
go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
|
||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
||||
goauthentik.io/api/v3 v3.2025061.1 h1:njT00q3YrYnOPbRkG4yfWuA6+EDzi+3p4wKnq7YLAu8=
|
||||
goauthentik.io/api/v3 v3.2025061.1/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw=
|
||||
goauthentik.io/api/v3 v3.2025061.2 h1:bKmrl82Gz6J8lz3f+QIH9g+MEkl3MvkMXF34GktesA0=
|
||||
goauthentik.io/api/v3 v3.2025061.2/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=
|
||||
|
||||
118
packages/eslint-config/package-lock.json
generated
118
packages/eslint-config/package-lock.json
generated
@ -576,17 +576,17 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/type-utils": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/type-utils": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^7.0.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
@ -600,7 +600,7 @@
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.34.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0",
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
@ -616,16 +616,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -641,14 +641,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/project-service": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
||||
"@typescript-eslint/types": "^8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||
"@typescript-eslint/types": "^8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -663,14 +663,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -681,9 +681,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -698,14 +698,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^2.1.0"
|
||||
},
|
||||
@ -722,9 +722,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -736,16 +736,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/project-service": "8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/project-service": "8.34.0",
|
||||
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"fast-glob": "^3.3.2",
|
||||
"is-glob": "^4.0.3",
|
||||
@ -804,16 +804,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.7.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -828,13 +828,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -4035,15 +4035,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript-eslint": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
||||
"@typescript-eslint/parser": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1"
|
||||
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||
"@typescript-eslint/parser": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
|
||||
@ -13,7 +13,7 @@ dependencies = [
|
||||
"dacite==1.9.2",
|
||||
"deepmerge==2.0",
|
||||
"defusedxml==0.7.1",
|
||||
"django==5.1.10",
|
||||
"django==5.1.11",
|
||||
"django-countries==7.6.1",
|
||||
"django-cte==1.3.3",
|
||||
"django-filter==25.1",
|
||||
@ -36,7 +36,7 @@ dependencies = [
|
||||
"fido2==2.0.0",
|
||||
"geoip2==5.1.0",
|
||||
"geopy==2.4.1",
|
||||
"google-api-python-client==2.171.0",
|
||||
"google-api-python-client==2.172.0",
|
||||
"gssapi==1.9.0",
|
||||
"gunicorn==23.0.0",
|
||||
"jsonpatch==1.33",
|
||||
@ -44,7 +44,7 @@ dependencies = [
|
||||
"kubernetes==32.0.1",
|
||||
"ldap3==2.9.1",
|
||||
"lxml==5.4.0",
|
||||
"msgraph-sdk==1.32.0",
|
||||
"msgraph-sdk==1.33.0",
|
||||
"opencontainers==0.0.14",
|
||||
"packaging==25.0",
|
||||
"paramiko==3.5.1",
|
||||
|
||||
24
uv.lock
generated
24
uv.lock
generated
@ -263,7 +263,7 @@ requires-dist = [
|
||||
{ name = "dacite", specifier = "==1.9.2" },
|
||||
{ name = "deepmerge", specifier = "==2.0" },
|
||||
{ name = "defusedxml", specifier = "==0.7.1" },
|
||||
{ name = "django", specifier = "==5.1.10" },
|
||||
{ name = "django", specifier = "==5.1.11" },
|
||||
{ name = "django-countries", specifier = "==7.6.1" },
|
||||
{ name = "django-cte", specifier = "==1.3.3" },
|
||||
{ name = "django-filter", specifier = "==25.1" },
|
||||
@ -286,7 +286,7 @@ requires-dist = [
|
||||
{ name = "fido2", specifier = "==2.0.0" },
|
||||
{ name = "geoip2", specifier = "==5.1.0" },
|
||||
{ name = "geopy", specifier = "==2.4.1" },
|
||||
{ name = "google-api-python-client", specifier = "==2.171.0" },
|
||||
{ name = "google-api-python-client", specifier = "==2.172.0" },
|
||||
{ name = "gssapi", specifier = "==1.9.0" },
|
||||
{ name = "gunicorn", specifier = "==23.0.0" },
|
||||
{ name = "jsonpatch", specifier = "==1.33" },
|
||||
@ -294,7 +294,7 @@ requires-dist = [
|
||||
{ name = "kubernetes", specifier = "==32.0.1" },
|
||||
{ name = "ldap3", specifier = "==2.9.1" },
|
||||
{ name = "lxml", specifier = "==5.4.0" },
|
||||
{ name = "msgraph-sdk", specifier = "==1.32.0" },
|
||||
{ name = "msgraph-sdk", specifier = "==1.33.0" },
|
||||
{ name = "opencontainers", git = "https://github.com/vsoch/oci-python?rev=ceb4fcc090851717a3069d78e85ceb1e86c2740c" },
|
||||
{ name = "packaging", specifier = "==25.0" },
|
||||
{ name = "paramiko", specifier = "==3.5.1" },
|
||||
@ -905,16 +905,16 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "django"
|
||||
version = "5.1.10"
|
||||
version = "5.1.11"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "asgiref" },
|
||||
{ name = "sqlparse" },
|
||||
{ name = "tzdata", marker = "sys_platform == 'win32'" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/73/ca/1c724be89e603eb8b5587ea24c63a8c30094c8ff4d990780b5033ee15c40/django-5.1.10.tar.gz", hash = "sha256:73e5d191421d177803dbd5495d94bc7d06d156df9561f4eea9e11b4994c07137", size = 10714538, upload-time = "2025-06-04T13:53:18.805Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/83/80/bf0f9b0aa434fca2b46fc6a31c39b08ea714b87a0a72a16566f053fb05a8/django-5.1.11.tar.gz", hash = "sha256:3bcdbd40e4d4623b5e04f59c28834323f3086df583058e65ebce99f9982385ce", size = 10734926, upload-time = "2025-06-10T10:12:48.229Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/9e/fc/80dc741ba0acb3241aac1213d7272c573d52d8a62ec2c69e9b3bef1547f2/django-5.1.10-py3-none-any.whl", hash = "sha256:19c9b771e9cf4de91101861aadd2daaa159bcf10698ca909c5755c88e70ccb84", size = 8277457, upload-time = "2025-06-04T13:53:07.676Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/59/91/2972ce330c6c0bd5b3200d4c2ad5cbf47eecff5243220c5a56444d3267a0/django-5.1.11-py3-none-any.whl", hash = "sha256:e48091f364007068728aca938e7450fbfe3f2217079bfd2b8af45122585acf64", size = 8277453, upload-time = "2025-06-10T10:12:42.236Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1359,7 +1359,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "google-api-python-client"
|
||||
version = "2.171.0"
|
||||
version = "2.172.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "google-api-core" },
|
||||
@ -1368,9 +1368,9 @@ dependencies = [
|
||||
{ name = "httplib2" },
|
||||
{ name = "uritemplate" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/35/99/237cd2510aecca9fabb54007e58553274cc43cb3c18512ee1ea574d11b87/google_api_python_client-2.171.0.tar.gz", hash = "sha256:057a5c08d28463c6b9eb89746355de5f14b7ed27a65c11fdbf1d06c66bb66b23", size = 13028937, upload-time = "2025-06-03T18:57:38.732Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/02/69/c0cec6be5878d4de161f64096edb3d4a2d1a838f036b8425ea8358d0dfb3/google_api_python_client-2.172.0.tar.gz", hash = "sha256:dcb3b7e067154b2aa41f1776cf86584a5739c0ac74e6ff46fc665790dca0e6a6", size = 13074841, upload-time = "2025-06-10T16:58:41.181Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/79/db/c397e3eb3ea18f423855479d0a5852bdc9c3f644e3d4194931fa664a70b4/google_api_python_client-2.171.0-py3-none-any.whl", hash = "sha256:c9c9b76f561e9d9ac14e54a9e2c0842876201d5b96e69e48f967373f0784cbe9", size = 13547393, upload-time = "2025-06-10T02:14:38.225Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/15/fc/8850ccf21c5df43faeaf8bba8c4149ee880b41b8dc7066e3259bcfd921ca/google_api_python_client-2.172.0-py3-none-any.whl", hash = "sha256:9f1b9a268d5dc1228207d246c673d3a09ee211b41a11521d38d9212aeaa43af7", size = 13595800, upload-time = "2025-06-10T16:58:38.143Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2029,7 +2029,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "msgraph-sdk"
|
||||
version = "1.32.0"
|
||||
version = "1.33.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "azure-identity" },
|
||||
@ -2039,9 +2039,9 @@ dependencies = [
|
||||
{ name = "microsoft-kiota-serialization-text" },
|
||||
{ name = "msgraph-core" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/e0/2a/a5d67f631f8a0a9daa9059eed0f6703002efdf75f1d7575a289e23aceb5e/msgraph_sdk-1.32.0.tar.gz", hash = "sha256:485b25420ec4b3bf9c9d7abea166f9c51da99d9aad1bd57c191f84569af35143", size = 6628831, upload-time = "2025-06-03T18:22:21.526Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/61/2b/41ae74a4277210a0f7b102f8c34c6304f8a2aeb3ccc94c7c4cb14542ebba/msgraph_sdk-1.33.0.tar.gz", hash = "sha256:3f92d55eee4816e554831d1f6d8db6842ce1717f6f6d92bbb8ba98c4802821df", size = 6628201, upload-time = "2025-06-10T18:43:18.811Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b9/59/7e0f170611eb1a213940816703522ecca47ddffc149ef8e001e4789ddf13/msgraph_sdk-1.32.0-py3-none-any.whl", hash = "sha256:d1256f1669706c2703963ef0103470ce7a1b8a06f555506fc6b5f1069847877b", size = 27190465, upload-time = "2025-06-03T18:22:18.944Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/fd/b3/6eca02d93c4b47b7a3b4388b65c4390eba5962379b2a9e27685b052dc428/msgraph_sdk-1.33.0-py3-none-any.whl", hash = "sha256:d42b8c39e2cdc386243d1d80df9481e9bc660db0803307a17fb3783085b19a42", size = 27215918, upload-time = "2025-06-10T18:43:15.155Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
186
web/package-lock.json
generated
186
web/package-lock.json
generated
@ -31,7 +31,7 @@
|
||||
"@open-wc/lit-helpers": "^0.7.0",
|
||||
"@patternfly/elements": "^4.1.0",
|
||||
"@patternfly/patternfly": "^4.224.2",
|
||||
"@sentry/browser": "^9.27.0",
|
||||
"@sentry/browser": "^9.28.0",
|
||||
"@spotlightjs/spotlight": "^2.13.3",
|
||||
"@webcomponents/webcomponentsjs": "^2.8.0",
|
||||
"base64-js": "^1.5.1",
|
||||
@ -123,7 +123,7 @@
|
||||
"storybook-addon-mock": "^5.0.0",
|
||||
"turnstile-types": "^1.2.3",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.33.1",
|
||||
"typescript-eslint": "^8.34.0",
|
||||
"vite-plugin-lit-css": "^2.0.0",
|
||||
"vite-tsconfig-paths": "^5.0.1",
|
||||
"wireit": "^0.14.12"
|
||||
@ -4478,75 +4478,75 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@sentry-internal/browser-utils": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-9.27.0.tgz",
|
||||
"integrity": "sha512-SJa7f6Ct1BzP8rWEomnshSGN1CmT+axNKvT+StrbFPD6AyHnYfFLJpKgc2iToIJHB/pmeuOI9dUwqtzVx+5nSw==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-9.28.0.tgz",
|
||||
"integrity": "sha512-SqntPnIXudP3FoKj4mQ1BVPC1RNzo4CGtAxJnLpbIUpdT/khJVM6Q59zrGl2MgZ7URZCI986L5jXihQeferf6g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sentry/core": "9.27.0"
|
||||
"@sentry/core": "9.28.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sentry-internal/feedback": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-9.27.0.tgz",
|
||||
"integrity": "sha512-e7L8eG0y63RulN352lmafoCCfQGg4jLVT8YLx6096eWu/YKLkgmVpgi8livsT5WREnH+HB+iFSrejOwK7cRkhw==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-9.28.0.tgz",
|
||||
"integrity": "sha512-z2jShmVENsesmDnShEOv841Saw0zXe1tX6GHNgkK9f6NrUMbL970JvGKByBFTffhQH6uQ0WeNPnXJ5L/YKnfDg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sentry/core": "9.27.0"
|
||||
"@sentry/core": "9.28.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sentry-internal/replay": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-9.27.0.tgz",
|
||||
"integrity": "sha512-n2kO1wOfCG7GxkMAqbYYkpgTqJM5tuVLdp0JuNCqTOLTXWvw6svWGaYKlYpKUgsK9X/GDzJYSXZmfe+Dbg+FJQ==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-9.28.0.tgz",
|
||||
"integrity": "sha512-BVGVBlmcpJdT55d/vywjfK1u6zMC5ycjJBxU1wUCNgCU3cSKRDBnvmYgk/+Ay23bFryT28Q4hM1p5qBBAOfxjQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sentry-internal/browser-utils": "9.27.0",
|
||||
"@sentry/core": "9.27.0"
|
||||
"@sentry-internal/browser-utils": "9.28.0",
|
||||
"@sentry/core": "9.28.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sentry-internal/replay-canvas": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-9.27.0.tgz",
|
||||
"integrity": "sha512-44rVSt3LCH6qePYRQrl4WUBwnkOk9dzinmnKmuwRksEdDOkVq5KBRhi/IDr7omwSpX8C+KrX5alfKhOx1cP0gQ==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-9.28.0.tgz",
|
||||
"integrity": "sha512-Bv4mbtUrRV3p6PpFQPseLv3+Uaen+3AlfX02Z6QHY1sMa4lpt+U8OHfRGLprnzb6Rarw6fK2LNVL5rnV9LNMwA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sentry-internal/replay": "9.27.0",
|
||||
"@sentry/core": "9.27.0"
|
||||
"@sentry-internal/replay": "9.28.0",
|
||||
"@sentry/core": "9.28.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sentry/browser": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-9.27.0.tgz",
|
||||
"integrity": "sha512-geR3lhRJOmUQqi1WgovLSYcD/f66zYnctdnDEa7j1BW2XIB1nlTJn0mpYyAHghXKkUN/pBpp1Z+Jk0XlVwFYVg==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-9.28.0.tgz",
|
||||
"integrity": "sha512-ttqiv3D9sIB43nZnJTTln1nXw1p4C5BDSh+sHmGUOiqdCH6ND3HByDITYMYIOz1lACSISTT4V+MEpqx0V25Tlw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sentry-internal/browser-utils": "9.27.0",
|
||||
"@sentry-internal/feedback": "9.27.0",
|
||||
"@sentry-internal/replay": "9.27.0",
|
||||
"@sentry-internal/replay-canvas": "9.27.0",
|
||||
"@sentry/core": "9.27.0"
|
||||
"@sentry-internal/browser-utils": "9.28.0",
|
||||
"@sentry-internal/feedback": "9.28.0",
|
||||
"@sentry-internal/replay": "9.28.0",
|
||||
"@sentry-internal/replay-canvas": "9.28.0",
|
||||
"@sentry/core": "9.28.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sentry/core": {
|
||||
"version": "9.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.27.0.tgz",
|
||||
"integrity": "sha512-Zb2SSAdWXQjTem+sVWrrAq9L6YYfxyoTwtapaE6C6qZBR5C8Uak0wcYww8StaCFH7dDA/PSW+VxOwjNXocrQHQ==",
|
||||
"version": "9.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.28.0.tgz",
|
||||
"integrity": "sha512-vzD9xhg9S864jxfCpq77feCE4y7iP2cZYsNMoTupl1vTUlmXlhp7XgF832fEMjEZq4vrPhaqCNsde7Sc3PAbaQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@ -7337,17 +7337,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/type-utils": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/type-utils": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^7.0.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
@ -7361,7 +7361,7 @@
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.34.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0",
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
@ -7377,16 +7377,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -7402,14 +7402,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/project-service": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
||||
"@typescript-eslint/types": "^8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||
"@typescript-eslint/types": "^8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -7424,14 +7424,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -7442,9 +7442,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -7459,14 +7459,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^2.1.0"
|
||||
},
|
||||
@ -7483,9 +7483,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -7497,16 +7497,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/project-service": "8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/project-service": "8.34.0",
|
||||
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"fast-glob": "^3.3.2",
|
||||
"is-glob": "^4.0.3",
|
||||
@ -7526,16 +7526,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.7.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -7550,13 +7550,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -7568,9 +7568,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
||||
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@ -27085,15 +27085,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript-eslint": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
||||
"@typescript-eslint/parser": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1"
|
||||
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||
"@typescript-eslint/parser": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
"@open-wc/lit-helpers": "^0.7.0",
|
||||
"@patternfly/elements": "^4.1.0",
|
||||
"@patternfly/patternfly": "^4.224.2",
|
||||
"@sentry/browser": "^9.27.0",
|
||||
"@sentry/browser": "^9.28.0",
|
||||
"@spotlightjs/spotlight": "^2.13.3",
|
||||
"@webcomponents/webcomponentsjs": "^2.8.0",
|
||||
"base64-js": "^1.5.1",
|
||||
@ -194,7 +194,7 @@
|
||||
"storybook-addon-mock": "^5.0.0",
|
||||
"turnstile-types": "^1.2.3",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.33.1",
|
||||
"typescript-eslint": "^8.34.0",
|
||||
"vite-plugin-lit-css": "^2.0.0",
|
||||
"vite-tsconfig-paths": "^5.0.1",
|
||||
"wireit": "^0.14.12"
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||
import "@goauthentik/admin/applications/ProviderSelectModal";
|
||||
import { iconHelperText } from "@goauthentik/admin/helperText";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||
import "@goauthentik/components/ak-file-input";
|
||||
import "@goauthentik/components/ak-radio-input";
|
||||
@ -24,7 +25,6 @@ import { ifDefined } from "lit/directives/if-defined.js";
|
||||
|
||||
import { Application, CoreApi, Provider } from "@goauthentik/api";
|
||||
|
||||
import { policyOptions } from "./PolicyOptions.js";
|
||||
import "./components/ak-backchannel-input";
|
||||
import "./components/ak-provider-search-input";
|
||||
|
||||
@ -173,7 +173,7 @@ export class ApplicationForm extends WithCapabilitiesConfig(ModelForm<Applicatio
|
||||
label=${msg("Policy engine mode")}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
.options=${policyOptions}
|
||||
.options=${policyEngineModes}
|
||||
.value=${this.instance?.policyEngineMode}
|
||||
></ak-radio-input>
|
||||
<ak-form-group>
|
||||
|
||||
@ -331,7 +331,10 @@ export class ApplicationViewPage extends AKElement {
|
||||
<div class="pf-c-card__title">
|
||||
${msg("These policies control which users can access this application.")}
|
||||
</div>
|
||||
<ak-bound-policies-list .target=${this.application.pk}>
|
||||
<ak-bound-policies-list
|
||||
.target=${this.application.pk}
|
||||
.policyEngineMode=${this.application.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { policyOptions } from "@goauthentik/admin/applications/PolicyOptions.js";
|
||||
import { ApplicationWizardStep } from "@goauthentik/admin/applications/wizard/ApplicationWizardStep.js";
|
||||
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { camelToSnake } from "@goauthentik/common/utils.js";
|
||||
import "@goauthentik/components/ak-radio-input";
|
||||
import "@goauthentik/components/ak-slug-input";
|
||||
@ -144,7 +144,7 @@ export class ApplicationWizardApplicationStep extends ApplicationWizardStep {
|
||||
label=${msg("Policy engine mode")}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
.options=${policyOptions}
|
||||
.options=${policyEngineModes}
|
||||
.value=${app.policyEngineMode}
|
||||
.errorMessages=${errors.policyEngineMode ?? []}
|
||||
></ak-radio-input>
|
||||
|
||||
@ -214,14 +214,14 @@ export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
|
||||
renderObjectCreate(): TemplateResult {
|
||||
return html`
|
||||
<ak-forms-modal>
|
||||
<span slot="submit"> ${msg("Create")} </span>
|
||||
<span slot="header"> ${msg("Create Certificate-Key Pair")} </span>
|
||||
<span slot="submit"> ${msg("Import")} </span>
|
||||
<span slot="header"> ${msg("Import Existing Certificate-Key Pair")} </span>
|
||||
<ak-crypto-certificate-form slot="form"> </ak-crypto-certificate-form>
|
||||
<button slot="trigger" class="pf-c-button pf-m-primary">${msg("Create")}</button>
|
||||
<button slot="trigger" class="pf-c-button pf-m-primary">${msg("Import")}</button>
|
||||
</ak-forms-modal>
|
||||
<ak-forms-modal>
|
||||
<span slot="submit"> ${msg("Generate")} </span>
|
||||
<span slot="header"> ${msg("Generate Certificate-Key Pair")} </span>
|
||||
<span slot="header"> ${msg("Generate New Certificate-Key Pair")} </span>
|
||||
<ak-crypto-certificate-generate-form slot="form">
|
||||
</ak-crypto-certificate-generate-form>
|
||||
<button slot="trigger" class="pf-c-button pf-m-secondary">
|
||||
|
||||
@ -123,7 +123,10 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
||||
"These bindings control if this stage will be applied to the flow.",
|
||||
)}
|
||||
</p>
|
||||
<ak-bound-policies-list .target=${item.policybindingmodelPtrId}>
|
||||
<ak-bound-policies-list
|
||||
.target=${item.policybindingmodelPtrId}
|
||||
.policyEngineMode=${item.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||
import { DesignationToLabel, LayoutToLabel } from "@goauthentik/admin/flows/utils";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { AuthenticationEnum } from "@goauthentik/api/dist/models/AuthenticationEnum";
|
||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||
import "@goauthentik/elements/forms/FormGroup";
|
||||
@ -18,7 +19,6 @@ import {
|
||||
FlowDesignationEnum,
|
||||
FlowLayoutEnum,
|
||||
FlowsApi,
|
||||
PolicyEngineMode,
|
||||
} from "@goauthentik/api";
|
||||
|
||||
@customElement("ak-flow-form")
|
||||
@ -279,23 +279,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
.options=${[
|
||||
{
|
||||
label: "any",
|
||||
value: PolicyEngineMode.Any,
|
||||
default: true,
|
||||
description: html`${msg(
|
||||
"Any policy must match to grant access",
|
||||
)}`,
|
||||
},
|
||||
{
|
||||
label: "all",
|
||||
value: PolicyEngineMode.All,
|
||||
description: html`${msg(
|
||||
"All policies must match to grant access",
|
||||
)}`,
|
||||
},
|
||||
]}
|
||||
.options=${policyEngineModes}
|
||||
.value=${this.instance?.policyEngineMode}
|
||||
>
|
||||
</ak-radio>
|
||||
|
||||
@ -270,7 +270,10 @@ export class FlowViewPage extends AKElement {
|
||||
${msg("These bindings control which users can access this flow.")}
|
||||
</div>
|
||||
<div class="pf-c-card__body">
|
||||
<ak-bound-policies-list .target=${this.flow.policybindingmodelPtrId}>
|
||||
<ak-bound-policies-list
|
||||
.target=${this.flow.policybindingmodelPtrId}
|
||||
.policyEngineMode=${this.flow.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import "@goauthentik/admin/groups/GroupForm";
|
||||
import "@goauthentik/admin/policies/PolicyBindingForm";
|
||||
import { PolicyBindingNotice } from "@goauthentik/admin/policies/PolicyBindingForm";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import "@goauthentik/admin/policies/PolicyWizard";
|
||||
import {
|
||||
PolicyBindingCheckTarget,
|
||||
@ -34,6 +35,9 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
||||
@property()
|
||||
target?: string;
|
||||
|
||||
@property()
|
||||
policyEngineMode: string = "";
|
||||
|
||||
@property({ type: Array })
|
||||
allowedTypes: PolicyBindingCheckTarget[] = [
|
||||
PolicyBindingCheckTarget.policy,
|
||||
@ -244,6 +248,23 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
||||
</button>
|
||||
</ak-forms-modal> `;
|
||||
}
|
||||
|
||||
renderPolicyEngineMode() {
|
||||
const policyEngineMode = policyEngineModes.find(
|
||||
(pem) => pem.value === this.policyEngineMode,
|
||||
);
|
||||
if (policyEngineMode === undefined) {
|
||||
return nothing;
|
||||
}
|
||||
return html`<p>
|
||||
${msg(str`The currently selected policy engine mode is ${policyEngineMode.label}:`)}
|
||||
${policyEngineMode.description}
|
||||
</p>`;
|
||||
}
|
||||
|
||||
renderToolbarContainer(): TemplateResult {
|
||||
return html`${this.renderPolicyEngineMode()} ${super.renderToolbarContainer()}`;
|
||||
}
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
@ -3,7 +3,7 @@ import { html } from "lit";
|
||||
|
||||
import { PolicyEngineMode } from "@goauthentik/api";
|
||||
|
||||
export const policyOptions = [
|
||||
export const policyEngineModes = [
|
||||
{
|
||||
label: "any",
|
||||
value: PolicyEngineMode.Any,
|
||||
@ -1,6 +1,7 @@
|
||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||
import {
|
||||
GroupMatchingModeToLabel,
|
||||
@ -534,6 +535,22 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Advanced settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Policy engine mode")}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
.options=${policyEngineModes}
|
||||
.value=${this.instance?.policyEngineMode}
|
||||
>
|
||||
</ak-radio>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -244,6 +244,7 @@ export class OAuthSourceViewPage extends AKElement {
|
||||
<ak-bound-policies-list
|
||||
.target=${this.source.pk}
|
||||
.typeNotices=${sourceBindingTypeNotices()}
|
||||
.policyEngineMode=${this.source.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||
import {
|
||||
GroupMatchingModeToLabel,
|
||||
@ -414,6 +415,22 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Advanced settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Policy engine mode")}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
.options=${policyEngineModes}
|
||||
.value=${this.instance?.policyEngineMode}
|
||||
>
|
||||
</ak-radio>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,6 +134,7 @@ export class PlexSourceViewPage extends AKElement {
|
||||
<ak-bound-policies-list
|
||||
.target=${this.source.pk}
|
||||
.typeNotices=${sourceBindingTypeNotices()}
|
||||
.policyEngineMode=${this.source.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
|
||||
@ -2,6 +2,7 @@ import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capab
|
||||
import "@goauthentik/admin/common/ak-crypto-certificate-search";
|
||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||
import {
|
||||
GroupMatchingModeToLabel,
|
||||
@ -574,6 +575,22 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
||||
</p>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>
|
||||
<ak-form-group>
|
||||
<span slot="header"> ${msg("Advanced settings")} </span>
|
||||
<div slot="body" class="pf-c-form">
|
||||
<ak-form-element-horizontal
|
||||
label=${msg("Policy engine mode")}
|
||||
required
|
||||
name="policyEngineMode"
|
||||
>
|
||||
<ak-radio
|
||||
.options=${policyEngineModes}
|
||||
.value=${this.instance?.policyEngineMode}
|
||||
>
|
||||
</ak-radio>
|
||||
</ak-form-element-horizontal>
|
||||
</div>
|
||||
</ak-form-group>`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -211,6 +211,7 @@ export class SAMLSourceViewPage extends AKElement {
|
||||
<ak-bound-policies-list
|
||||
.target=${this.source.pk}
|
||||
.typeNotices=${sourceBindingTypeNotices()}
|
||||
.policyEngineMode=${this.source.policyEngineMode}
|
||||
>
|
||||
</ak-bound-policies-list>
|
||||
</div>
|
||||
|
||||
@ -123,6 +123,9 @@ export class AKElement extends LitElement {
|
||||
applyUITheme(nextStyleRoot, UiThemeEnum.Dark, this.#customCSSStyleSheet);
|
||||
|
||||
this.activeTheme = UiThemeEnum.Dark;
|
||||
} else if (this.preferredColorScheme === "light") {
|
||||
applyUITheme(nextStyleRoot, UiThemeEnum.Light, this.#customCSSStyleSheet);
|
||||
this.activeTheme = UiThemeEnum.Light;
|
||||
} else if (this.preferredColorScheme === "auto") {
|
||||
createUIThemeEffect(
|
||||
(nextUITheme) => {
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Meistgenutzte Apps</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>vor
|
||||
<x id="0" equiv-text="${ago}"/>Tagen</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6007,21 +6001,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>Privaten Schlüssel herunterladen</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Zertifikat-Schlüsselpaar generieren</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Generiere</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Zertifikat-Schlüsselpaar generieren</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7351,9 +7335,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s7ccce0ec8d228db6">
|
||||
<source>Configure SCIM Provider</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -9251,6 +9232,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -533,11 +533,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Apps with most usage</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>days ago</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
<target>Objects created</target>
|
||||
@ -4894,18 +4889,10 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>Download Private key</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Create Certificate-Key Pair</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Generate</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Generate Certificate-Key Pair</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
<target>Successfully updated instance.</target>
|
||||
@ -5993,9 +5980,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s7ccce0ec8d228db6">
|
||||
<source>Configure SCIM Provider</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -7755,6 +7739,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Aplicaciones con mayor uso</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>días atrás</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6029,21 +6023,11 @@ Las vinculaciones a grupos o usuarios se comparan con el usuario del evento.</ta
|
||||
<source>Download Private key</source>
|
||||
<target>Descargar clave privada</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Crear un Par de Claves y Certificado</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Generar</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Generar par de claves de certificado</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7375,10 +7359,6 @@ Las vinculaciones a grupos o usuarios se comparan con el usuario del evento.</ta
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Configura el Proveedor de SCIM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Volumen de evento</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Ajustes de conexión.</target>
|
||||
@ -9312,6 +9292,15 @@ Las vinculaciones a grupos o usuarios se comparan con el usuario del evento.</ta
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Apps les plus utilisées</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
il y a <x id="0" equiv-text="${ago}"/>jours</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6117,21 +6111,11 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti
|
||||
<source>Download Private key</source>
|
||||
<target>Télécharger la clé privée</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Créer une paire clé/certificat</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Générer</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Générer une paire clé/certificat</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7532,10 +7516,6 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Configurer le fournisseur SCIM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Volume d'événements</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Paramètres de connexion.</target>
|
||||
@ -9881,6 +9861,15 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>App con maggior utilizzo</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>giorni fa</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6118,21 +6112,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>Scarica chiave privata</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Creare coppia certificato-chiave</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Genera</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Genera coppia certificato-chiave</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7533,10 +7517,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Configurare il provider SCIM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Volume degli eventi</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Impostazioni connessione.</target>
|
||||
@ -9864,6 +9844,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -644,12 +644,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>사용량이 가장 많은 앱</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/> 일 전</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6052,21 +6046,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>개인 키 다운로드</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>인증서-키 쌍 만들기</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>발행</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>인증서-키 쌍 발행</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7456,10 +7440,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>SCIM 공급자 구성</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>이력 규모</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -9220,6 +9200,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -654,11 +654,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Apps met meeste gebruik</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target><x id="0" equiv-text="${ago}"/> dagen geleden</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6061,21 +6056,11 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
||||
<source>Download Private key</source>
|
||||
<target>Privésleutel downloaden</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Certificaat-sleutelpaar aanmaken</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Genereren</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Genereren Certificaat-sleutelpaar</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7359,9 +7344,6 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
||||
<trans-unit id="s7ccce0ec8d228db6">
|
||||
<source>Configure SCIM Provider</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -9122,6 +9104,15 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Najczęściej używane aplikacje</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>dni temu</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6119,21 +6113,11 @@ Powiązania z grupami/użytkownikami są sprawdzane względem użytkownika zdarz
|
||||
<source>Download Private key</source>
|
||||
<target>Pobierz klucz prywatny</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Utwórz parę certyfikat-klucz</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Generuj</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Wygeneruj parę certyfikat-klucz</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7534,10 +7518,6 @@ Powiązania z grupami/użytkownikami są sprawdzane względem użytkownika zdarz
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Skonfiguruj dostawcę SCIM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Wolumen zdarzeń</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Ustawienia połączenia.</target>
|
||||
@ -9547,6 +9527,15 @@ Powiązania z grupami/użytkownikami są sprawdzane względem użytkownika zdarz
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -651,11 +651,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Àƥƥś ŵĩţĥ ḿōśţ ũśàĝē</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target><x id="0" equiv-text="${ago}"/> ďàŷś àĝō</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6080,21 +6075,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>Ďōŵńĺōàď Ƥŕĩvàţē ķēŷ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Ćŕēàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Ĝēńēŕàţē</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Ĝēńēŕàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7479,10 +7464,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Ćōńƒĩĝũŕē ŚĆĨḾ Ƥŕōvĩďēŕ</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Ēvēńţ vōĺũḿē</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Ćōńńēćţĩōń śēţţĩńĝś.</target>
|
||||
@ -9555,4 +9536,13 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body></file></xliff>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>Приложения, которые используются чаще всего</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>дней назад</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6118,21 +6112,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>Скачать закрытый ключ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Создание пары сертификат-ключ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Сгенерировать</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Сгенерировать пару сертификат-ключ</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7533,10 +7517,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>Настроить SCIM Провайдера</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Объем событий</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Настройки подключения</target>
|
||||
@ -9639,6 +9619,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -650,11 +650,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>En çok kullanıma sahip uygulamalar</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target><x id="0" equiv-text="${ago}"/> gün önce</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6081,21 +6076,11 @@ Gruplara/kullanıcılara yapılan bağlamalar, etkinliğin kullanıcısına kar
|
||||
<source>Download Private key</source>
|
||||
<target>Indir Özel anahtar</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>Sertifika Anahtarı Çifti Oluştur</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>Oluştur</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>Sertifika Anahtarı Çifti Oluştur</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7490,10 +7475,6 @@ Gruplara/kullanıcılara yapılan bağlamalar, etkinliğin kullanıcısına kar
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>SCIM Sağlayıcısını Yapılandırma</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>Olay hacmi</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>Bağlantı ayarları'nı tıklayın.</target>
|
||||
@ -9610,6 +9591,15 @@ Gruplara/kullanıcılara yapılan bağlamalar, etkinliğin kullanıcısına kar
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -431,9 +431,6 @@
|
||||
<trans-unit id="s6e09a19aa3952509">
|
||||
<source>Apps with most usage</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
</trans-unit>
|
||||
@ -3986,9 +3983,6 @@ doesn't pass when either or both of the selected options are equal or above the
|
||||
<trans-unit id="s78c08391ffbfb8c0">
|
||||
<source>These bindings control which users can access this flow.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sc1a1ff47c058bb09">
|
||||
<source>Event Log</source>
|
||||
</trans-unit>
|
||||
@ -4281,15 +4275,9 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s47bd537a3bcebf19">
|
||||
<source>Download Private key</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
</trans-unit>
|
||||
@ -6365,6 +6353,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
|
||||
@ -661,12 +661,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>使用率最高的应用</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>天前</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6118,21 +6112,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>下载私钥</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>创建证书密钥对</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>生成</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>生成证书密钥对</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7533,10 +7517,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Configure SCIM Provider</source>
|
||||
<target>配置 SCIM 提供程序</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
<target>事件容量</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
<target>连接设置。</target>
|
||||
@ -9882,6 +9862,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -523,11 +523,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>使用率最高的应用</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target>
|
||||
<x id="0" equiv-text="${ago}"/>天前</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
<target>已创建对象</target>
|
||||
@ -4633,18 +4628,10 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>下载私钥</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>创建证书密钥对</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>生成</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>生成证书密钥对</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
</trans-unit>
|
||||
@ -5693,9 +5680,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s7ccce0ec8d228db6">
|
||||
<source>Configure SCIM Provider</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -7455,6 +7439,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -643,11 +643,6 @@
|
||||
<source>Apps with most usage</source>
|
||||
<target>使用頻率最高的應用程式</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sda5e1499f93146ad">
|
||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
||||
<target><x id="0" equiv-text="${ago}"/> 天前</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s51ea3a244c781b1f">
|
||||
<source>Objects created</source>
|
||||
@ -6040,21 +6035,11 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<source>Download Private key</source>
|
||||
<target>下載私鑰</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s3a5fec3d73ac9edc">
|
||||
<source>Create Certificate-Key Pair</source>
|
||||
<target>建立憑證金鑰對</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="s45cb501abd43ba52">
|
||||
<source>Generate</source>
|
||||
<target>產生憑證</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="sf9bddaf910f4eea5">
|
||||
<source>Generate Certificate-Key Pair</source>
|
||||
<target>產生憑證金鑰對</target>
|
||||
|
||||
</trans-unit>
|
||||
<trans-unit id="see2bcbc11bb91960">
|
||||
<source>Successfully updated instance.</source>
|
||||
@ -7434,9 +7419,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
<trans-unit id="s7ccce0ec8d228db6">
|
||||
<source>Configure SCIM Provider</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s7513372fe60f6387">
|
||||
<source>Event volume</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s3271da6c18c25b18">
|
||||
<source>Connection settings.</source>
|
||||
</trans-unit>
|
||||
@ -9197,6 +9179,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="s04bb32ec9f359507">
|
||||
<source>Additional Group DN</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb7af25ce6e30d61a">
|
||||
<source>The currently selected policy engine mode is <x id="0" equiv-text="${policyEngineMode.label}"/>:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="se1d2545eda4b1600">
|
||||
<source>Import Existing Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sb3d5c0a0501669df">
|
||||
<source>Generate New Certificate-Key Pair</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
||||
@ -75,7 +75,7 @@ This key is set to `True` when the flow is executed from an "SSO" context. For e
|
||||
|
||||
#### `is_restored` (Token object)
|
||||
|
||||
This key is set when a flow execution is continued from a token. This happens for example when an [Email stage](../../stages/email/index.mdx) is used and the user clicks on the link within the email. The token object contains the key that was used to restore the flow execution.
|
||||
This key is set when a flow execution is continued from a token. This happens for example when an [Email stage](../../stages/email/index.mdx) is used and the user clicks on the link within the email. The token object contains the key that was used to restore the flow execution. This field is also used by the [Source stage](../../stages/source/index.md) when returning back to the initial flow the Source stage was run on.
|
||||
|
||||
#### `is_redirected` (Flow object):ak-version[2024.12]
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ In this mode, the regular expressions are matched against the Request's full URL
|
||||
|
||||
## Dynamic backend selection
|
||||
|
||||
You can configure the backend the proxy should access dynamically via _Scope mappings_. To do so, create a new _Scope mapping_, with a name and scope of your choice. As expression, use this:
|
||||
You can configure the backend the proxy should access dynamically via scope mappings. To do this, create a scope mapping with a name and scope of your choice, and set the expression to:
|
||||
|
||||
```python
|
||||
return {
|
||||
@ -151,11 +151,11 @@ return {
|
||||
}
|
||||
```
|
||||
|
||||
Afterwards, edit the _Proxy provider_ and add this new mapping. The expression is only evaluated when the user logs into the application.
|
||||
Afterwards, edit the proxy provider and add this new mapping. The expression is only evaluated when the user logs into the application.
|
||||
|
||||
## Host header:ak-version[2025.6.1]
|
||||
|
||||
By default, the proxy provider will use forwarded Host header received from the client. Starting with authentik 2025.6.1, it is possible to dynamically adjust the Host header with a property mapping.
|
||||
By default, the proxy provider will use the forwarded host header received from the client. Starting with authentik 2025.6.1, it is possible to dynamically adjust the host header with a property mapping. To do this, create a scope mapping with a name and scope of your choice, and set the expression to:
|
||||
|
||||
```python
|
||||
return {
|
||||
@ -165,4 +165,20 @@ return {
|
||||
}
|
||||
```
|
||||
|
||||
Afterwards, edit the _Proxy provider_ and add this new mapping. The expression is only evaluated when the user logs into the application.
|
||||
Afterwards, edit the proxy provider and add this new mapping. The expression is only evaluated when the user logs into the application.
|
||||
|
||||
### Dynamically setting host header
|
||||
|
||||
You can dynamically set the host header to match the **Internal host** value set on the proxy provider. To do this, create a scope mapping with a name and scope of your choice, and set the expression to:
|
||||
|
||||
```python
|
||||
from urllib.parse import urlparse
|
||||
parsed_url = urlparse(provider.proxyprovider.internal_host)
|
||||
return {
|
||||
"ak_proxy": {
|
||||
"host_header": parsed_url.netloc
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Afterwards, edit the proxy provider and add this new mapping. The expression is only evaluated when the user logs into the application.
|
||||
|
||||
@ -2,18 +2,22 @@
|
||||
title: Events
|
||||
---
|
||||
|
||||
Events are authentik's built-in logging system. Whenever any of the following actions occur, an event is created:
|
||||
Events are authentik's built-in logging system. Every event is logged, whether it is initiated by a user or by authentik.
|
||||
|
||||
Events can be used to define [notification rules](notifications.md), with specified [transport options](transports.md) of local (in the authentik UI), email or webhook.
|
||||
|
||||
Certain information is stripped from events, to ensure no passwords or other credentials are saved in the log.
|
||||
|
||||
## Event retention
|
||||
|
||||
The event retention is configured in the system settings interface, with the default being set to 365 days.
|
||||
The event retention is configured in the **System > Settings** area of the Admin interface, with the default being set to 365 days.
|
||||
|
||||
If you want to forward these events to another application, forward the log output of all authentik containers. Every event creation is logged with the log level "info". For this configuration, it is also recommended to set the internal retention pretty low (for example, `days=1`).
|
||||
|
||||
## Event actions
|
||||
|
||||
Whenever any of the following actions occur, an event is created.
|
||||
|
||||
### `login`
|
||||
|
||||
A user logs in (including the source, if available)
|
||||
|
||||
@ -64,8 +64,8 @@ Docker containers are typically configured using environment variables. To ensur
|
||||
```yaml showLineNumbers
|
||||
OPENID_AUTHORIZATION_ENDPOINT=https://authentik.company/application/o/authorize/
|
||||
OPENID_CLIENT_ID=<Client ID from authentik>
|
||||
OPENID_ISSUER=https://authentik.company/application/o/<your-slug>/
|
||||
OPENID_JWKS_ENDPOINT=https://authentik.company/application/o/<your-slug>/jwks/
|
||||
OPENID_ISSUER=https://authentik.company/application/o/<application_slug>/
|
||||
OPENID_JWKS_ENDPOINT=https://authentik.company/application/o/<application_slug>/jwks/
|
||||
OPENID_REDIRECT_URI=https://guacamole.company/
|
||||
OPENID_USERNAME_CLAIM_TYPE=preferred_username
|
||||
```
|
||||
@ -83,8 +83,8 @@ Additionally, ensure your `guacamole.properties` file (typically located in `/et
|
||||
```yaml showLineNumbers title="/etc/guacamole/guacamole.properties"
|
||||
openid-authorization-endpoint=https://authentik.company/application/o/authorize/
|
||||
openid-client-id=<Client ID from authentik>
|
||||
openid-issuer=https://authentik.company/application/o/<your-slug>/
|
||||
openid-jwks-endpoint=https://authentik.company/application/o/<your-slug>/jwks/
|
||||
openid-issuer=https://authentik.company/application/o/<application_slug>/
|
||||
openid-jwks-endpoint=https://authentik.company/application/o/<application_slug>/jwks/
|
||||
openid-redirect-uri=https://guacamole.company/
|
||||
openid-username-claim-type=preferred_username
|
||||
```
|
||||
|
||||
@ -78,7 +78,7 @@ url: https://argocd.company
|
||||
dex.config: |
|
||||
connectors:
|
||||
- config:
|
||||
issuer: https://authentik.company/application/o/<application slug defined in step 2>/
|
||||
issuer: https://authentik.company/application/o/<application_slug>/
|
||||
clientID: <client ID from the Provider above>
|
||||
clientSecret: $dex.authentik.clientSecret
|
||||
insecureEnableGroups: true
|
||||
|
||||
@ -65,7 +65,7 @@ To support the integration of Aruba Orchestrator with authentik, you need to cre
|
||||
- **Name**: `authentik`
|
||||
- **Username Attribute**: `http://schemas.goauthentik.io/2021/02/saml/username`
|
||||
- **Issuer URL**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/consume`
|
||||
- **SSO Endpoint**: `https://authentik.company/application/saml/<slug>/sso/binding/init/` (replace \<slug\> with application slug name)
|
||||
- **SSO Endpoint**: `https://authentik.company/application/saml/<application_slug>/sso/binding/init/`
|
||||
- **IdP X509 Cert**: (paste in the downloaded signing certificate)
|
||||
- **ACS URL**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/consume`
|
||||
- **EdgeConnect SLO Endpoint**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/logout`
|
||||
|
||||
@ -67,7 +67,7 @@ To support the integration of Atlassian Cloud with authentik, you need to create
|
||||
5. Click **Set up SAML single sign-on** and then **Next**.
|
||||
6. Set the following required configurations:
|
||||
- **Identity provider Entity ID**: `authentik`
|
||||
- **Identity provider SSO URL**: `https://authentik.company/application/saml/<application slug>/sso/binding/redirect/`
|
||||
- **Identity provider SSO URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- **Public x509 certificate**: enter the contents of the certificate that was downloaded in the previous section.
|
||||
7. Click **Add**.
|
||||
8. You will be shown a **Service provider entity URL** and **Service provider assertion consumer service URL**. Copy both, they will be required in authentik.
|
||||
|
||||
@ -81,7 +81,7 @@ In the `SAML Enabled Identity Providers` paste the following configuration:
|
||||
"attr_username": "http://schemas.goauthentik.io/2021/02/saml/username",
|
||||
"attr_user_permanent_id": "http://schemas.goauthentik.io/2021/02/saml/uid",
|
||||
"x509cert": "MIIDEjCCAfqgAwIBAgIRAJZ9pOZ1g0xjiHtQAAejsMEwDQYJKoZIhvcNAQELBQAwMDEuMCwGA1UEAwwlcGFzc2Jvb2sgU2VsZi1zaWduZWQgU0FNTCBDZXJ0aWZpY2F0ZTAeFw0xOTEyMjYyMDEwNDFaFw0yMDEyMjYyMDEwNDFaMFkxLjAsBgNVBAMMJXBhc3Nib29rIFNlbGYtc2lnbmVkIFNBTUwgQ2VydGlmaWNhdGUxETAPBgNVBAoMCHBhc3Nib29rMRQwEgYDVQQLDAtTZWxmLXNpZ25lZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO/ktBYZkY9xAijF4acvzX6Q1K8KoIZeyde8fVgcWBz4L5FgDQ4/dni4k2YAcPdwteGL4nKVzetUzjbRCBUNuO6lqU4J4WNNX4Xg4Ir7XLRoAQeo+omTPBdpJ1p02HjtN5jT01umN3bK2yto1e37CJhK6WJiaXqRewPxh4lI4aqdj3BhFkJ3I3r2qxaWOAXQ6X7fg3w/ny7QP53//ouZo7hSLY3GIcRKgvdjjVM3OW5C3WLpOq5Dez5GWVJ17aeFCfGQ8bwFKde6qfYqyGcU9xHB36TtVHB9hSFP/tUFhkiSOxtsrYwCgCyXm4UTSpP+wiNyjKfFw7qGLBvA2hGTNw8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAh9PeAqPRQk1/SSygIFADZBi08O/DPCshFwEHvJATIcTzcDD8UGAjXh+H5OlkDyX7KyrcaNvYaafCUo63A+WprdtdY5Ty6SBEwTYyiQyQfwM9BfK+imCoif1Ai7xAelD7p9lNazWq7JU+H/Ep7U7Q7LvpxAbK0JArt+IWTb2NcMb3OWE1r0gFbs44O1l6W9UbJTbyLMzbGbe5i+NHlgnwPwuhtRMh0NUYabGHKcHbhwyFhfGAQv2dAp5KF1E5gu6ZzCiFePzc0FrqXQyb2zpFYcJHXquiqaOeG7cZxRHYcjrl10Vxzki64XVA9BpdELgKSnupDGUEJsRUt3WVOmvZuA==",
|
||||
"url": "https://authentik.company/application/saml/<slug>/sso/binding/redirect/",
|
||||
"url": "https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/",
|
||||
"entity_id": "https://awx.company/sso/metadata/saml/",
|
||||
"attr_email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
|
||||
"attr_first_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
|
||||
|
||||
178
website/integrations/services/bitwarden/index.mdx
Normal file
178
website/integrations/services/bitwarden/index.mdx
Normal file
@ -0,0 +1,178 @@
|
||||
---
|
||||
title: Integrate with Bitwarden
|
||||
sidebar_label: Bitwarden
|
||||
support_level: community
|
||||
---
|
||||
|
||||
import TabItem from "@theme/TabItem";
|
||||
import Tabs from "@theme/Tabs";
|
||||
|
||||
## What is Bitwarden
|
||||
|
||||
> Bitwarden is a freemium, open-source password management service that helps users store, manage, and share sensitive information securely online.
|
||||
>
|
||||
> -- https://bitwarden.com/
|
||||
|
||||
## Preparation
|
||||
|
||||
The following placeholders are used in this guide:
|
||||
|
||||
- `authentik.company` is the FQDN of the authentik installation.
|
||||
- `bitwarden.company` is the FQDN of the Bitwarden installation (if using self-hosted Bitwarden).
|
||||
|
||||
:::note
|
||||
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
|
||||
:::
|
||||
|
||||
## Configuration methods
|
||||
|
||||
You can configure Bitwarden to use either OIDC or SAML; this guide explains both options.
|
||||
|
||||
<Tabs
|
||||
defaultValue="oidc"
|
||||
values={[
|
||||
{ label: "Log in with OIDC", value: "oidc" },
|
||||
{ label: "Log in with SAML", value: "saml" },
|
||||
]}>
|
||||
<TabItem value="oidc">
|
||||
|
||||
## authentik configuration
|
||||
|
||||
To support the integration of Bitwarden with authentik, you need to create a property mapping and an application/provider pair in authentik.
|
||||
|
||||
### Create a property mapping
|
||||
|
||||
Bitwarden requires a first and last name for every user. However, authentik, by default, only supplies a full name as a single string. As a result, a property mapping must be created to separate and provide first and last names to Bitwarden.
|
||||
|
||||
1. Log in to authentik as an administrator, and open the authentik Admin interface.
|
||||
2. Navigate to **Customization** > **Property Mappings** and click **Create**.
|
||||
|
||||
- **Select type**: select **Scope Mapping**.
|
||||
- **Configure the Scope Mapping**: Provide a descriptive name (e.g. `Bitwarden Profile Scope`), and an optional description.
|
||||
|
||||
- **Scope name**: `profile`
|
||||
- **Expression**:
|
||||
|
||||
```python showLineNumbers
|
||||
return {
|
||||
"name": request.user.name,
|
||||
"preferred_username": request.user.username,
|
||||
"nickname": request.user.username,
|
||||
"groups": [group.name for group in request.user.ak_groups.all()],
|
||||
"surname": request.user.name.rsplit(" ", 1)[-1],
|
||||
"givenname": request.user.name.rsplit(" ", 1)[0],
|
||||
}
|
||||
```
|
||||
|
||||
3. Click **Finish** to save the property mapping.
|
||||
|
||||
### Create an application and provider in authentik
|
||||
|
||||
1. Log in to authentik as an administrator, and open the authentik Admin interface.
|
||||
2. Navigate to **Applications** > **Applications** and click **Create with Provider** to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
|
||||
|
||||
- **Application**: provide a descriptive name, an optional group for the type of application, the policy engine mode, and optional UI settings.
|
||||
- **Choose a Provider type**: select **OAuth2/OpenID Connect** as the provider type.
|
||||
- **Configure the Provider**: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
|
||||
- Note the **Client ID**, **Client Secret**, and **slug** values because they will be required later.
|
||||
- Set a `Strict` redirect URI to:
|
||||
- `https://sso.bitwarden.com/oidc-signin` for Non-EU based SaaS Bitwarden.
|
||||
- `https://sso.bitwarden.eu/oidc-signin` for EU based SaaS Bitwarden.
|
||||
- `https://bitwarden.company/oidc-signin` for self-hosted Bitwarden.
|
||||
- Select any available signing key.
|
||||
- Under **Advanced protocol settings**, **Selected Scopes**:
|
||||
- Remove `authentik default OAuth Mapping: OpenID 'profile'` and add the property mapping that you created.
|
||||
- **Configure Bindings** _(optional)_: you can create a [binding](/docs/add-secure-apps/flows-stages/bindings/) (policy, group, or user) to manage the listing and access to applications on a user's **My applications** page.
|
||||
|
||||
3. Click **Submit** to save the new application and provider.
|
||||
|
||||
## Bitwarden configuration
|
||||
|
||||
1. Log in to the [Bitwarden dashboard](https://vault.bitwarden.com/#/login) as an administrator (choose `Accessing: bitwarden.eu` for Bitwarden accounts based in the EU). If you are using a self-hosted Bitwarden, go to `https://bitwarden.company/#/login`.
|
||||
2. In the sidebar, navigate to **Admin Console** > **Settings** > **Single sign-on**, and enter the following settings:
|
||||
|
||||
- **Allow SSO authentication**: Select this option.
|
||||
- **SSO Identifier**: enter a globally unique SSO identifier (this is not required if using self-hosted Bitwarden, or if you have claimed a domain, see the [Bitwarden Claimed Domains documentation](https://bitwarden.com/help/claimed-domains/)).
|
||||
- **Type**: `OIDC`
|
||||
- Under **OpenID connect configuration**:
|
||||
- **Authority**: `https://authentik.company/application/o/<application_slug>/`
|
||||
- **Client ID**: Client ID from authentik.
|
||||
- **Client secret**: Client secret from authentik.
|
||||
- **Metadata address**: `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`
|
||||
- **OIDC redirect behavior**: `Redirect GET`
|
||||
- **Get claims from user info endpoint**: Select this option.
|
||||
|
||||
3. Click **Save**.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="saml">
|
||||
|
||||
## authentik configuration
|
||||
|
||||
To support the integration of Bitwarden with authentik, you need to create an application/provider pair in authentik.
|
||||
|
||||
### Create an application and provider in authentik
|
||||
|
||||
1. Log in to authentik as an administrator, and open the authentik Admin interface.
|
||||
2. Navigate to **Applications** > **Applications** and click **Create with Provider** to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
|
||||
|
||||
- **Application**: provide a descriptive name, an optional group for the type of application, the policy engine mode, and optional UI settings. Take note of the **slug** as it will be required later.
|
||||
- **Choose a Provider type**: select **SAML Provider** as the provider type.
|
||||
- **Configure the Provider**: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
|
||||
- Temporarily set the **ACS URL** to `https://temp.temp`
|
||||
- Under **Advanced protocol settings**, set **Signing Certificate** to use any available certificate.
|
||||
- **Configure Bindings** _(optional)_: you can create a [binding](/docs/add-secure-apps/flows-stages/bindings/) (policy, group, or user) to manage the listing and access to applications on a user's **My applications** page.
|
||||
|
||||
3. Click **Submit** to save the new application and provider.
|
||||
|
||||
### Download certificate file
|
||||
|
||||
2. Navigate to **Applications** > **Providers** and click on the name of the provider that you created in the previous section (e.g. `Provider for Bitwarden`).
|
||||
3. Navigate to **Applications** > **Providers** and click on the name of the provider that you created in the previous section (e.g. `Provider for bitwarden`).
|
||||
4. Under **Related objects** > **Download signing certificate**, click on **Download**. This downloaded file is your certificate file and it will be required in the next section.
|
||||
|
||||
## Bitwarden configuration
|
||||
|
||||
1. Log in to the [Bitwarden dashboard](https://vault.bitwarden.com/#/login) as an administrator (select `Accessing: bitwarden.eu` for EU based Bitwarden accounts). For self-hosted Bitwarden use `https://bitwarden.company/#/login`.
|
||||
2. In the sidebar, navigate to **Admin Console** > **Settings** > **Single sign-on**, and enter the following settings:
|
||||
- **Allow SSO authentication**: Select this option.
|
||||
- **SSO Identifier**: enter a globally unique SSO identifier (this is not required if using self-hosted Bitwarden, or if you have claimed a domain, see the [Bitwarden Claimed Domains documentation](https://bitwarden.com/help/claimed-domains/)).
|
||||
- **Type**: `SAML 2.0`
|
||||
- Under **SAML service provider configuration**:
|
||||
- **Expect signed assertions**: Select this option.
|
||||
- Under **SAML identity provider configuration**:
|
||||
- **Entity ID**: `authentik`
|
||||
- **Single sign-on service URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- **Single log-out service URL**: `https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/`
|
||||
- **X509 public certificate**: Paste the contents of your certificate file.
|
||||
3. Under **SAML service provider configuration**, take note of the **SP entity ID** and **Assertion consumer service (ACS) URL** values. These will be required in the next section.
|
||||
4. Click **Save**.
|
||||
|
||||
## Reconfigure authentik provider
|
||||
|
||||
1. Log in to authentik as an administrator, and open the authentik Admin interface.
|
||||
2. Navigate to **Applications** > **Providers** and click the **Edit** icon of the newly created Bitwarden provider.
|
||||
3. Under **Protocol settings**, set the following required configurations:
|
||||
- **ACS URL**: set to the **Assertion consumer service (ACS) URL** from Bitwarden.
|
||||
- **Audience**: set to the **SP entity ID** from Bitwarden.
|
||||
4. Click **Update**
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Configuration verification
|
||||
|
||||
To confirm that authentik is properly configured with Bitwarden, log out and go to the [Bitwarden login page](https://vault.bitwarden.com/#/login) (select `Accessing: bitwarden.eu` for EU based Bitwarden accounts or use `https://bitwarden.company/#/login` for self-hosted Bitwarden).
|
||||
|
||||
Enter the email address of a Bitwarden account and click **Use single sign-on**. If you haven't claimed the email domain in Bitwarden, enter the unique SSO identifier that you selected, and click **Continue**. You should be redirected to authentik to login, once successful you should be redirected to the Bitwarden dashboard.
|
||||
|
||||
:::note
|
||||
Depending on your `Member decryption options` setting, which is set in Bitwarden via **Admin Console** > **Settings** > **Single sign-on**, you may still be required to enter your master password after signing in via SSO.
|
||||
:::
|
||||
|
||||
## Resources
|
||||
|
||||
- [Bitwarden Help - OIDC Configuration](https://bitwarden.com/help/configure-sso-oidc/)
|
||||
- [Bitwarden Help - SAML 2.0 Configuration](https://bitwarden.com/help/configure-sso-saml/)
|
||||
- [Bitwarden Help - Claimed Domains](https://bitwarden.com/help/claimed-domains/)
|
||||
@ -45,7 +45,7 @@ To support the integration of Coder with authentik, you need to create an applic
|
||||
To support the integration of Coder with authentik, add the following environment variables to your Coder deployment:
|
||||
|
||||
```yaml showLineNumbers
|
||||
CODER_OIDC_ISSUER_URL=https://authentik.company/application/o/<application slug>/
|
||||
CODER_OIDC_ISSUER_URL=https://authentik.company/application/o/<application_slug>/
|
||||
CODER_OIDC_EMAIL_DOMAIN=acme.company,acme-corp.company
|
||||
CODER_OIDC_CLIENT_ID=<Client ID from authentik>
|
||||
CODER_OIDC_CLIENT_SECRET=<Client secret from authentik>
|
||||
|
||||
@ -45,7 +45,7 @@ To support the integration of FileRise with authentik, you need to create an app
|
||||
1. Log in to FileRise as an administrator.
|
||||
2. Click on your profile icon in the upper right corner, then select **Admin Panel**.
|
||||
3. Open the **OIDC Configuration & TOTP** section and configure the following settings:
|
||||
- **OIDC Provider URL**: `https://authentik.company/application/o/<application-slug>/`
|
||||
- **OIDC Provider URL**: `https://authentik.company/application/o/<application_slug>/`
|
||||
- **OIDC Client OpenID**: Client ID from authentik.
|
||||
- **OIDC Client Secret**: Client Secret from authentik.
|
||||
- **OIDC Redirect URI**: `https://filerise.company/api/auth/auth.php?oidc=callback`
|
||||
|
||||
@ -69,20 +69,17 @@ Under **IdP Details**, set the following values:
|
||||
- **SP entity ID**: `https`
|
||||
- **IdP Type**: `Custom`
|
||||
- **IdP entity ID**: `https://authentik.company`
|
||||
- **IdP Login URL**: `https://authentik.company/application/saml/slug-from-authentik/sso/binding/redirect/`
|
||||
- **IdP Logout URL**: `https://authentik.company/application/saml/slug-from-authentik/slo/binding/redirect/`
|
||||
- **IdP Login URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- **IdP Logout URL**: `https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/`
|
||||
|
||||
FortiGate creates a new user by default if one does not exist, so you will need to set the Default Admin Profile to the permissions you want any new users to have. (I have created a `no_permissions` profile to assign by default.)
|
||||
|
||||
Under `SP Details` set the **SP entity ID** to `https`. Note it for later use (this is your Audience value of the authentik SP-provider).
|
||||
|
||||
> [!IMPORTANT]
|
||||
> On both `IdP Login and Logout URL` change the `<SLUG>` to your own from the authentik application you have created.
|
||||
|
||||
- Set `IdP Type` to `Custom`
|
||||
- Set `IdP entity ID` to `https://authentik.company`
|
||||
- Set `IdP Login URL` to `https://authentik.company/application/saml/<SLUG>/sso/binding/redirect/`
|
||||
- Set `IdP Logout URL` to `https://authentik.company/application/saml/<SLUG>/slo/binding/redirect/`
|
||||
- Set `IdP Login URL` to `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- Set `IdP Logout URL` to `https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/`
|
||||
- Set `IdP Certificate` to `ak.cert`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@ -34,7 +34,7 @@ To support the integration of FortiManager with authentik, you need to create an
|
||||
- **Choose a Provider type**: select **SAML Provider** as the provider type.
|
||||
- **Configure the Provider**: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
|
||||
- Set the **ACS URL** to `https://fortimanager.company/saml/?acs`.
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/application-slug/sso/binding/redirect/`.
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`.
|
||||
- Set the **Service Provider Binding** to `Post`.
|
||||
- **Configure Bindings** _(optional)_: you can create a [binding](/docs/add-secure-apps/flows-stages/bindings/) (policy, group, or user) to manage the listing and access to applications on a user's **My applications** page.
|
||||
|
||||
@ -48,8 +48,8 @@ To support the integration of FortiManager with authentik, you need to create an
|
||||
4. Choose the **Default Login Page** as either **Normal** or **Single Sign-On**. Selecting **Normal** allows both local and SAML authentication, while **Single Sign-On** restricts login to SAML only.
|
||||
5. By default, FortiManager creates a new user if one does not exist. Set the **Default Admin Profile** to assign the desired permissions to new users. A `no_permissions` profile is created by default for this purpose.
|
||||
6. Set the **IdP Type** field to **Custom**.
|
||||
7. For the **IdP Entity ID** field, enter: `https://authentik.company/application/saml/application-slug/sso/binding/redirect/`
|
||||
8. Set the **IdP Login URL** to: `https://authentik.company/application/saml/application-slug/sso/binding/redirect/`
|
||||
7. For the **IdP Entity ID** field, enter: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
8. Set the **IdP Login URL** to: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
9. Set the **IdP Logout URL** to: `https://authentik.company/`
|
||||
10. In the **IdP Certificate** field, import your authentik certificate (either self-signed or valid).
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ To support the integration of Gitea with authentik, you need to create an applic
|
||||
- **Client ID (Key)**: Enter the Client ID from authentik.
|
||||
- **Client Secret**: Enter the Client Secret from authentik.
|
||||
- **Icon URL**: `https://authentik.company/static/dist/assets/icons/icon.png`
|
||||
- **OpenID Connect Auto Discovery URL**: `https://authentik.company/application/o/<slug>/.well-known/openid-configuration`
|
||||
- **OpenID Connect Auto Discovery URL**: `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`
|
||||
- **Additional Scopes**: `email profile`
|
||||
|
||||

|
||||
@ -158,7 +158,7 @@ gitea:
|
||||
provider: "openidConnect"
|
||||
key: "<Client ID from authentik>"
|
||||
secret: "<Client secret from authentik>"
|
||||
autoDiscoverUrl: "https://authentik.company/application/o/<slug>/.well-known/openid-configuration"
|
||||
autoDiscoverUrl: "https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
|
||||
iconUrl: "https://authentik.company/static/dist/assets/icons/icon.png"
|
||||
scopes: "email profile"
|
||||
```
|
||||
@ -188,7 +188,7 @@ gitea:
|
||||
- name: "authentik"
|
||||
provider: "openidConnect"
|
||||
existingSecret: gitea-authentik-secret
|
||||
autoDiscoverUrl: "https://authentik.company/application/o/<slug>/.well-known/openid-configuration"
|
||||
autoDiscoverUrl: "https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
|
||||
iconUrl: "https://authentik.company/static/dist/assets/icons/icon.png"
|
||||
scopes: "email profile"
|
||||
```
|
||||
|
||||
@ -55,7 +55,7 @@ In the left-hand navigation, within the `Settings` section, click `Authenticatio
|
||||
On this page:
|
||||
|
||||
- Select the `Require SAML authentication` checkbox.
|
||||
- In `Sign on URL`, type `https://authentik.company/application/saml/<authentik application slug>/sso/binding/redirect/`
|
||||
- In `Sign on URL`, type `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- For `Issuer`, type `https://github.com/enterprises/foo` or the `Audience` you set in authentik
|
||||
- For `Public certificate`, paste the _full_ signing certificate into this field.
|
||||
- Verify that the `Signature method` and `Digest method` match your SAML provider settings in authentik.
|
||||
|
||||
@ -51,7 +51,7 @@ In the left-hand navigation, scroll down to the Security section and click `Auth
|
||||
On this page:
|
||||
|
||||
- Select the `Enable SAML authentication` checkbox.
|
||||
- In `sign-on URL`, type `https://authentik.company/application/saml/<authentik application slug>/sso/binding/redirect/`
|
||||
- In `sign-on URL`, type `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- For `Issuer`, type `https://github.com/orgs/foo` or the `Audience` you set in authentik
|
||||
- For `Public certificate`, paste the _full_ signing certificate into this field.
|
||||
- Verify that the `Signature method` and `Digest method` match your SAML provider settings in authentik.
|
||||
|
||||
@ -78,7 +78,7 @@ gitlab_rails['omniauth_providers'] = [
|
||||
assertion_consumer_service_url: 'https://gitlab.company/users/auth/saml/callback',
|
||||
# Shown when navigating to certificates in authentik
|
||||
idp_cert_fingerprint: '4E:1E:CD:67:4A:67:5A:E9:6A:D0:3C:E6:DD:7A:F2:44:2E:76:00:6A',
|
||||
idp_sso_target_url: 'https://authentik.company/application/saml/<gitlab application slug>/sso/binding/redirect/',
|
||||
idp_sso_target_url: 'https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/',
|
||||
issuer: 'https://gitlab.company',
|
||||
name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
|
||||
attribute_statements: {
|
||||
@ -138,7 +138,7 @@ gitlab_rails['omniauth_providers'] = [
|
||||
name: 'openid_connect',
|
||||
scope: ['openid','profile','email'],
|
||||
response_type: 'code',
|
||||
issuer: 'https://authentik.company/application/o/gitlab-slug/',
|
||||
issuer: 'https://authentik.company/application/o/<application_slug>/',
|
||||
discovery: true,
|
||||
client_auth_method: 'query',
|
||||
uid_field: 'preferred_username',
|
||||
|
||||
@ -60,7 +60,7 @@ sudo docker exec -it glitchtip-web-1 ./manage.py createsuperuser
|
||||
- Client ID: <Client ID from authentik>
|
||||
- Secret key: <Client Secret from authentik>
|
||||
- Key: leave blank
|
||||
- Settings: `{"server_url": "https://authentik.company/application/o/<Slug of the application from above>/"}`
|
||||
- Settings: `{"server_url": "https://authentik.company/application/o/<application_slug>/"}`
|
||||
The URL should match the **OpenID Configuration Issuer** URL for the authentik provider.
|
||||
|
||||
This will add a **Log in with Authentik** button to the GlitchTip log in page. To add an authentik account to an existing GlitchTip account, log in using the username/password, click _Profile_, then click _Add Account_ in the _Social Auth Accounts_ section.
|
||||
|
||||
@ -39,7 +39,7 @@ To support the integration of GlobalProtect with authentik, you need to create a
|
||||
- **Choose a Provider type**: Select **SAML Provider**.
|
||||
- **Configure the Provider**:
|
||||
- Set the **ACS URL** to `https://gp.company:443/SAML20/SP/ACS`. (Note the absence of the trailing slash and the inclusion of the web interface port)
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/application-slug/sso/binding/redirect/`.
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`.
|
||||
- Set the **Service Provider Binding** to `Post`.
|
||||
- Under **Advanced protocol settings**, select an available signing certificate.
|
||||
3. Click **Submit** to save the new application and provider.
|
||||
|
||||
@ -124,7 +124,7 @@ environment:
|
||||
GF_AUTH_GENERIC_OAUTH_AUTH_URL: "https://authentik.company/application/o/authorize/"
|
||||
GF_AUTH_GENERIC_OAUTH_TOKEN_URL: "https://authentik.company/application/o/token/"
|
||||
GF_AUTH_GENERIC_OAUTH_API_URL: "https://authentik.company/application/o/userinfo/"
|
||||
GF_AUTH_SIGNOUT_REDIRECT_URL: "https://authentik.company/application/o/<Slug of the application from above>/end-session/"
|
||||
GF_AUTH_SIGNOUT_REDIRECT_URL: "https://authentik.company/application/o/<application_slug>/end-session/"
|
||||
# Optionally enable auto-login (bypasses Grafana login screen)
|
||||
GF_AUTH_OAUTH_AUTO_LOGIN: "true"
|
||||
# Optionally map user groups to Grafana roles
|
||||
@ -139,7 +139,7 @@ If you are using a config-file instead, you have to set these options:
|
||||
|
||||
```ini
|
||||
[auth]
|
||||
signout_redirect_url = https://authentik.company/application/o/<Slug of the application from above>/end-session/
|
||||
signout_redirect_url = https://authentik.company/application/o/<application_slug>/end-session/
|
||||
# Optionally enable auto-login
|
||||
oauth_auto_login = true
|
||||
|
||||
@ -163,7 +163,7 @@ If you are using a Helm `values.yaml` file instead, you have to set these option
|
||||
```yaml
|
||||
grafana.ini:
|
||||
auth:
|
||||
signout_redirect_url: "https://authentik.company/application/o/<Slug of the application from above>/end-session/"
|
||||
signout_redirect_url: "https://authentik.company/application/o/<application_slug>/end-session/"
|
||||
oauth_auto_login: true
|
||||
auth.generic_oauth:
|
||||
name: authentik
|
||||
|
||||
@ -56,5 +56,5 @@ Only settings that have been modified from default have been listed.
|
||||
- **Token Endpoint**: `https://authentik.company/application/o/token/`
|
||||
- **Authorize Endpoint**: `https://authentik.company/application/o/authorize/`
|
||||
- **Userinfo Endpoint**: `https://authentik.company/application/o/userinfo/`
|
||||
- **Userinfo Logout Endpoint**: `https://authentik.company/application/o/application-slug/end-session/`
|
||||
- **Userinfo Logout Endpoint**: `https://authentik.company/application/o/<application_slug>/end-session/`
|
||||
- **Scopes**: `email openid profile`
|
||||
|
||||
@ -49,7 +49,7 @@ To support the integration of Gravity with authentik, you need to create an appl
|
||||
1. From the **Gravity administrative interface**, navigate to **Cluster** > **Roles** and click **API**.
|
||||
2. Under the **OIDC** sub-section, configure the following values:
|
||||
|
||||
- **Issuer**: `https://authentik.company/application/o/application-slug/`
|
||||
- **Issuer**: `https://authentik.company/application/o/<application_slug>/`
|
||||
- **Client ID**: Your Client ID from authentik
|
||||
- **Client Secret**: Your Client Secret from authentik
|
||||
- **Redirect URL**: `https://gravity.company/auth/oidc/callback`
|
||||
|
||||
@ -53,7 +53,7 @@ Configure the oidc auth method, oidc discovery url is the OpenID Configuration I
|
||||
|
||||
```
|
||||
vault write auth/oidc/config \
|
||||
oidc_discovery_url="https://authentik.company/application/o/vault-slug/" \
|
||||
oidc_discovery_url="https://authentik.company/application/o/<application_slug>/" \
|
||||
oidc_client_id="Client ID" \
|
||||
oidc_client_secret="Client Secret" \
|
||||
default_role="reader"
|
||||
|
||||
@ -48,7 +48,7 @@ Add the following environment variables to your Homarr configuration. Make sure
|
||||
AUTH_PROVIDERS="oidc,credentials"
|
||||
AUTH_OIDC_CLIENT_ID=<Client ID from authentik>
|
||||
AUTH_OIDC_CLIENT_SECRET=<Client secret from authentik>
|
||||
AUTH_OIDC_ISSUER=https://authentik.company/application/o/<slug from authentik>/
|
||||
AUTH_OIDC_ISSUER=https://authentik.company/application/o/<application_slug>/
|
||||
AUTH_OIDC_URI=https://authentik.company/application/o/authorize
|
||||
AUTH_OIDC_CLIENT_NAME=authentik
|
||||
OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING=true
|
||||
|
||||
@ -29,7 +29,7 @@ To add documentation for a new application (with support level Community or Vend
|
||||
wget https://raw.githubusercontent.com/goauthentik/authentik/main/website/integrations/template/service.md
|
||||
```
|
||||
|
||||
Don't forget to edit the `sidebarsIntegrations.js` file to add your new integration to the lefthand navigation bar.
|
||||
Don't forget to edit the `website/sidebars/integrations.mjs` file to add your new integration to the appropriate section in the lefthand navigation pane.
|
||||
|
||||
## Integration categories
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ Modify the **Security Realm** option to select `Login with Openid Connect`.
|
||||
|
||||
In the **Client id** and **Client secret** fields, enter the Client ID and Client Secret values from the provider you created.
|
||||
|
||||
Set the configuration mode to **Automatic configuration** and set the **Well-known configuration endpoint** to `https://authentik.company/application/o/<Slug of the application from above>/.well-known/openid-configuration`
|
||||
Set the configuration mode to **Automatic configuration** and set the **Well-known configuration endpoint** to `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`
|
||||
|
||||
Check the checkbox **Override scopes** and input the scopes `openid profile email` into the new input field.
|
||||
|
||||
|
||||
@ -82,11 +82,11 @@ kimai:
|
||||
idp:
|
||||
entityId: "https://authentik.company/"
|
||||
singleSignOnService:
|
||||
url: "https://authentik.company/application/saml/<application-slug>/sso/binding/redirect/"
|
||||
url: "https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/"
|
||||
binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
|
||||
# the "single logout" feature was not yet tested, if you want to help, please let me know!
|
||||
singleLogoutService:
|
||||
url: "https://authentik.company/application/saml/<application-slug>/slo/binding/redirect/"
|
||||
url: "https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/"
|
||||
binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
|
||||
# Signing certificate from *Advanced protocol settings*
|
||||
x509cert: "XXXXXXXXXXXXXXXXXXXXXXXXXXX=="
|
||||
|
||||
@ -69,5 +69,5 @@ spring:
|
||||
provider:
|
||||
authentik:
|
||||
user-name-attribute: preferred_username
|
||||
issuer-uri: https://authentik.company/application/o/<application slug>/
|
||||
issuer-uri: https://authentik.company/application/o/<application_slug>/
|
||||
```
|
||||
|
||||
@ -48,7 +48,7 @@ To support the integration of Komodo with authentik, you need to create an appli
|
||||
|
||||
```yaml
|
||||
KOMODO_OIDC_ENABLED=true
|
||||
KOMODO_OIDC_PROVIDER=https://authentik.company/application/o/<application-slug>/
|
||||
KOMODO_OIDC_PROVIDER=https://authentik.company/application/o/<application_slug>/
|
||||
KOMODO_OIDC_CLIENT_ID=<authentik_client_ID>
|
||||
KOMODO_OIDC_CLIENT_SECRET=<authentik client secret>
|
||||
```
|
||||
|
||||
@ -47,7 +47,7 @@ To configure Linkwarden to use authentik, add the following values to your `.env
|
||||
```
|
||||
NEXT_PUBLIC_AUTHENTIK_ENABLED=true
|
||||
AUTHENTIK_CUSTOM_NAME=authentik # Optionally set a custom provider name. Will be displayed on the login page
|
||||
AUTHENTIK_ISSUER=https://authentik.company/application/o/<application slug>
|
||||
AUTHENTIK_ISSUER=https://authentik.company/application/o/<application_slug>
|
||||
AUTHENTIK_CLIENT_ID=<Your Client ID>
|
||||
AUTHENTIK_CLIENT_SECRET=<Your Client Secret>
|
||||
```
|
||||
|
||||
@ -53,7 +53,7 @@ oidc_providers:
|
||||
- idp_id: authentik
|
||||
idp_name: authentik
|
||||
discover: true
|
||||
issuer: "https://authentik.company/application/o/app-slug/"
|
||||
issuer: "https://authentik.company/application/o/<application_slug>/"
|
||||
client_id: "*client id*"
|
||||
client_secret: "*client secret*"
|
||||
scopes:
|
||||
|
||||
@ -52,7 +52,7 @@ To enable OIDC login with Mealie, update your environment variables to include t
|
||||
```yaml showLineNumbers
|
||||
OIDC_AUTH_ENABLED=true
|
||||
OIDC_PROVIDER_NAME=authentik
|
||||
OIDC_CONFIGURATION_URL=https://authentik.company/application/o/<slug from authentik>/.well-known/openid-configuration
|
||||
OIDC_CONFIGURATION_URL=https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration
|
||||
OIDC_CLIENT_ID=<Client ID from authentik>
|
||||
OIDC_CLIENT_SECRET=<Client secret from authentik>
|
||||
OIDC_SIGNUP_ENABLED=true
|
||||
|
||||
@ -87,7 +87,7 @@ You can set up OpenID in two different ways: via the web interface or the comman
|
||||
From the sidebar of the main page, go to **Identity -> OpenID**, click **Create**, and then define the configuration as follows:
|
||||
|
||||
- Name: MinIO
|
||||
- Config URL: `https://authentik.company/application/o/<minio slug>/.well-known/openid-configuration`
|
||||
- Config URL: `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`
|
||||
- Client ID: Your client ID from the previous step
|
||||
- Client Secret: Your client secret from the previous step
|
||||
- Scopes: `openid, email, profile, minio`
|
||||
@ -103,7 +103,7 @@ After that is done, run the following command to configure the OpenID provider:
|
||||
|
||||
```
|
||||
~ mc admin config set myminio identity_openid \
|
||||
config_url="https://authentik.company/application/o/<minio slug>/.well-known/openid-configuration" \
|
||||
config_url="https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration" \
|
||||
client_id="<client id>" \
|
||||
client_secret="<client secret>" \
|
||||
scopes="openid,profile,email,minio"
|
||||
|
||||
@ -88,7 +88,7 @@ NetBird requires the service account to have full administrative access to the a
|
||||
To configure NetBird to use authentik, add the following environment variables to your NetBird deployment:
|
||||
|
||||
```yaml showLineNumbers title="setup.env"
|
||||
NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT="https://authentik.company/application/o/<application slug>/.well-known/openid-configuration"
|
||||
NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT="https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
|
||||
NETBIRD_USE_AUTH0=false
|
||||
NETBIRD_AUTH_CLIENT_ID="<Your Client ID>"
|
||||
NETBIRD_AUTH_SUPPORTED_SCOPES="openid profile email offline_access api"
|
||||
|
||||
@ -54,11 +54,11 @@ REMOTE_AUTH_ENABLED='true'
|
||||
REMOTE_AUTH_BACKEND='social_core.backends.open_id_connect.OpenIdConnectAuth'
|
||||
|
||||
# python-social-auth config
|
||||
SOCIAL_AUTH_OIDC_OIDC_ENDPOINT='https://authentik.company/application/o/<Application slug>/'
|
||||
SOCIAL_AUTH_OIDC_OIDC_ENDPOINT='https://authentik.company/application/o/<application_slug>/'
|
||||
SOCIAL_AUTH_OIDC_KEY='<Client ID>'
|
||||
SOCIAL_AUTH_OIDC_SECRET='<Client Secret>'
|
||||
SOCIAL_AUTH_OIDC_SCOPE=openid profile email roles
|
||||
LOGOUT_REDIRECT_URL='https://authentik.company/application/o/<Application slug>/end-session/'
|
||||
LOGOUT_REDIRECT_URL='https://authentik.company/application/o/<application_slug>/end-session/'
|
||||
```
|
||||
|
||||
The Netbox configuration needs to be extended, for this you can create a new file in the configuration folder, for example `authentik.py`.
|
||||
@ -90,7 +90,7 @@ LOGOUT_REDIRECT_URL = environ.get('LOGOUT_REDIRECT_URL')
|
||||
#SOCIAL_AUTH_OIDC_ENDPOINT = 'https://authentik.company/application/o/<Application
|
||||
#SOCIAL_AUTH_OIDC_KEY = '<Client ID>'
|
||||
#SOCIAL_AUTH_OIDC_SECRET = '<Client Secret>'
|
||||
#LOGOUT_REDIRECT_URL = 'https://authentik.company/application/o/<Application slug>/end-session/
|
||||
#LOGOUT_REDIRECT_URL = 'https://authentik.company/application/o/<application_slug>/end-session/
|
||||
```
|
||||
|
||||
### Groups
|
||||
|
||||
@ -145,7 +145,7 @@ Depending on your Nextcloud configuration, you may need to use `https://nextclou
|
||||
- **Identifier**: `authentik`
|
||||
- **Client ID**: Client ID from authentik
|
||||
- **Client secret**: Client secret from authentik
|
||||
- **Discovery endpoint**: `https://authentik.company/application/o/<application-slug>/.well-known/openid-configuration`
|
||||
- **Discovery endpoint**: `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`
|
||||
- **Scope**: `email profile openid`
|
||||
- Under **Attribute mappings**:
|
||||
|
||||
@ -309,8 +309,8 @@ To grant Nextcloud admin access to authentik users you will need to create a pro
|
||||
|
||||
- **Optional display name**: `authentik`
|
||||
- **Identifier of the IdP entity**: `https://authentik.company`
|
||||
- **URL target for authentication requests**: `https://authentik.company/application/saml/<application-slug>/sso/binding/redirect/`
|
||||
- **URL for SLO requests**: `https://authentik.company/application/saml/<application-slug>/slo/binding/redirect/`
|
||||
- **URL target for authentication requests**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- **URL for SLO requests**: `https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/`
|
||||
- **Public X.509 certificate of the IdP**: Paste the contents of your certificate file.
|
||||
- **Set attribute mappings**:
|
||||
- **Display name**: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`
|
||||
|
||||
@ -73,7 +73,7 @@ strategy: {
|
||||
icon:"fa-cloud",
|
||||
strategy: require("passport-openidconnect").Strategy,
|
||||
options: {
|
||||
issuer: 'https://authentik.company/application/o/<application-slug>/',
|
||||
issuer: 'https://authentik.company/application/o/<application_slug>/',
|
||||
authorizationURL: 'https://authentik.company/application/o/authorize/',
|
||||
tokenURL: 'https://authentik.company/application/o/token/',
|
||||
userInfoURL: 'https://authentik.company/application/o/userinfo/',
|
||||
|
||||
@ -49,7 +49,7 @@ Enter the following details from the authentik provider:
|
||||
- Set **OAUTH_CLIENT_ID** to the Client ID copied from authentik.
|
||||
- Set **OAUTH_CLIENT_SECRET** to the Client Secret copied from authentik.
|
||||
- Set **OAUTH_PROVIDER_NAME** to `authentik`.
|
||||
- Set **OPENID_PROVIDER_URL** to `https://authentik.company/application/o/your-slug-here/.well-known/openid-configuration`.
|
||||
- Set **OPENID_PROVIDER_URL** to `https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration`.
|
||||
- Set **OPENID_REDIRECT_URI** to `https://openwebui.company/oauth/oidc/callback`.
|
||||
- If you wish for new users to be created on Open Web UI, set **ENABLE_OAUTH_SIGNUP** to 'true'.
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ OIDC_CLIENT_SECRET=
|
||||
OIDC_AUTH_URI=https://authentik.company/application/o/authorize/
|
||||
OIDC_TOKEN_URI=https://authentik.company/application/o/token/
|
||||
OIDC_USERINFO_URI=https://authentik.company/application/o/userinfo/
|
||||
OIDC_LOGOUT_URI=https://authentik.company/application/o/wiki/end-session/
|
||||
OIDC_LOGOUT_URI=https://authentik.company/application/o/<application_slug>/end-session/
|
||||
OIDC_USERNAME_CLAIM=preferred_username
|
||||
OIDC_DISPLAY_NAME=authentik
|
||||
OIDC_SCOPES=openid profile email
|
||||
|
||||
@ -71,7 +71,7 @@ environment:
|
||||
"client_id": "<Client ID>",
|
||||
"secret": "<Client Secret>",
|
||||
"settings": {
|
||||
"server_url": "https://authentik.company/application/o/<slug>/.well-known/openid-configuration"
|
||||
"server_url": "https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -68,7 +68,7 @@ To configure OAuth in pgAdmin, you can either use the `config_local.py` file or
|
||||
'OAUTH2_AUTHORIZATION_URL': 'https://authentik.company/application/o/authorize/',
|
||||
'OAUTH2_API_BASE_URL': 'https://authentik.company/',
|
||||
'OAUTH2_USERINFO_ENDPOINT': 'https://authentik.company/application/o/userinfo/',
|
||||
'OAUTH2_SERVER_METADATA_URL': 'https://authentik.company/application/o/<App Slug>/.well-known/openid-configuration',
|
||||
'OAUTH2_SERVER_METADATA_URL': 'https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration',
|
||||
'OAUTH2_SCOPE': 'openid email profile',
|
||||
'OAUTH2_ICON': '<Fontawesome icon key (e.g., fa-key)>',
|
||||
'OAUTH2_BUTTON_COLOR': '<Hexadecimal color code for the login button>'
|
||||
@ -90,7 +90,7 @@ For deployments using Docker or Kubernetes, you can configure OAuth using the fo
|
||||
```bash
|
||||
PGADMIN_CONFIG_AUTHENTICATION_SOURCES="['oauth2', 'internal']"
|
||||
PGADMIN_CONFIG_OAUTH2_AUTO_CREATE_USER=True
|
||||
PGADMIN_CONFIG_OAUTH2_CONFIG="[{'OAUTH2_NAME':'authentik','OAUTH2_DISPLAY_NAME':'Login with authentik','OAUTH2_CLIENT_ID':'<Client ID from authentik>','OAUTH2_CLIENT_SECRET':'<Client secret from authentik>','OAUTH2_TOKEN_URL':'https://authentik.company/application/o/token/','OAUTH2_AUTHORIZATION_URL':'https://authentik.company/application/o/authorize/','OAUTH2_API_BASE_URL':'https://authentik.company/','OAUTH2_USERINFO_ENDPOINT':'https://authentik.company/application/o/userinfo/','OAUTH2_SERVER_METADATA_URL':'https://authentik.company/application/o/<App Slug>/.well-known/openid-configuration','OAUTH2_SCOPE':'openid email profile','OAUTH2_ICON':'<Fontawesome icon key (e.g., fa-key)>','OAUTH2_BUTTON_COLOR':'<Hexadecimal color code for the login button>'}]"
|
||||
PGADMIN_CONFIG_OAUTH2_CONFIG="[{'OAUTH2_NAME':'authentik','OAUTH2_DISPLAY_NAME':'Login with authentik','OAUTH2_CLIENT_ID':'<Client ID from authentik>','OAUTH2_CLIENT_SECRET':'<Client secret from authentik>','OAUTH2_TOKEN_URL':'https://authentik.company/application/o/token/','OAUTH2_AUTHORIZATION_URL':'https://authentik.company/application/o/authorize/','OAUTH2_API_BASE_URL':'https://authentik.company/','OAUTH2_USERINFO_ENDPOINT':'https://authentik.company/application/o/userinfo/','OAUTH2_SERVER_METADATA_URL':'https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration','OAUTH2_SCOPE':'openid email profile','OAUTH2_ICON':'<Fontawesome icon key (e.g., fa-key)>','OAUTH2_BUTTON_COLOR':'<Hexadecimal color code for the login button>'}]"
|
||||
```
|
||||
|
||||
### General Notes
|
||||
|
||||
@ -41,9 +41,9 @@ Set the following values:
|
||||
```env
|
||||
SAML_ENABLED=True
|
||||
SAML_PATH=os.path.join(os.path.dirname(file), 'saml')
|
||||
SAML_METADATA_URL=https://authentik.company/application/saml/<application-slug>/metadata/
|
||||
SAML_METADATA_URL=https://authentik.company/application/saml/<application_slug>/metadata/
|
||||
SAML_METADATA_CACHE_LIFETIME=1
|
||||
SAML_LOGOUT_URL=https://authentik.company/application/saml/<application-slug>/slo/binding/redirect/
|
||||
SAML_LOGOUT_URL=https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/
|
||||
SAML_SP_ENTITY_ID=pdns-admin
|
||||
SAML_SP_CONTACT_NAME=me
|
||||
SAML_SP_CONTACT_MAIL=me
|
||||
|
||||
@ -91,7 +91,7 @@ Push Security requires separate first and last names for each user, but authenti
|
||||
3. Click **Get Started**, select **Custom SAML**, and click **Next**.
|
||||
4. Copy both the **Single Sign-On URL** and the **Service Provider Entity URL**. You’ll need these values in the next section.
|
||||
5. Click **Next**.
|
||||
6. Choose **Manual**, and enter the following as the **Single Sign-On Login URL**: `https://authentik.company/application/saml/<application-slug>/sso/binding/post/`
|
||||
6. Choose **Manual**, and enter the following as the **Single Sign-On Login URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/post/`
|
||||
7. Click **Upload signing certificate**, and upload the certificate downloaded from authentik.
|
||||
8. _(Optional but recommended)_ Under **Advanced Settings**, enable **Sign request**. Then download the verification certificate. You’ll need to import this into authentik. Refer to the [authentik certificate documentation](../../../docs/sys-mgmt/certificates#external-certificates) for guidance.
|
||||
9. Click **Next**.
|
||||
|
||||
@ -54,11 +54,11 @@ To support the integration of Rustdesk Server Pro with authentik, you need to cr
|
||||
- Set **Name** to `authentik`
|
||||
- Set **Client ID** to the Client ID copied from authentik.
|
||||
- Set **Client secret** to the Client Secret copied from authentik.
|
||||
- Set **Issuer** to `https://authentik.company/application/o/slug/`
|
||||
- Set **Issuer** to `https://authentik.company/application/o/<application_slug>/`
|
||||
- Set **Authorization Endpoint** to `https://authentik.company/application/o/authorize/`
|
||||
- Set **Token Endpoint** to `https://authentik.company/application/o/token/`
|
||||
- Set **Userinfo Endpoint** to `https://authentik.company/application/o/userinfo/`
|
||||
- Set **JWKS Endpoint** to `https://authentik.company/application/o/slug/jwks/`
|
||||
- Set **JWKS Endpoint** to `https://authentik.company/application/o/<application_slug>/jwks/`
|
||||
|
||||
:::info
|
||||
Users are created automatically on login. Permissions must be assigned by an administrator after user creation.
|
||||
|
||||
@ -53,7 +53,7 @@ Add the `oidc_providers` configuration:
|
||||
"oidc_providers": {
|
||||
"authentik": {
|
||||
"display_name": "Sign in with authentik",
|
||||
"provider_url": "https://authentik.company/application/o/<slug>/",
|
||||
"provider_url": "https://authentik.company/application/o/<application_slug>/",
|
||||
"client_id": "<client-id>",
|
||||
"client_secret": "<client-secret>",
|
||||
"redirect_url": "https://semaphore.company/api/auth/oidc/authentik/redirect/",
|
||||
|
||||
@ -55,7 +55,7 @@ This documentation lists only the settings that you need to change from their de
|
||||
5. Fill in the following:
|
||||
- **Display name**: Anything you like.
|
||||
- **Email domain**: `company`
|
||||
- **IdP SSO URL**: `https://authentik.company/application/saml/<semgrep slug>/sso/binding/post/`
|
||||
- **IdP SSO URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/post/`
|
||||
- **IdP Issuer ID**: `https://authentik.company`
|
||||
- **Upload/paste certificate**: Downloaded from the previous step.
|
||||
|
||||
|
||||
@ -31,11 +31,11 @@ This documentation lists only the settings that you need to change from their de
|
||||
|
||||
While logged in to your Skyhigh Security Dashboard, click the configuration gear and navigate to `User Management` -> `SAML Configuration` -> `Skyhigh Cloud Users` tab
|
||||
|
||||
Under the `Identity Provider` section enter the following values (replace `<slug>` with the name of the application slug you will use):
|
||||
Under the `Identity Provider` section enter the following values:
|
||||
|
||||
- Issuer: `https://authentik.company/skyhigh-dashboard`
|
||||
- Certificate: Upload the signing certificate you will use for the Authentik provider
|
||||
- Login URL: `https://authentik.company/application/saml/<slug>/sso/binding/init/`
|
||||
- Login URL: `https://authentik.company/application/saml/<application_slug>/sso/binding/init/`
|
||||
- SP-Initiated Request Binding: HTTP-POST
|
||||
- User exclusions: Select at least one administrator account to login directly (in case something goes wrong with SAML)
|
||||
|
||||
@ -78,11 +78,11 @@ While logged in to your Skyhigh Security Dashboard, click the configuration gear
|
||||
|
||||
Under the `Setup SAML` section click the `New SAML` button.
|
||||
|
||||
Configure your SAML provider as follows (replace `<slug>` with the name of your slug):
|
||||
Configure your SAML provider as follows:
|
||||
|
||||
- SAML Configuration Name: Enter a descriptive name here
|
||||
- Service Provider Entity ID: `https://login.auth.ui.trellix.com/sso/saml2`
|
||||
- SAML Identity Provider URL: `https://authentik.company/application/saml/<slug>/sso/binding/post/`
|
||||
- SAML Identity Provider URL: `https://authentik.company/application/saml/<application_slug>/sso/binding/post/`
|
||||
- Identity Provider Entity ID: `https://authentik.company/skyhigh-swg`
|
||||
- User ID Attribute in SAML Response: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
|
||||
- Group ID Attribute in SAML Response: `http://schemas.xmlsoap.org/claims/Group`
|
||||
|
||||
@ -46,7 +46,7 @@ Add the following environment variables to your tandoor configuration. Make sure
|
||||
|
||||
```sh
|
||||
SOCIAL_PROVIDERS=allauth.socialaccount.providers.openid_connect
|
||||
SOCIALACCOUNT_PROVIDERS='{"openid_connect":{"APPS":[{"provider_id":"authentik","name":"authentik","client_id":"<Client ID from authentik>","secret":"<Client Secret from authentik>","settings":{"server_url":"https://authentik.company/application/o/<application slug>/.well-known/openid-configuration"}}]}}'
|
||||
SOCIALACCOUNT_PROVIDERS='{"openid_connect":{"APPS":[{"provider_id":"authentik","name":"authentik","client_id":"<Client ID from authentik>","secret":"<Client Secret from authentik>","settings":{"server_url":"https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration"}}]}}'
|
||||
```
|
||||
|
||||
Restart the Tandoor service for the changes to take effect.
|
||||
|
||||
@ -56,7 +56,7 @@ This guide assumes that you have environment variables `$TERRAKUBE_OIDC_CLIENT_I
|
||||
id: TerrakubeClient
|
||||
name: TerrakubeClient
|
||||
config:
|
||||
issuer: "https://authentik.company/application/o/<Your application slug>/"
|
||||
issuer: "https://authentik.company/application/o/<application_slug>/"
|
||||
clientID: $TERRAKUBE_OIDC_CLIENT_ID
|
||||
clientSecret: $TERRAKUBE_OIDC_CLIENT_SECRET
|
||||
redirectURI: "https://terrakube-dex.company/dex/callback"
|
||||
|
||||
@ -51,7 +51,7 @@ To support the integration of Landscape with authentik, you need to create an ap
|
||||
On the Landscape Server, edit the file `/etc/landscape/service.conf` and add the following snippet under the `[landscape]` section:
|
||||
|
||||
```
|
||||
oidc-issuer = https://authentik.company/application/o/<slug of the application you've created>/
|
||||
oidc-issuer = https://authentik.company/application/o/<application_slug>/
|
||||
oidc-client-id = <client ID of the provider you've created>
|
||||
oidc-client-secret = <client Secret of the provider you've created>
|
||||
```
|
||||
|
||||
@ -73,7 +73,7 @@ To support the integration of Weblate with authentik, you need to create an appl
|
||||
- **Configure the Provider**: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
|
||||
- Set the **ACS URL** to `https://weblate.company/accounts/complete/saml/`.
|
||||
- Set the **Audience** to `https://weblate.company/accounts/metadata/saml/`.
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/application-slug/sso/binding/redirect/`.
|
||||
- Set the **Issuer** to `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`.
|
||||
- Set the **Service Provider Binding** to `Post`.
|
||||
- Under **Advanced protocol settings**, select an available signing certificate. Then, under **Property mappings**, add the ones you just created.
|
||||
- **Configure Bindings** _(optional)_: you can create a [binding](/docs/add-secure-apps/flows-stages/bindings/) (policy, group, or user) to manage the listing and access to applications on a user's **My applications** page.
|
||||
@ -90,8 +90,8 @@ The variables below need to be set, depending on if you deploy in a container or
|
||||
Variables to set
|
||||
|
||||
- ENABLE_HTTPS: `1`
|
||||
- SAML_IDP_ENTITY_ID: `https://authentik.company/application/saml/weblate-slug/sso/binding/redirect/`
|
||||
- SAML_IDP_URL: `https://authentik.company/application/saml/weblate-slug/sso/binding/redirect/`
|
||||
- SAML_IDP_ENTITY_ID: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- SAML_IDP_URL: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- SAML_IDP_X509CERT: `MIIFDjCCAvagAwIBAgIRAJV8hH0wGkhGvbhhDKppWIYwDQYJKoZIhvcNAQELBQAw....F9lT9hHwHhsnA=`
|
||||
|
||||
The `SAML_IDP_X509CERT` is the certificate in the SAML Metadata `X509Certificate` key.
|
||||
|
||||
@ -54,7 +54,7 @@ To support the integration of YouTrack with authentik, you need to create an app
|
||||
2. Click **New module**, then select **SAML 2.0**.
|
||||
3. Fill out the form with the following information:
|
||||
- **Name**: Set an appropriate name (e.g. `authentik`)
|
||||
- **SAML SSO URL**: `https://authentik.company/application/saml/<application slug>/sso/binding/redirect/`
|
||||
- **SAML SSO URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||
- **IdP entity ID**: `https://youtrack.company/admin/hub/`
|
||||
- **Certificate fingerprint**: Set to the SHA-256 fingerprint retrieved in the previous step.
|
||||
4. Click **Create** to submit the form and take note of the **ACS URL**.
|
||||
|
||||
@ -65,7 +65,7 @@ SOCIAL_AUTH_SAML_ENABLED_IDPS: Dict[str, Any] = {
|
||||
|
||||
# KEEP OTHER SETTINGS AS DEFAULT OR CONFIGURE THEM ACCORDING TO YOUR PREFERENCES
|
||||
"entity_id": "https://authentik.company",
|
||||
"url": "https://authentik.company/application/saml/<application slug>/sso/binding/redirect/",
|
||||
"url": "https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/",
|
||||
"display_name": "authentik SAML",
|
||||
},
|
||||
}
|
||||
|
||||
195
website/package-lock.json
generated
195
website/package-lock.json
generated
@ -19,6 +19,7 @@
|
||||
"@goauthentik/docusaurus-config": "^1.1.0",
|
||||
"@goauthentik/tsconfig": "^1.0.4",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||
"clsx": "^2.1.1",
|
||||
"docusaurus-plugin-openapi-docs": "^4.4.0",
|
||||
"docusaurus-theme-openapi-docs": "^4.4.0",
|
||||
@ -41,12 +42,12 @@
|
||||
"@goauthentik/tsconfig": "^1.0.4",
|
||||
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
||||
"@types/lodash": "^4.17.17",
|
||||
"@types/node": "^22.15.30",
|
||||
"@types/node": "^24.0.0",
|
||||
"@types/postman-collection": "^3.5.11",
|
||||
"@types/react": "^18.3.22",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"@typescript-eslint/eslint-plugin": "^8.34.0",
|
||||
"@typescript-eslint/parser": "^8.34.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.28.0",
|
||||
"fast-glob": "^3.3.3",
|
||||
@ -54,7 +55,7 @@
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-packagejson": "^2.5.15",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.33.1"
|
||||
"typescript-eslint": "^8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.14.0"
|
||||
@ -63,12 +64,12 @@
|
||||
"@rspack/binding-darwin-arm64": "1.3.15",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
||||
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
||||
"@swc/core-darwin-arm64": "1.11.31",
|
||||
"@swc/core-linux-arm64-gnu": "1.11.31",
|
||||
"@swc/core-linux-x64-gnu": "1.11.31",
|
||||
"@swc/html-darwin-arm64": "1.11.31",
|
||||
"@swc/html-linux-arm64-gnu": "1.11.31",
|
||||
"@swc/html-linux-x64-gnu": "1.11.31",
|
||||
"@swc/core-darwin-arm64": "1.12.0",
|
||||
"@swc/core-linux-arm64-gnu": "1.12.0",
|
||||
"@swc/core-linux-x64-gnu": "1.12.0",
|
||||
"@swc/html-darwin-arm64": "1.12.0",
|
||||
"@swc/html-linux-arm64-gnu": "1.12.0",
|
||||
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||
"lightningcss-darwin-arm64": "1.30.1",
|
||||
"lightningcss-linux-arm64-gnu": "1.30.1",
|
||||
"lightningcss-linux-x64-gnu": "1.30.1"
|
||||
@ -5591,9 +5592,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/core-darwin-arm64": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.31.tgz",
|
||||
"integrity": "sha512-NTEaYOts0OGSbJZc0O74xsji+64JrF1stmBii6D5EevWEtrY4wlZhm8SiP/qPrOB+HqtAihxWIukWkP2aSdGSQ==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.0.tgz",
|
||||
"integrity": "sha512-usLr8kC80GDv3pwH2zoEaS279kxtWY0MY3blbMFw7zA8fAjqxa8IDxm3WcgyNLNWckWn4asFfguEwz/Weem3nA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -5639,9 +5640,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-arm64-gnu": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.31.tgz",
|
||||
"integrity": "sha512-T+vGw9aPE1YVyRxRr1n7NAdkbgzBzrXCCJ95xAZc/0+WUwmL77Z+js0J5v1KKTRxw4FvrslNCOXzMWrSLdwPSA==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.0.tgz",
|
||||
"integrity": "sha512-Al0x33gUVxNY5tutEYpSyv7mze6qQS1ONa0HEwoRxcK9WXsX0NHLTiOSGZoCUS1SsXM37ONlbA6/Bsp1MQyP+g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -5671,9 +5672,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/core-linux-x64-gnu": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.31.tgz",
|
||||
"integrity": "sha512-DDVE0LZcXOWwOqFU1Xi7gdtiUg3FHA0vbGb3trjWCuI1ZtDZHEQYL4M3/2FjqKZtIwASrDvO96w91okZbXhvMg==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.0.tgz",
|
||||
"integrity": "sha512-ltIvqNi7H0c5pRawyqjeYSKEIfZP4vv/datT3mwT6BW7muJtd1+KIDCPFLMIQ4wm/h76YQwPocsin3fzmnFdNA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -5829,9 +5830,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/html-darwin-arm64": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.11.31.tgz",
|
||||
"integrity": "sha512-/BZ7KLfkua568iNNnLAlxa88P7gBiouZ+aW7LFcqfv62ueCpjLY7YSUXcVcb8bAoGwDcB+fO2xMYz5ABHcaFZg==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.12.0.tgz",
|
||||
"integrity": "sha512-okpx8G7xGSPiSekxS4FQu3aR8k+q8nZJCfVKzanQxdZUaCm7YDVUci2Unqp9TvpgZJRA0GOWs1U3QMu2vdr0sQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -5877,9 +5878,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/html-linux-arm64-gnu": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.11.31.tgz",
|
||||
"integrity": "sha512-3rbfgMDGeLx52iFOCGaeeK8IEj1fT7gsvTWfXACJ4ns7MPupz6v3dVoGCIuzh0yHGAZPY0QL1iVAYjPLg8TrWw==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.12.0.tgz",
|
||||
"integrity": "sha512-ImZLbghifCPqQhwbEprv2zojieD0j/RGJ+tkNpJ6DyGqcf5qVFfPgGDe/WDPEHCMbJlAodvp1iKTdLSAdTfaLg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -5909,9 +5910,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@swc/html-linux-x64-gnu": {
|
||||
"version": "1.11.31",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.11.31.tgz",
|
||||
"integrity": "sha512-6w9yZ1W23y17Y8NLTqy+efaAHjnqumSdn8PdCmBvMxwFRwjo9dNkkcDJsTZ5EERBMH+DnDbVR+HkuNypd0Y7Gw==",
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.12.0.tgz",
|
||||
"integrity": "sha512-IVFXgsyn0/8e9nfVrQXAdGDFboom0nls7KSOJ/+oXMmdK917wrnYLDt7M4DyRT2c+xJmMxgR6tyaTW8KLAl02w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -6614,12 +6615,12 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.15.30",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.30.tgz",
|
||||
"integrity": "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==",
|
||||
"version": "24.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.0.tgz",
|
||||
"integrity": "sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.21.0"
|
||||
"undici-types": "~7.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node-forge": {
|
||||
@ -6830,17 +6831,17 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/type-utils": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/type-utils": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^7.0.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
@ -6854,7 +6855,7 @@
|
||||
"url": "https://opencollective.com/typescript-eslint"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.34.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0",
|
||||
"typescript": ">=4.8.4 <5.9.0"
|
||||
}
|
||||
@ -6870,16 +6871,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -6895,14 +6896,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/project-service": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
||||
"@typescript-eslint/types": "^8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||
"@typescript-eslint/types": "^8.34.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -6917,14 +6918,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -6935,9 +6936,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -6952,14 +6953,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^2.1.0"
|
||||
},
|
||||
@ -6976,9 +6977,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -6990,16 +6991,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/project-service": "8.33.1",
|
||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
||||
"@typescript-eslint/project-service": "8.34.0",
|
||||
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||
"debug": "^4.3.4",
|
||||
"fast-glob": "^3.3.2",
|
||||
"is-glob": "^4.0.3",
|
||||
@ -7045,16 +7046,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.7.0",
|
||||
"@typescript-eslint/scope-manager": "8.33.1",
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
||||
"@typescript-eslint/scope-manager": "8.34.0",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -7069,13 +7070,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.33.1",
|
||||
"@typescript-eslint/types": "8.34.0",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -7087,9 +7088,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
||||
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@ -26386,15 +26387,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript-eslint": {
|
||||
"version": "8.33.1",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
||||
"@typescript-eslint/parser": "8.33.1",
|
||||
"@typescript-eslint/utils": "8.33.1"
|
||||
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||
"@typescript-eslint/parser": "8.34.0",
|
||||
"@typescript-eslint/utils": "8.34.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -26434,9 +26435,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"version": "7.8.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
|
||||
"integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/unicode-canonical-property-names-ecmascript": {
|
||||
|
||||
@ -56,12 +56,12 @@
|
||||
"@goauthentik/tsconfig": "^1.0.4",
|
||||
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
||||
"@types/lodash": "^4.17.17",
|
||||
"@types/node": "^22.15.30",
|
||||
"@types/node": "^24.0.0",
|
||||
"@types/postman-collection": "^3.5.11",
|
||||
"@types/react": "^18.3.22",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"@typescript-eslint/eslint-plugin": "^8.34.0",
|
||||
"@typescript-eslint/parser": "^8.34.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.28.0",
|
||||
"fast-glob": "^3.3.3",
|
||||
@ -69,18 +69,18 @@
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-packagejson": "^2.5.15",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.33.1"
|
||||
"typescript-eslint": "^8.34.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rspack/binding-darwin-arm64": "1.3.15",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
||||
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
||||
"@swc/core-darwin-arm64": "1.11.31",
|
||||
"@swc/core-linux-arm64-gnu": "1.11.31",
|
||||
"@swc/core-linux-x64-gnu": "1.11.31",
|
||||
"@swc/html-darwin-arm64": "1.11.31",
|
||||
"@swc/html-linux-arm64-gnu": "1.11.31",
|
||||
"@swc/html-linux-x64-gnu": "1.11.31",
|
||||
"@swc/core-darwin-arm64": "1.12.0",
|
||||
"@swc/core-linux-arm64-gnu": "1.12.0",
|
||||
"@swc/core-linux-x64-gnu": "1.12.0",
|
||||
"@swc/html-darwin-arm64": "1.12.0",
|
||||
"@swc/html-linux-arm64-gnu": "1.12.0",
|
||||
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||
"lightningcss-darwin-arm64": "1.30.1",
|
||||
"lightningcss-linux-arm64-gnu": "1.30.1",
|
||||
"lightningcss-linux-x64-gnu": "1.30.1"
|
||||
|
||||
@ -8,17 +8,10 @@
|
||||
* @type {SidebarItemConfig[]}
|
||||
*/
|
||||
const items = [
|
||||
{
|
||||
type: "category",
|
||||
label: "Device Management",
|
||||
items: ["services/apple/index", "services/fleet/index"],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Chat, Communication & Collaboration",
|
||||
items: [
|
||||
"services/bookstack/index",
|
||||
"services/dokuwiki/index",
|
||||
"services/espocrm/index",
|
||||
"services/hedgedoc/index",
|
||||
"services/kimai/index",
|
||||
@ -30,10 +23,7 @@ const items = [
|
||||
"services/nextcloud/index",
|
||||
"services/onlyoffice/index",
|
||||
"services/openproject/index",
|
||||
"services/outline/index",
|
||||
"services/owncloud/index",
|
||||
"services/paperless-ng/index",
|
||||
"services/paperless-ngx/index",
|
||||
"services/rocketchat/index",
|
||||
"services/roundcube/index",
|
||||
"services/sharepoint-se/index",
|
||||
@ -41,11 +31,15 @@ const items = [
|
||||
"services/thelounge/index",
|
||||
"services/vikunja/index",
|
||||
"services/wekan/index",
|
||||
"services/wiki-js/index",
|
||||
"services/writefreely/index",
|
||||
"services/zulip/index",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Device Management",
|
||||
items: ["services/apple/index", "services/fleet/index", "services/meshcentral/index"],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Cloud Providers",
|
||||
@ -61,6 +55,44 @@ const items = [
|
||||
label: "Dashboards",
|
||||
items: ["services/organizr/index", "services/linkwarden/index", "services/homarr/index"],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Development",
|
||||
items: [
|
||||
"services/coder/index",
|
||||
"services/engomo/index",
|
||||
"services/frappe/index",
|
||||
"services/gitea/index",
|
||||
"services/github-enterprise-cloud/index",
|
||||
"services/github-enterprise-emu/index",
|
||||
"services/github-enterprise-server/index",
|
||||
"services/github-organization/index",
|
||||
"services/gitlab/index",
|
||||
"services/gravitee/index",
|
||||
"services/jenkins/index",
|
||||
"services/node-red/index",
|
||||
"services/sonar-qube/index",
|
||||
"services/weblate/index",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Documentation",
|
||||
items: [
|
||||
"services/bookstack/index",
|
||||
"services/dokuwiki/index",
|
||||
"services/karakeep/index",
|
||||
"services/mealie/index",
|
||||
"services/netbox/index",
|
||||
"services/outline/index",
|
||||
"services/paperless-ng/index",
|
||||
"services/paperless-ngx/index",
|
||||
"services/snipe-it/index",
|
||||
"services/tandoor/index",
|
||||
"services/wiki-js/index",
|
||||
"services/youtrack/index",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Hypervisors / Orchestrators",
|
||||
@ -79,35 +111,23 @@ const items = [
|
||||
"services/apache-guacamole/index",
|
||||
"services/argocd/index",
|
||||
"services/awx-tower/index",
|
||||
"services/cloudflare-access/index",
|
||||
"services/coder/index",
|
||||
"services/globalprotect/index",
|
||||
"services/harbor/index",
|
||||
"services/hashicorp-vault/index",
|
||||
"services/jenkins/index",
|
||||
"services/knocknoc/index",
|
||||
"services/komodo/index",
|
||||
"services/meshcentral/index",
|
||||
"services/minio/index",
|
||||
"services/netbox/index",
|
||||
"services/omni/index",
|
||||
"services/pgadmin/index",
|
||||
"services/phpipam/index",
|
||||
"services/plesk/index",
|
||||
"services/powerdns-admin/index",
|
||||
"services/proftpd/index",
|
||||
"services/push-security/index",
|
||||
"services/qnap-nas/index",
|
||||
"services/rustdesk-pro/index",
|
||||
"services/semgrep/index",
|
||||
"services/semaphore/index",
|
||||
"services/synology-dsm/index",
|
||||
"services/skyhigh/index",
|
||||
"services/snipe-it/index",
|
||||
"services/sssd/index",
|
||||
"services/terrakube/index",
|
||||
"services/truecommand/index",
|
||||
"services/veeam-enterprise-manager/index",
|
||||
"services/xcreds/index",
|
||||
"services/zammad/index",
|
||||
],
|
||||
},
|
||||
@ -116,11 +136,13 @@ const items = [
|
||||
label: "Networking",
|
||||
items: [
|
||||
"services/aruba-orchestrator/index",
|
||||
"services/cloudflare-access/index",
|
||||
"services/firezone/index",
|
||||
"services/fortigate-admin/index",
|
||||
"services/fortigate-ssl/index",
|
||||
"services/fortimanager/index",
|
||||
"services/gravity/index",
|
||||
"services/globalprotect/index",
|
||||
"services/netbird/index",
|
||||
"services/opnsense/index",
|
||||
"services/pangolin/index",
|
||||
@ -130,33 +152,27 @@ const items = [
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Miscellaneous",
|
||||
label: "Media",
|
||||
items: [
|
||||
"services/1password/index",
|
||||
"services/actual-budget/index",
|
||||
"services/adventurelog/index",
|
||||
"services/calibre-web/index",
|
||||
"services/engomo/index",
|
||||
"services/filerise/index",
|
||||
"services/frappe/index",
|
||||
"services/freshrss/index",
|
||||
"services/gravitee/index",
|
||||
"services/karakeep/index",
|
||||
"services/home-assistant/index",
|
||||
"services/immich/index",
|
||||
"services/freshrss/index",
|
||||
"services/jellyfin/index",
|
||||
"services/komga/index",
|
||||
"services/mealie/index",
|
||||
"services/miniflux/index",
|
||||
"services/node-red/index",
|
||||
"services/open-webui/index",
|
||||
"services/semaphore/index",
|
||||
"services/sonar-qube/index",
|
||||
"services/sonarr/index",
|
||||
"services/tandoor/index",
|
||||
"services/tautulli/index",
|
||||
"services/weblate/index",
|
||||
"services/youtrack/index",
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Miscellaneous",
|
||||
items: [
|
||||
"services/actual-budget/index",
|
||||
"services/adventurelog/index",
|
||||
"services/filerise/index",
|
||||
"services/home-assistant/index",
|
||||
"services/open-webui/index",
|
||||
"services/zipline/index",
|
||||
],
|
||||
},
|
||||
@ -192,14 +208,16 @@ const items = [
|
||||
},
|
||||
{
|
||||
type: "category",
|
||||
label: "Version Control Systems",
|
||||
label: "Security",
|
||||
items: [
|
||||
"services/gitea/index",
|
||||
"services/github-organization/index",
|
||||
"services/github-enterprise-cloud/index",
|
||||
"services/github-enterprise-emu/index",
|
||||
"services/github-enterprise-server/index",
|
||||
"services/gitlab/index",
|
||||
"services/1password/index",
|
||||
"services/bitwarden/index",
|
||||
"services/hashicorp-vault/index",
|
||||
"services/knocknoc/index",
|
||||
"services/push-security/index",
|
||||
"services/semgrep/index",
|
||||
"services/skyhigh/index",
|
||||
"services/xcreds/index",
|
||||
],
|
||||
},
|
||||
];
|
||||
@ -221,7 +239,7 @@ const integrationsSidebar = {
|
||||
type: "doc",
|
||||
id: "services/index",
|
||||
},
|
||||
items,
|
||||
items: items.sort((a, b) => a.label.localeCompare(b.label)),
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user