Merge branch 'main' into celery-2-dramatiq
This commit is contained in:
@ -148,3 +148,14 @@ class TestBrands(APITestCase):
|
|||||||
"default_locale": "",
|
"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 F, Q
|
||||||
from django.db.models import Value as V
|
from django.db.models import Value as V
|
||||||
from django.http.request import HttpRequest
|
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 import get_full_version
|
||||||
from authentik.brands.models import Brand
|
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"""
|
"""Context Processor that injects brand object into every template"""
|
||||||
brand = getattr(request, "brand", DEFAULT_BRAND)
|
brand = getattr(request, "brand", DEFAULT_BRAND)
|
||||||
tenant = getattr(request, "tenant", Tenant())
|
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 {
|
return {
|
||||||
"brand": brand,
|
"brand": brand,
|
||||||
|
"brand_css": brand_css,
|
||||||
"footer_links": tenant.footer_links,
|
"footer_links": tenant.footer_links,
|
||||||
"html_meta": {**get_http_meta()},
|
"html_meta": {**get_http_meta()},
|
||||||
"version": get_full_version(),
|
"version": get_full_version(),
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
{% block head_before %}
|
{% block head_before %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
<link rel="stylesheet" type="text/css" href="{% static 'dist/authentik.css' %}">
|
<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/poly-%v.js' %}" type="module"></script>
|
||||||
<script src="{% versioned_script 'dist/standalone/loading/index-%v.js' %}" type="module"></script>
|
<script src="{% versioned_script 'dist/standalone/loading/index-%v.js' %}" type="module"></script>
|
||||||
{% block head %}
|
{% block head %}
|
||||||
|
|||||||
2
go.mod
2
go.mod
@ -29,7 +29,7 @@ require (
|
|||||||
github.com/spf13/cobra v1.9.1
|
github.com/spf13/cobra v1.9.1
|
||||||
github.com/stretchr/testify v1.10.0
|
github.com/stretchr/testify v1.10.0
|
||||||
github.com/wwt/guac v1.3.2
|
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/exp v0.0.0-20230210204819-062eb4c674ab
|
||||||
golang.org/x/oauth2 v0.30.0
|
golang.org/x/oauth2 v0.30.0
|
||||||
golang.org/x/sync v0.15.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.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 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
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.2 h1:bKmrl82Gz6J8lz3f+QIH9g+MEkl3MvkMXF34GktesA0=
|
||||||
goauthentik.io/api/v3 v3.2025061.1/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw=
|
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-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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/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"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/type-utils": "8.33.1",
|
"@typescript-eslint/type-utils": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^7.0.0",
|
"ignore": "^7.0.0",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@ -600,7 +600,7 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/parser": "^8.33.1",
|
"@typescript-eslint/parser": "^8.34.0",
|
||||||
"eslint": "^8.57.0 || ^9.0.0",
|
"eslint": "^8.57.0 || ^9.0.0",
|
||||||
"typescript": ">=4.8.4 <5.9.0"
|
"typescript": ">=4.8.4 <5.9.0"
|
||||||
}
|
}
|
||||||
@ -616,16 +616,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -641,14 +641,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/project-service": {
|
"node_modules/@typescript-eslint/project-service": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||||
"@typescript-eslint/types": "^8.33.1",
|
"@typescript-eslint/types": "^8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -663,14 +663,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -681,9 +681,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -698,14 +698,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^2.1.0"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
@ -722,9 +722,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -736,16 +736,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/project-service": "8.33.1",
|
"@typescript-eslint/project-service": "8.34.0",
|
||||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@ -804,16 +804,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.7.0",
|
"@eslint-community/eslint-utils": "^4.7.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -828,13 +828,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -4035,15 +4035,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript-eslint": {
|
"node_modules/typescript-eslint": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||||
"@typescript-eslint/parser": "8.33.1",
|
"@typescript-eslint/parser": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1"
|
"@typescript-eslint/utils": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|||||||
@ -13,7 +13,7 @@ dependencies = [
|
|||||||
"dacite==1.9.2",
|
"dacite==1.9.2",
|
||||||
"deepmerge==2.0",
|
"deepmerge==2.0",
|
||||||
"defusedxml==0.7.1",
|
"defusedxml==0.7.1",
|
||||||
"django==5.1.10",
|
"django==5.1.11",
|
||||||
"django-countries==7.6.1",
|
"django-countries==7.6.1",
|
||||||
"django-cte==1.3.3",
|
"django-cte==1.3.3",
|
||||||
"django-filter==25.1",
|
"django-filter==25.1",
|
||||||
@ -36,7 +36,7 @@ dependencies = [
|
|||||||
"fido2==2.0.0",
|
"fido2==2.0.0",
|
||||||
"geoip2==5.1.0",
|
"geoip2==5.1.0",
|
||||||
"geopy==2.4.1",
|
"geopy==2.4.1",
|
||||||
"google-api-python-client==2.171.0",
|
"google-api-python-client==2.172.0",
|
||||||
"gssapi==1.9.0",
|
"gssapi==1.9.0",
|
||||||
"gunicorn==23.0.0",
|
"gunicorn==23.0.0",
|
||||||
"jsonpatch==1.33",
|
"jsonpatch==1.33",
|
||||||
@ -44,7 +44,7 @@ dependencies = [
|
|||||||
"kubernetes==32.0.1",
|
"kubernetes==32.0.1",
|
||||||
"ldap3==2.9.1",
|
"ldap3==2.9.1",
|
||||||
"lxml==5.4.0",
|
"lxml==5.4.0",
|
||||||
"msgraph-sdk==1.32.0",
|
"msgraph-sdk==1.33.0",
|
||||||
"opencontainers==0.0.14",
|
"opencontainers==0.0.14",
|
||||||
"packaging==25.0",
|
"packaging==25.0",
|
||||||
"paramiko==3.5.1",
|
"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 = "dacite", specifier = "==1.9.2" },
|
||||||
{ name = "deepmerge", specifier = "==2.0" },
|
{ name = "deepmerge", specifier = "==2.0" },
|
||||||
{ name = "defusedxml", specifier = "==0.7.1" },
|
{ 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-countries", specifier = "==7.6.1" },
|
||||||
{ name = "django-cte", specifier = "==1.3.3" },
|
{ name = "django-cte", specifier = "==1.3.3" },
|
||||||
{ name = "django-filter", specifier = "==25.1" },
|
{ name = "django-filter", specifier = "==25.1" },
|
||||||
@ -286,7 +286,7 @@ requires-dist = [
|
|||||||
{ name = "fido2", specifier = "==2.0.0" },
|
{ name = "fido2", specifier = "==2.0.0" },
|
||||||
{ name = "geoip2", specifier = "==5.1.0" },
|
{ name = "geoip2", specifier = "==5.1.0" },
|
||||||
{ name = "geopy", specifier = "==2.4.1" },
|
{ 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 = "gssapi", specifier = "==1.9.0" },
|
||||||
{ name = "gunicorn", specifier = "==23.0.0" },
|
{ name = "gunicorn", specifier = "==23.0.0" },
|
||||||
{ name = "jsonpatch", specifier = "==1.33" },
|
{ name = "jsonpatch", specifier = "==1.33" },
|
||||||
@ -294,7 +294,7 @@ requires-dist = [
|
|||||||
{ name = "kubernetes", specifier = "==32.0.1" },
|
{ name = "kubernetes", specifier = "==32.0.1" },
|
||||||
{ name = "ldap3", specifier = "==2.9.1" },
|
{ name = "ldap3", specifier = "==2.9.1" },
|
||||||
{ name = "lxml", specifier = "==5.4.0" },
|
{ 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 = "opencontainers", git = "https://github.com/vsoch/oci-python?rev=ceb4fcc090851717a3069d78e85ceb1e86c2740c" },
|
||||||
{ name = "packaging", specifier = "==25.0" },
|
{ name = "packaging", specifier = "==25.0" },
|
||||||
{ name = "paramiko", specifier = "==3.5.1" },
|
{ name = "paramiko", specifier = "==3.5.1" },
|
||||||
@ -905,16 +905,16 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "django"
|
name = "django"
|
||||||
version = "5.1.10"
|
version = "5.1.11"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "asgiref" },
|
{ name = "asgiref" },
|
||||||
{ name = "sqlparse" },
|
{ name = "sqlparse" },
|
||||||
{ name = "tzdata", marker = "sys_platform == 'win32'" },
|
{ 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 = [
|
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]]
|
[[package]]
|
||||||
@ -1359,7 +1359,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "google-api-python-client"
|
name = "google-api-python-client"
|
||||||
version = "2.171.0"
|
version = "2.172.0"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "google-api-core" },
|
{ name = "google-api-core" },
|
||||||
@ -1368,9 +1368,9 @@ dependencies = [
|
|||||||
{ name = "httplib2" },
|
{ name = "httplib2" },
|
||||||
{ name = "uritemplate" },
|
{ 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 = [
|
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]]
|
[[package]]
|
||||||
@ -2029,7 +2029,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "msgraph-sdk"
|
name = "msgraph-sdk"
|
||||||
version = "1.32.0"
|
version = "1.33.0"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "azure-identity" },
|
{ name = "azure-identity" },
|
||||||
@ -2039,9 +2039,9 @@ dependencies = [
|
|||||||
{ name = "microsoft-kiota-serialization-text" },
|
{ name = "microsoft-kiota-serialization-text" },
|
||||||
{ name = "msgraph-core" },
|
{ 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 = [
|
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]]
|
[[package]]
|
||||||
|
|||||||
186
web/package-lock.json
generated
186
web/package-lock.json
generated
@ -31,7 +31,7 @@
|
|||||||
"@open-wc/lit-helpers": "^0.7.0",
|
"@open-wc/lit-helpers": "^0.7.0",
|
||||||
"@patternfly/elements": "^4.1.0",
|
"@patternfly/elements": "^4.1.0",
|
||||||
"@patternfly/patternfly": "^4.224.2",
|
"@patternfly/patternfly": "^4.224.2",
|
||||||
"@sentry/browser": "^9.27.0",
|
"@sentry/browser": "^9.28.0",
|
||||||
"@spotlightjs/spotlight": "^2.13.3",
|
"@spotlightjs/spotlight": "^2.13.3",
|
||||||
"@webcomponents/webcomponentsjs": "^2.8.0",
|
"@webcomponents/webcomponentsjs": "^2.8.0",
|
||||||
"base64-js": "^1.5.1",
|
"base64-js": "^1.5.1",
|
||||||
@ -123,7 +123,7 @@
|
|||||||
"storybook-addon-mock": "^5.0.0",
|
"storybook-addon-mock": "^5.0.0",
|
||||||
"turnstile-types": "^1.2.3",
|
"turnstile-types": "^1.2.3",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.33.1",
|
"typescript-eslint": "^8.34.0",
|
||||||
"vite-plugin-lit-css": "^2.0.0",
|
"vite-plugin-lit-css": "^2.0.0",
|
||||||
"vite-tsconfig-paths": "^5.0.1",
|
"vite-tsconfig-paths": "^5.0.1",
|
||||||
"wireit": "^0.14.12"
|
"wireit": "^0.14.12"
|
||||||
@ -4478,75 +4478,75 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@sentry-internal/browser-utils": {
|
"node_modules/@sentry-internal/browser-utils": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-9.28.0.tgz",
|
||||||
"integrity": "sha512-SJa7f6Ct1BzP8rWEomnshSGN1CmT+axNKvT+StrbFPD6AyHnYfFLJpKgc2iToIJHB/pmeuOI9dUwqtzVx+5nSw==",
|
"integrity": "sha512-SqntPnIXudP3FoKj4mQ1BVPC1RNzo4CGtAxJnLpbIUpdT/khJVM6Q59zrGl2MgZ7URZCI986L5jXihQeferf6g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry/core": "9.27.0"
|
"@sentry/core": "9.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sentry-internal/feedback": {
|
"node_modules/@sentry-internal/feedback": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-9.28.0.tgz",
|
||||||
"integrity": "sha512-e7L8eG0y63RulN352lmafoCCfQGg4jLVT8YLx6096eWu/YKLkgmVpgi8livsT5WREnH+HB+iFSrejOwK7cRkhw==",
|
"integrity": "sha512-z2jShmVENsesmDnShEOv841Saw0zXe1tX6GHNgkK9f6NrUMbL970JvGKByBFTffhQH6uQ0WeNPnXJ5L/YKnfDg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry/core": "9.27.0"
|
"@sentry/core": "9.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sentry-internal/replay": {
|
"node_modules/@sentry-internal/replay": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-9.28.0.tgz",
|
||||||
"integrity": "sha512-n2kO1wOfCG7GxkMAqbYYkpgTqJM5tuVLdp0JuNCqTOLTXWvw6svWGaYKlYpKUgsK9X/GDzJYSXZmfe+Dbg+FJQ==",
|
"integrity": "sha512-BVGVBlmcpJdT55d/vywjfK1u6zMC5ycjJBxU1wUCNgCU3cSKRDBnvmYgk/+Ay23bFryT28Q4hM1p5qBBAOfxjQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry-internal/browser-utils": "9.27.0",
|
"@sentry-internal/browser-utils": "9.28.0",
|
||||||
"@sentry/core": "9.27.0"
|
"@sentry/core": "9.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sentry-internal/replay-canvas": {
|
"node_modules/@sentry-internal/replay-canvas": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-9.28.0.tgz",
|
||||||
"integrity": "sha512-44rVSt3LCH6qePYRQrl4WUBwnkOk9dzinmnKmuwRksEdDOkVq5KBRhi/IDr7omwSpX8C+KrX5alfKhOx1cP0gQ==",
|
"integrity": "sha512-Bv4mbtUrRV3p6PpFQPseLv3+Uaen+3AlfX02Z6QHY1sMa4lpt+U8OHfRGLprnzb6Rarw6fK2LNVL5rnV9LNMwA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry-internal/replay": "9.27.0",
|
"@sentry-internal/replay": "9.28.0",
|
||||||
"@sentry/core": "9.27.0"
|
"@sentry/core": "9.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sentry/browser": {
|
"node_modules/@sentry/browser": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-9.28.0.tgz",
|
||||||
"integrity": "sha512-geR3lhRJOmUQqi1WgovLSYcD/f66zYnctdnDEa7j1BW2XIB1nlTJn0mpYyAHghXKkUN/pBpp1Z+Jk0XlVwFYVg==",
|
"integrity": "sha512-ttqiv3D9sIB43nZnJTTln1nXw1p4C5BDSh+sHmGUOiqdCH6ND3HByDITYMYIOz1lACSISTT4V+MEpqx0V25Tlw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sentry-internal/browser-utils": "9.27.0",
|
"@sentry-internal/browser-utils": "9.28.0",
|
||||||
"@sentry-internal/feedback": "9.27.0",
|
"@sentry-internal/feedback": "9.28.0",
|
||||||
"@sentry-internal/replay": "9.27.0",
|
"@sentry-internal/replay": "9.28.0",
|
||||||
"@sentry-internal/replay-canvas": "9.27.0",
|
"@sentry-internal/replay-canvas": "9.28.0",
|
||||||
"@sentry/core": "9.27.0"
|
"@sentry/core": "9.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sentry/core": {
|
"node_modules/@sentry/core": {
|
||||||
"version": "9.27.0",
|
"version": "9.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.28.0.tgz",
|
||||||
"integrity": "sha512-Zb2SSAdWXQjTem+sVWrrAq9L6YYfxyoTwtapaE6C6qZBR5C8Uak0wcYww8StaCFH7dDA/PSW+VxOwjNXocrQHQ==",
|
"integrity": "sha512-vzD9xhg9S864jxfCpq77feCE4y7iP2cZYsNMoTupl1vTUlmXlhp7XgF832fEMjEZq4vrPhaqCNsde7Sc3PAbaQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
@ -7337,17 +7337,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/type-utils": "8.33.1",
|
"@typescript-eslint/type-utils": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^7.0.0",
|
"ignore": "^7.0.0",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@ -7361,7 +7361,7 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/parser": "^8.33.1",
|
"@typescript-eslint/parser": "^8.34.0",
|
||||||
"eslint": "^8.57.0 || ^9.0.0",
|
"eslint": "^8.57.0 || ^9.0.0",
|
||||||
"typescript": ">=4.8.4 <5.9.0"
|
"typescript": ">=4.8.4 <5.9.0"
|
||||||
}
|
}
|
||||||
@ -7377,16 +7377,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7402,14 +7402,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/project-service": {
|
"node_modules/@typescript-eslint/project-service": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||||
"@typescript-eslint/types": "^8.33.1",
|
"@typescript-eslint/types": "^8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7424,14 +7424,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -7442,9 +7442,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7459,14 +7459,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^2.1.0"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
@ -7483,9 +7483,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7497,16 +7497,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/project-service": "8.33.1",
|
"@typescript-eslint/project-service": "8.34.0",
|
||||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@ -7526,16 +7526,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.7.0",
|
"@eslint-community/eslint-utils": "^4.7.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -7550,13 +7550,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7568,9 +7568,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||||
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -27085,15 +27085,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript-eslint": {
|
"node_modules/typescript-eslint": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||||
"@typescript-eslint/parser": "8.33.1",
|
"@typescript-eslint/parser": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1"
|
"@typescript-eslint/utils": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|||||||
@ -102,7 +102,7 @@
|
|||||||
"@open-wc/lit-helpers": "^0.7.0",
|
"@open-wc/lit-helpers": "^0.7.0",
|
||||||
"@patternfly/elements": "^4.1.0",
|
"@patternfly/elements": "^4.1.0",
|
||||||
"@patternfly/patternfly": "^4.224.2",
|
"@patternfly/patternfly": "^4.224.2",
|
||||||
"@sentry/browser": "^9.27.0",
|
"@sentry/browser": "^9.28.0",
|
||||||
"@spotlightjs/spotlight": "^2.13.3",
|
"@spotlightjs/spotlight": "^2.13.3",
|
||||||
"@webcomponents/webcomponentsjs": "^2.8.0",
|
"@webcomponents/webcomponentsjs": "^2.8.0",
|
||||||
"base64-js": "^1.5.1",
|
"base64-js": "^1.5.1",
|
||||||
@ -194,7 +194,7 @@
|
|||||||
"storybook-addon-mock": "^5.0.0",
|
"storybook-addon-mock": "^5.0.0",
|
||||||
"turnstile-types": "^1.2.3",
|
"turnstile-types": "^1.2.3",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.33.1",
|
"typescript-eslint": "^8.34.0",
|
||||||
"vite-plugin-lit-css": "^2.0.0",
|
"vite-plugin-lit-css": "^2.0.0",
|
||||||
"vite-tsconfig-paths": "^5.0.1",
|
"vite-tsconfig-paths": "^5.0.1",
|
||||||
"wireit": "^0.14.12"
|
"wireit": "^0.14.12"
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||||
import "@goauthentik/admin/applications/ProviderSelectModal";
|
import "@goauthentik/admin/applications/ProviderSelectModal";
|
||||||
import { iconHelperText } from "@goauthentik/admin/helperText";
|
import { iconHelperText } from "@goauthentik/admin/helperText";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import "@goauthentik/components/ak-file-input";
|
import "@goauthentik/components/ak-file-input";
|
||||||
import "@goauthentik/components/ak-radio-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 { Application, CoreApi, Provider } from "@goauthentik/api";
|
||||||
|
|
||||||
import { policyOptions } from "./PolicyOptions.js";
|
|
||||||
import "./components/ak-backchannel-input";
|
import "./components/ak-backchannel-input";
|
||||||
import "./components/ak-provider-search-input";
|
import "./components/ak-provider-search-input";
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ export class ApplicationForm extends WithCapabilitiesConfig(ModelForm<Applicatio
|
|||||||
label=${msg("Policy engine mode")}
|
label=${msg("Policy engine mode")}
|
||||||
required
|
required
|
||||||
name="policyEngineMode"
|
name="policyEngineMode"
|
||||||
.options=${policyOptions}
|
.options=${policyEngineModes}
|
||||||
.value=${this.instance?.policyEngineMode}
|
.value=${this.instance?.policyEngineMode}
|
||||||
></ak-radio-input>
|
></ak-radio-input>
|
||||||
<ak-form-group>
|
<ak-form-group>
|
||||||
|
|||||||
@ -331,7 +331,10 @@ export class ApplicationViewPage extends AKElement {
|
|||||||
<div class="pf-c-card__title">
|
<div class="pf-c-card__title">
|
||||||
${msg("These policies control which users can access this application.")}
|
${msg("These policies control which users can access this application.")}
|
||||||
</div>
|
</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>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { policyOptions } from "@goauthentik/admin/applications/PolicyOptions.js";
|
|
||||||
import { ApplicationWizardStep } from "@goauthentik/admin/applications/wizard/ApplicationWizardStep.js";
|
import { ApplicationWizardStep } from "@goauthentik/admin/applications/wizard/ApplicationWizardStep.js";
|
||||||
import "@goauthentik/admin/applications/wizard/ak-wizard-title.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 { camelToSnake } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-radio-input";
|
import "@goauthentik/components/ak-radio-input";
|
||||||
import "@goauthentik/components/ak-slug-input";
|
import "@goauthentik/components/ak-slug-input";
|
||||||
@ -144,7 +144,7 @@ export class ApplicationWizardApplicationStep extends ApplicationWizardStep {
|
|||||||
label=${msg("Policy engine mode")}
|
label=${msg("Policy engine mode")}
|
||||||
required
|
required
|
||||||
name="policyEngineMode"
|
name="policyEngineMode"
|
||||||
.options=${policyOptions}
|
.options=${policyEngineModes}
|
||||||
.value=${app.policyEngineMode}
|
.value=${app.policyEngineMode}
|
||||||
.errorMessages=${errors.policyEngineMode ?? []}
|
.errorMessages=${errors.policyEngineMode ?? []}
|
||||||
></ak-radio-input>
|
></ak-radio-input>
|
||||||
|
|||||||
@ -214,14 +214,14 @@ export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
|
|||||||
renderObjectCreate(): TemplateResult {
|
renderObjectCreate(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<ak-forms-modal>
|
<ak-forms-modal>
|
||||||
<span slot="submit"> ${msg("Create")} </span>
|
<span slot="submit"> ${msg("Import")} </span>
|
||||||
<span slot="header"> ${msg("Create Certificate-Key Pair")} </span>
|
<span slot="header"> ${msg("Import Existing Certificate-Key Pair")} </span>
|
||||||
<ak-crypto-certificate-form slot="form"> </ak-crypto-certificate-form>
|
<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>
|
||||||
<ak-forms-modal>
|
<ak-forms-modal>
|
||||||
<span slot="submit"> ${msg("Generate")} </span>
|
<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 slot="form">
|
||||||
</ak-crypto-certificate-generate-form>
|
</ak-crypto-certificate-generate-form>
|
||||||
<button slot="trigger" class="pf-c-button pf-m-secondary">
|
<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.",
|
"These bindings control if this stage will be applied to the flow.",
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
<ak-bound-policies-list .target=${item.policybindingmodelPtrId}>
|
<ak-bound-policies-list
|
||||||
|
.target=${item.policybindingmodelPtrId}
|
||||||
|
.policyEngineMode=${item.policyEngineMode}
|
||||||
|
>
|
||||||
</ak-bound-policies-list>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||||
import { DesignationToLabel, LayoutToLabel } from "@goauthentik/admin/flows/utils";
|
import { DesignationToLabel, LayoutToLabel } from "@goauthentik/admin/flows/utils";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import { AuthenticationEnum } from "@goauthentik/api/dist/models/AuthenticationEnum";
|
import { AuthenticationEnum } from "@goauthentik/api/dist/models/AuthenticationEnum";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import "@goauthentik/elements/forms/FormGroup";
|
import "@goauthentik/elements/forms/FormGroup";
|
||||||
@ -18,7 +19,6 @@ import {
|
|||||||
FlowDesignationEnum,
|
FlowDesignationEnum,
|
||||||
FlowLayoutEnum,
|
FlowLayoutEnum,
|
||||||
FlowsApi,
|
FlowsApi,
|
||||||
PolicyEngineMode,
|
|
||||||
} from "@goauthentik/api";
|
} from "@goauthentik/api";
|
||||||
|
|
||||||
@customElement("ak-flow-form")
|
@customElement("ak-flow-form")
|
||||||
@ -279,23 +279,7 @@ export class FlowForm extends WithCapabilitiesConfig(ModelForm<Flow, string>) {
|
|||||||
name="policyEngineMode"
|
name="policyEngineMode"
|
||||||
>
|
>
|
||||||
<ak-radio
|
<ak-radio
|
||||||
.options=${[
|
.options=${policyEngineModes}
|
||||||
{
|
|
||||||
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",
|
|
||||||
)}`,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
.value=${this.instance?.policyEngineMode}
|
.value=${this.instance?.policyEngineMode}
|
||||||
>
|
>
|
||||||
</ak-radio>
|
</ak-radio>
|
||||||
|
|||||||
@ -270,7 +270,10 @@ export class FlowViewPage extends AKElement {
|
|||||||
${msg("These bindings control which users can access this flow.")}
|
${msg("These bindings control which users can access this flow.")}
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-card__body">
|
<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>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import "@goauthentik/admin/groups/GroupForm";
|
import "@goauthentik/admin/groups/GroupForm";
|
||||||
import "@goauthentik/admin/policies/PolicyBindingForm";
|
import "@goauthentik/admin/policies/PolicyBindingForm";
|
||||||
import { PolicyBindingNotice } from "@goauthentik/admin/policies/PolicyBindingForm";
|
import { PolicyBindingNotice } from "@goauthentik/admin/policies/PolicyBindingForm";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import "@goauthentik/admin/policies/PolicyWizard";
|
import "@goauthentik/admin/policies/PolicyWizard";
|
||||||
import {
|
import {
|
||||||
PolicyBindingCheckTarget,
|
PolicyBindingCheckTarget,
|
||||||
@ -34,6 +35,9 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
|||||||
@property()
|
@property()
|
||||||
target?: string;
|
target?: string;
|
||||||
|
|
||||||
|
@property()
|
||||||
|
policyEngineMode: string = "";
|
||||||
|
|
||||||
@property({ type: Array })
|
@property({ type: Array })
|
||||||
allowedTypes: PolicyBindingCheckTarget[] = [
|
allowedTypes: PolicyBindingCheckTarget[] = [
|
||||||
PolicyBindingCheckTarget.policy,
|
PolicyBindingCheckTarget.policy,
|
||||||
@ -244,6 +248,23 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
|||||||
</button>
|
</button>
|
||||||
</ak-forms-modal> `;
|
</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 {
|
declare global {
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { html } from "lit";
|
|||||||
|
|
||||||
import { PolicyEngineMode } from "@goauthentik/api";
|
import { PolicyEngineMode } from "@goauthentik/api";
|
||||||
|
|
||||||
export const policyOptions = [
|
export const policyEngineModes = [
|
||||||
{
|
{
|
||||||
label: "any",
|
label: "any",
|
||||||
value: PolicyEngineMode.Any,
|
value: PolicyEngineMode.Any,
|
||||||
@ -1,6 +1,7 @@
|
|||||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||||
import {
|
import {
|
||||||
GroupMatchingModeToLabel,
|
GroupMatchingModeToLabel,
|
||||||
@ -534,6 +535,22 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</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>`;
|
</ak-form-group>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -244,6 +244,7 @@ export class OAuthSourceViewPage extends AKElement {
|
|||||||
<ak-bound-policies-list
|
<ak-bound-policies-list
|
||||||
.target=${this.source.pk}
|
.target=${this.source.pk}
|
||||||
.typeNotices=${sourceBindingTypeNotices()}
|
.typeNotices=${sourceBindingTypeNotices()}
|
||||||
|
.policyEngineMode=${this.source.policyEngineMode}
|
||||||
>
|
>
|
||||||
</ak-bound-policies-list>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
import { CapabilitiesEnum, WithCapabilitiesConfig } from "#elements/mixins/capabilities";
|
||||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||||
import {
|
import {
|
||||||
GroupMatchingModeToLabel,
|
GroupMatchingModeToLabel,
|
||||||
@ -414,6 +415,22 @@ export class PlexSourceForm extends WithCapabilitiesConfig(BaseSourceForm<PlexSo
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</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>`;
|
</ak-form-group>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -134,6 +134,7 @@ export class PlexSourceViewPage extends AKElement {
|
|||||||
<ak-bound-policies-list
|
<ak-bound-policies-list
|
||||||
.target=${this.source.pk}
|
.target=${this.source.pk}
|
||||||
.typeNotices=${sourceBindingTypeNotices()}
|
.typeNotices=${sourceBindingTypeNotices()}
|
||||||
|
.policyEngineMode=${this.source.policyEngineMode}
|
||||||
>
|
>
|
||||||
</ak-bound-policies-list>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</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-crypto-certificate-search";
|
||||||
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
import "@goauthentik/admin/common/ak-flow-search/ak-source-flow-search";
|
||||||
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
import { iconHelperText, placeholderHelperText } from "@goauthentik/admin/helperText";
|
||||||
|
import { policyEngineModes } from "@goauthentik/admin/policies/PolicyEngineModes";
|
||||||
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
import { BaseSourceForm } from "@goauthentik/admin/sources/BaseSourceForm";
|
||||||
import {
|
import {
|
||||||
GroupMatchingModeToLabel,
|
GroupMatchingModeToLabel,
|
||||||
@ -574,6 +575,22 @@ export class SAMLSourceForm extends WithCapabilitiesConfig(BaseSourceForm<SAMLSo
|
|||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</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>`;
|
</ak-form-group>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -211,6 +211,7 @@ export class SAMLSourceViewPage extends AKElement {
|
|||||||
<ak-bound-policies-list
|
<ak-bound-policies-list
|
||||||
.target=${this.source.pk}
|
.target=${this.source.pk}
|
||||||
.typeNotices=${sourceBindingTypeNotices()}
|
.typeNotices=${sourceBindingTypeNotices()}
|
||||||
|
.policyEngineMode=${this.source.policyEngineMode}
|
||||||
>
|
>
|
||||||
</ak-bound-policies-list>
|
</ak-bound-policies-list>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -123,6 +123,9 @@ export class AKElement extends LitElement {
|
|||||||
applyUITheme(nextStyleRoot, UiThemeEnum.Dark, this.#customCSSStyleSheet);
|
applyUITheme(nextStyleRoot, UiThemeEnum.Dark, this.#customCSSStyleSheet);
|
||||||
|
|
||||||
this.activeTheme = UiThemeEnum.Dark;
|
this.activeTheme = UiThemeEnum.Dark;
|
||||||
|
} else if (this.preferredColorScheme === "light") {
|
||||||
|
applyUITheme(nextStyleRoot, UiThemeEnum.Light, this.#customCSSStyleSheet);
|
||||||
|
this.activeTheme = UiThemeEnum.Light;
|
||||||
} else if (this.preferredColorScheme === "auto") {
|
} else if (this.preferredColorScheme === "auto") {
|
||||||
createUIThemeEffect(
|
createUIThemeEffect(
|
||||||
(nextUITheme) => {
|
(nextUITheme) => {
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Meistgenutzte Apps</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Privaten Schlüssel herunterladen</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Generiere</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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">
|
<trans-unit id="s7ccce0ec8d228db6">
|
||||||
<source>Configure SCIM Provider</source>
|
<source>Configure SCIM Provider</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -9251,6 +9232,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -533,11 +533,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Apps with most usage</target>
|
<target>Apps with most usage</target>
|
||||||
</trans-unit>
|
</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">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<source>Objects created</source>
|
||||||
<target>Objects created</target>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Download Private key</target>
|
<target>Download Private key</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>Create Certificate-Key Pair</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Generate</target>
|
<target>Generate</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>Generate Certificate-Key Pair</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<source>Successfully updated instance.</source>
|
||||||
<target>Successfully updated instance.</target>
|
<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">
|
<trans-unit id="s7ccce0ec8d228db6">
|
||||||
<source>Configure SCIM Provider</source>
|
<source>Configure SCIM Provider</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -7755,6 +7739,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Aplicaciones con mayor uso</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Descargar clave privada</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Generar</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Configura el Proveedor de SCIM</target>
|
<target>Configura el Proveedor de SCIM</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Volumen de evento</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Ajustes de conexión.</target>
|
<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>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Apps les plus utilisées</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Télécharger la clé privée</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Générer</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Configurer le fournisseur SCIM</target>
|
<target>Configurer le fournisseur SCIM</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Volume d'événements</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Paramètres de connexion.</target>
|
<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>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>App con maggior utilizzo</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Scarica chiave privata</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Genera</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Configurare il provider SCIM</target>
|
<target>Configurare il provider SCIM</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Volume degli eventi</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Impostazioni connessione.</target>
|
<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>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -644,12 +644,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>사용량이 가장 많은 앱</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>개인 키 다운로드</target>
|
<target>개인 키 다운로드</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>인증서-키 쌍 만들기</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>발행</target>
|
<target>발행</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>인증서-키 쌍 발행</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>SCIM 공급자 구성</target>
|
<target>SCIM 공급자 구성</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>이력 규모</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -9220,6 +9200,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -654,11 +654,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Apps met meeste gebruik</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<source>Objects created</source>
|
||||||
@ -6061,21 +6056,11 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
|||||||
<source>Download Private key</source>
|
<source>Download Private key</source>
|
||||||
<target>Privésleutel downloaden</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Genereren</target>
|
<target>Genereren</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>Genereren Certificaat-sleutelpaar</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<source>Successfully updated instance.</source>
|
||||||
@ -7359,9 +7344,6 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
|||||||
<trans-unit id="s7ccce0ec8d228db6">
|
<trans-unit id="s7ccce0ec8d228db6">
|
||||||
<source>Configure SCIM Provider</source>
|
<source>Configure SCIM Provider</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -9122,6 +9104,15 @@ Bindingen naar groepen/gebruikers worden gecontroleerd tegen de gebruiker van de
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Najczęściej używane aplikacje</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Pobierz klucz prywatny</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Generuj</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Skonfiguruj dostawcę SCIM</target>
|
<target>Skonfiguruj dostawcę SCIM</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Wolumen zdarzeń</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Ustawienia połączenia.</target>
|
<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>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -651,11 +651,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Àƥƥś ŵĩţĥ ḿōśţ ũśàĝē</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Ďōŵńĺōàď Ƥŕĩvàţē ķēŷ</target>
|
<target>Ďōŵńĺōàď Ƥŕĩvàţē ķēŷ</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>Ćŕēàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Ĝēńēŕàţē</target>
|
<target>Ĝēńēŕàţē</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>Ĝēńēŕàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Ćōńƒĩĝũŕē ŚĆĨḾ Ƥŕōvĩďēŕ</target>
|
<target>Ćōńƒĩĝũŕē ŚĆĨḾ Ƥŕōvĩďēŕ</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Ēvēńţ vōĺũḿē</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Ćōńńēćţĩōń śēţţĩńĝś.</target>
|
<target>Ćōńńēćţĩōń śēţţĩńĝś.</target>
|
||||||
@ -9555,4 +9536,13 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<source>Additional Group DN</source>
|
||||||
</trans-unit>
|
</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>
|
</body></file></xliff>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>Приложения, которые используются чаще всего</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Скачать закрытый ключ</target>
|
<target>Скачать закрытый ключ</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>Создание пары сертификат-ключ</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Сгенерировать</target>
|
<target>Сгенерировать</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>Сгенерировать пару сертификат-ключ</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>Настроить SCIM Провайдера</target>
|
<target>Настроить SCIM Провайдера</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Объем событий</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Настройки подключения</target>
|
<target>Настройки подключения</target>
|
||||||
@ -9639,6 +9619,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -650,11 +650,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>En çok kullanıma sahip uygulamalar</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>Indir Özel anahtar</target>
|
<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>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>Oluştur</target>
|
<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>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>SCIM Sağlayıcısını Yapılandırma</target>
|
<target>SCIM Sağlayıcısını Yapılandırma</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>Olay hacmi</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>Bağlantı ayarları'nı tıklayın.</target>
|
<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>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -431,9 +431,6 @@
|
|||||||
<trans-unit id="s6e09a19aa3952509">
|
<trans-unit id="s6e09a19aa3952509">
|
||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="sda5e1499f93146ad">
|
|
||||||
<source><x id="0" equiv-text="${ago}"/> days ago</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<source>Objects created</source>
|
||||||
</trans-unit>
|
</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">
|
<trans-unit id="s78c08391ffbfb8c0">
|
||||||
<source>These bindings control which users can access this flow.</source>
|
<source>These bindings control which users can access this flow.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sc1a1ff47c058bb09">
|
<trans-unit id="sc1a1ff47c058bb09">
|
||||||
<source>Event Log</source>
|
<source>Event Log</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -4281,15 +4275,9 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
<trans-unit id="s47bd537a3bcebf19">
|
<trans-unit id="s47bd537a3bcebf19">
|
||||||
<source>Download Private key</source>
|
<source>Download Private key</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<source>Successfully updated instance.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -6365,6 +6353,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<source>Additional Group DN</source>
|
||||||
</trans-unit>
|
</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>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|||||||
@ -661,12 +661,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>使用率最高的应用</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>下载私钥</target>
|
<target>下载私钥</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>创建证书密钥对</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>生成</target>
|
<target>生成</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>生成证书密钥对</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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>
|
<source>Configure SCIM Provider</source>
|
||||||
<target>配置 SCIM 提供程序</target>
|
<target>配置 SCIM 提供程序</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
<target>事件容量</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
<target>连接设置。</target>
|
<target>连接设置。</target>
|
||||||
@ -9882,6 +9862,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -523,11 +523,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>使用率最高的应用</target>
|
<target>使用率最高的应用</target>
|
||||||
</trans-unit>
|
</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">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<source>Objects created</source>
|
||||||
<target>已创建对象</target>
|
<target>已创建对象</target>
|
||||||
@ -4633,18 +4628,10 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
<source>Download Private key</source>
|
<source>Download Private key</source>
|
||||||
<target>下载私钥</target>
|
<target>下载私钥</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>创建证书密钥对</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>生成</target>
|
<target>生成</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>生成证书密钥对</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<source>Successfully updated instance.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -5693,9 +5680,6 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
<trans-unit id="s7ccce0ec8d228db6">
|
<trans-unit id="s7ccce0ec8d228db6">
|
||||||
<source>Configure SCIM Provider</source>
|
<source>Configure SCIM Provider</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -7455,6 +7439,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|||||||
@ -643,11 +643,6 @@
|
|||||||
<source>Apps with most usage</source>
|
<source>Apps with most usage</source>
|
||||||
<target>使用頻率最高的應用程式</target>
|
<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>
|
||||||
<trans-unit id="s51ea3a244c781b1f">
|
<trans-unit id="s51ea3a244c781b1f">
|
||||||
<source>Objects created</source>
|
<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>
|
<source>Download Private key</source>
|
||||||
<target>下載私鑰</target>
|
<target>下載私鑰</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3a5fec3d73ac9edc">
|
|
||||||
<source>Create Certificate-Key Pair</source>
|
|
||||||
<target>建立憑證金鑰對</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s45cb501abd43ba52">
|
<trans-unit id="s45cb501abd43ba52">
|
||||||
<source>Generate</source>
|
<source>Generate</source>
|
||||||
<target>產生憑證</target>
|
<target>產生憑證</target>
|
||||||
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="sf9bddaf910f4eea5">
|
|
||||||
<source>Generate Certificate-Key Pair</source>
|
|
||||||
<target>產生憑證金鑰對</target>
|
|
||||||
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="see2bcbc11bb91960">
|
<trans-unit id="see2bcbc11bb91960">
|
||||||
<source>Successfully updated instance.</source>
|
<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">
|
<trans-unit id="s7ccce0ec8d228db6">
|
||||||
<source>Configure SCIM Provider</source>
|
<source>Configure SCIM Provider</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s7513372fe60f6387">
|
|
||||||
<source>Event volume</source>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="s3271da6c18c25b18">
|
<trans-unit id="s3271da6c18c25b18">
|
||||||
<source>Connection settings.</source>
|
<source>Connection settings.</source>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
@ -9197,6 +9179,15 @@ Bindings to groups/users are checked against the user of the event.</source>
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="s04bb32ec9f359507">
|
<trans-unit id="s04bb32ec9f359507">
|
||||||
<source>Additional Group DN</source>
|
<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>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</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)
|
#### `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]
|
#### `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
|
## 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
|
```python
|
||||||
return {
|
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]
|
## 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
|
```python
|
||||||
return {
|
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
|
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.
|
Certain information is stripped from events, to ensure no passwords or other credentials are saved in the log.
|
||||||
|
|
||||||
## Event retention
|
## 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`).
|
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
|
## Event actions
|
||||||
|
|
||||||
|
Whenever any of the following actions occur, an event is created.
|
||||||
|
|
||||||
### `login`
|
### `login`
|
||||||
|
|
||||||
A user logs in (including the source, if available)
|
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
|
```yaml showLineNumbers
|
||||||
OPENID_AUTHORIZATION_ENDPOINT=https://authentik.company/application/o/authorize/
|
OPENID_AUTHORIZATION_ENDPOINT=https://authentik.company/application/o/authorize/
|
||||||
OPENID_CLIENT_ID=<Client ID from authentik>
|
OPENID_CLIENT_ID=<Client ID from authentik>
|
||||||
OPENID_ISSUER=https://authentik.company/application/o/<your-slug>/
|
OPENID_ISSUER=https://authentik.company/application/o/<application_slug>/
|
||||||
OPENID_JWKS_ENDPOINT=https://authentik.company/application/o/<your-slug>/jwks/
|
OPENID_JWKS_ENDPOINT=https://authentik.company/application/o/<application_slug>/jwks/
|
||||||
OPENID_REDIRECT_URI=https://guacamole.company/
|
OPENID_REDIRECT_URI=https://guacamole.company/
|
||||||
OPENID_USERNAME_CLAIM_TYPE=preferred_username
|
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"
|
```yaml showLineNumbers title="/etc/guacamole/guacamole.properties"
|
||||||
openid-authorization-endpoint=https://authentik.company/application/o/authorize/
|
openid-authorization-endpoint=https://authentik.company/application/o/authorize/
|
||||||
openid-client-id=<Client ID from authentik>
|
openid-client-id=<Client ID from authentik>
|
||||||
openid-issuer=https://authentik.company/application/o/<your-slug>/
|
openid-issuer=https://authentik.company/application/o/<application_slug>/
|
||||||
openid-jwks-endpoint=https://authentik.company/application/o/<your-slug>/jwks/
|
openid-jwks-endpoint=https://authentik.company/application/o/<application_slug>/jwks/
|
||||||
openid-redirect-uri=https://guacamole.company/
|
openid-redirect-uri=https://guacamole.company/
|
||||||
openid-username-claim-type=preferred_username
|
openid-username-claim-type=preferred_username
|
||||||
```
|
```
|
||||||
|
|||||||
@ -78,7 +78,7 @@ url: https://argocd.company
|
|||||||
dex.config: |
|
dex.config: |
|
||||||
connectors:
|
connectors:
|
||||||
- config:
|
- 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>
|
clientID: <client ID from the Provider above>
|
||||||
clientSecret: $dex.authentik.clientSecret
|
clientSecret: $dex.authentik.clientSecret
|
||||||
insecureEnableGroups: true
|
insecureEnableGroups: true
|
||||||
|
|||||||
@ -65,7 +65,7 @@ To support the integration of Aruba Orchestrator with authentik, you need to cre
|
|||||||
- **Name**: `authentik`
|
- **Name**: `authentik`
|
||||||
- **Username Attribute**: `http://schemas.goauthentik.io/2021/02/saml/username`
|
- **Username Attribute**: `http://schemas.goauthentik.io/2021/02/saml/username`
|
||||||
- **Issuer URL**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/consume`
|
- **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)
|
- **IdP X509 Cert**: (paste in the downloaded signing certificate)
|
||||||
- **ACS URL**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/consume`
|
- **ACS URL**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/consume`
|
||||||
- **EdgeConnect SLO Endpoint**: `https://arubaorchestrator.company/gms/rest/authentication/saml2/logout`
|
- **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**.
|
5. Click **Set up SAML single sign-on** and then **Next**.
|
||||||
6. Set the following required configurations:
|
6. Set the following required configurations:
|
||||||
- **Identity provider Entity ID**: `authentik`
|
- **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.
|
- **Public x509 certificate**: enter the contents of the certificate that was downloaded in the previous section.
|
||||||
7. Click **Add**.
|
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.
|
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_username": "http://schemas.goauthentik.io/2021/02/saml/username",
|
||||||
"attr_user_permanent_id": "http://schemas.goauthentik.io/2021/02/saml/uid",
|
"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==",
|
"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/",
|
"entity_id": "https://awx.company/sso/metadata/saml/",
|
||||||
"attr_email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
|
"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"
|
"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:
|
To support the integration of Coder with authentik, add the following environment variables to your Coder deployment:
|
||||||
|
|
||||||
```yaml showLineNumbers
|
```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_EMAIL_DOMAIN=acme.company,acme-corp.company
|
||||||
CODER_OIDC_CLIENT_ID=<Client ID from authentik>
|
CODER_OIDC_CLIENT_ID=<Client ID from authentik>
|
||||||
CODER_OIDC_CLIENT_SECRET=<Client secret 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.
|
1. Log in to FileRise as an administrator.
|
||||||
2. Click on your profile icon in the upper right corner, then select **Admin Panel**.
|
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:
|
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 OpenID**: Client ID from authentik.
|
||||||
- **OIDC Client Secret**: Client Secret from authentik.
|
- **OIDC Client Secret**: Client Secret from authentik.
|
||||||
- **OIDC Redirect URI**: `https://filerise.company/api/auth/auth.php?oidc=callback`
|
- **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`
|
- **SP entity ID**: `https`
|
||||||
- **IdP Type**: `Custom`
|
- **IdP Type**: `Custom`
|
||||||
- **IdP entity ID**: `https://authentik.company`
|
- **IdP entity ID**: `https://authentik.company`
|
||||||
- **IdP Login URL**: `https://authentik.company/application/saml/slug-from-authentik/sso/binding/redirect/`
|
- **IdP Login URL**: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||||
- **IdP Logout URL**: `https://authentik.company/application/saml/slug-from-authentik/slo/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.)
|
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).
|
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 Type` to `Custom`
|
||||||
- Set `IdP entity ID` to `https://authentik.company`
|
- Set `IdP entity ID` to `https://authentik.company`
|
||||||
- Set `IdP Login URL` to `https://authentik.company/application/saml/<SLUG>/sso/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/<SLUG>/slo/binding/redirect/`
|
- Set `IdP Logout URL` to `https://authentik.company/application/saml/<application_slug>/slo/binding/redirect/`
|
||||||
- Set `IdP Certificate` to `ak.cert`
|
- Set `IdP Certificate` to `ak.cert`
|
||||||
|
|
||||||
## Troubleshooting
|
## 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.
|
- **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.
|
- **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 **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`.
|
- 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.
|
- **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.
|
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.
|
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**.
|
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/`
|
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/`
|
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/`
|
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).
|
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 ID (Key)**: Enter the Client ID from authentik.
|
||||||
- **Client Secret**: Enter the Client Secret from authentik.
|
- **Client Secret**: Enter the Client Secret from authentik.
|
||||||
- **Icon URL**: `https://authentik.company/static/dist/assets/icons/icon.png`
|
- **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`
|
- **Additional Scopes**: `email profile`
|
||||||
|
|
||||||

|

|
||||||
@ -158,7 +158,7 @@ gitea:
|
|||||||
provider: "openidConnect"
|
provider: "openidConnect"
|
||||||
key: "<Client ID from authentik>"
|
key: "<Client ID from authentik>"
|
||||||
secret: "<Client secret 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"
|
iconUrl: "https://authentik.company/static/dist/assets/icons/icon.png"
|
||||||
scopes: "email profile"
|
scopes: "email profile"
|
||||||
```
|
```
|
||||||
@ -188,7 +188,7 @@ gitea:
|
|||||||
- name: "authentik"
|
- name: "authentik"
|
||||||
provider: "openidConnect"
|
provider: "openidConnect"
|
||||||
existingSecret: gitea-authentik-secret
|
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"
|
iconUrl: "https://authentik.company/static/dist/assets/icons/icon.png"
|
||||||
scopes: "email profile"
|
scopes: "email profile"
|
||||||
```
|
```
|
||||||
|
|||||||
@ -55,7 +55,7 @@ In the left-hand navigation, within the `Settings` section, click `Authenticatio
|
|||||||
On this page:
|
On this page:
|
||||||
|
|
||||||
- Select the `Require SAML authentication` checkbox.
|
- 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 `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.
|
- 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.
|
- 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:
|
On this page:
|
||||||
|
|
||||||
- Select the `Enable SAML authentication` checkbox.
|
- 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 `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.
|
- 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.
|
- 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',
|
assertion_consumer_service_url: 'https://gitlab.company/users/auth/saml/callback',
|
||||||
# Shown when navigating to certificates in authentik
|
# 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_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',
|
issuer: 'https://gitlab.company',
|
||||||
name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
|
name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
|
||||||
attribute_statements: {
|
attribute_statements: {
|
||||||
@ -138,7 +138,7 @@ gitlab_rails['omniauth_providers'] = [
|
|||||||
name: 'openid_connect',
|
name: 'openid_connect',
|
||||||
scope: ['openid','profile','email'],
|
scope: ['openid','profile','email'],
|
||||||
response_type: 'code',
|
response_type: 'code',
|
||||||
issuer: 'https://authentik.company/application/o/gitlab-slug/',
|
issuer: 'https://authentik.company/application/o/<application_slug>/',
|
||||||
discovery: true,
|
discovery: true,
|
||||||
client_auth_method: 'query',
|
client_auth_method: 'query',
|
||||||
uid_field: 'preferred_username',
|
uid_field: 'preferred_username',
|
||||||
|
|||||||
@ -60,7 +60,7 @@ sudo docker exec -it glitchtip-web-1 ./manage.py createsuperuser
|
|||||||
- Client ID: <Client ID from authentik>
|
- Client ID: <Client ID from authentik>
|
||||||
- Secret key: <Client Secret from authentik>
|
- Secret key: <Client Secret from authentik>
|
||||||
- Key: leave blank
|
- 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.
|
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.
|
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**.
|
- **Choose a Provider type**: Select **SAML Provider**.
|
||||||
- **Configure the 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 **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`.
|
- Set the **Service Provider Binding** to `Post`.
|
||||||
- Under **Advanced protocol settings**, select an available signing certificate.
|
- Under **Advanced protocol settings**, select an available signing certificate.
|
||||||
3. Click **Submit** to save the new application and provider.
|
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_AUTH_URL: "https://authentik.company/application/o/authorize/"
|
||||||
GF_AUTH_GENERIC_OAUTH_TOKEN_URL: "https://authentik.company/application/o/token/"
|
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_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)
|
# Optionally enable auto-login (bypasses Grafana login screen)
|
||||||
GF_AUTH_OAUTH_AUTO_LOGIN: "true"
|
GF_AUTH_OAUTH_AUTO_LOGIN: "true"
|
||||||
# Optionally map user groups to Grafana roles
|
# 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
|
```ini
|
||||||
[auth]
|
[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
|
# Optionally enable auto-login
|
||||||
oauth_auto_login = true
|
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
|
```yaml
|
||||||
grafana.ini:
|
grafana.ini:
|
||||||
auth:
|
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
|
oauth_auto_login: true
|
||||||
auth.generic_oauth:
|
auth.generic_oauth:
|
||||||
name: authentik
|
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/`
|
- **Token Endpoint**: `https://authentik.company/application/o/token/`
|
||||||
- **Authorize Endpoint**: `https://authentik.company/application/o/authorize/`
|
- **Authorize Endpoint**: `https://authentik.company/application/o/authorize/`
|
||||||
- **Userinfo Endpoint**: `https://authentik.company/application/o/userinfo/`
|
- **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`
|
- **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**.
|
1. From the **Gravity administrative interface**, navigate to **Cluster** > **Roles** and click **API**.
|
||||||
2. Under the **OIDC** sub-section, configure the following values:
|
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 ID**: Your Client ID from authentik
|
||||||
- **Client Secret**: Your Client Secret from authentik
|
- **Client Secret**: Your Client Secret from authentik
|
||||||
- **Redirect URL**: `https://gravity.company/auth/oidc/callback`
|
- **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 \
|
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_id="Client ID" \
|
||||||
oidc_client_secret="Client Secret" \
|
oidc_client_secret="Client Secret" \
|
||||||
default_role="reader"
|
default_role="reader"
|
||||||
|
|||||||
@ -48,7 +48,7 @@ Add the following environment variables to your Homarr configuration. Make sure
|
|||||||
AUTH_PROVIDERS="oidc,credentials"
|
AUTH_PROVIDERS="oidc,credentials"
|
||||||
AUTH_OIDC_CLIENT_ID=<Client ID from authentik>
|
AUTH_OIDC_CLIENT_ID=<Client ID from authentik>
|
||||||
AUTH_OIDC_CLIENT_SECRET=<Client secret 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_URI=https://authentik.company/application/o/authorize
|
||||||
AUTH_OIDC_CLIENT_NAME=authentik
|
AUTH_OIDC_CLIENT_NAME=authentik
|
||||||
OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING=true
|
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
|
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
|
## 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.
|
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.
|
Check the checkbox **Override scopes** and input the scopes `openid profile email` into the new input field.
|
||||||
|
|
||||||
|
|||||||
@ -82,11 +82,11 @@ kimai:
|
|||||||
idp:
|
idp:
|
||||||
entityId: "https://authentik.company/"
|
entityId: "https://authentik.company/"
|
||||||
singleSignOnService:
|
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"
|
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!
|
# the "single logout" feature was not yet tested, if you want to help, please let me know!
|
||||||
singleLogoutService:
|
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"
|
binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
|
||||||
# Signing certificate from *Advanced protocol settings*
|
# Signing certificate from *Advanced protocol settings*
|
||||||
x509cert: "XXXXXXXXXXXXXXXXXXXXXXXXXXX=="
|
x509cert: "XXXXXXXXXXXXXXXXXXXXXXXXXXX=="
|
||||||
|
|||||||
@ -69,5 +69,5 @@ spring:
|
|||||||
provider:
|
provider:
|
||||||
authentik:
|
authentik:
|
||||||
user-name-attribute: preferred_username
|
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
|
```yaml
|
||||||
KOMODO_OIDC_ENABLED=true
|
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_ID=<authentik_client_ID>
|
||||||
KOMODO_OIDC_CLIENT_SECRET=<authentik client secret>
|
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
|
NEXT_PUBLIC_AUTHENTIK_ENABLED=true
|
||||||
AUTHENTIK_CUSTOM_NAME=authentik # Optionally set a custom provider name. Will be displayed on the login page
|
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_ID=<Your Client ID>
|
||||||
AUTHENTIK_CLIENT_SECRET=<Your Client Secret>
|
AUTHENTIK_CLIENT_SECRET=<Your Client Secret>
|
||||||
```
|
```
|
||||||
|
|||||||
@ -53,7 +53,7 @@ oidc_providers:
|
|||||||
- idp_id: authentik
|
- idp_id: authentik
|
||||||
idp_name: authentik
|
idp_name: authentik
|
||||||
discover: true
|
discover: true
|
||||||
issuer: "https://authentik.company/application/o/app-slug/"
|
issuer: "https://authentik.company/application/o/<application_slug>/"
|
||||||
client_id: "*client id*"
|
client_id: "*client id*"
|
||||||
client_secret: "*client secret*"
|
client_secret: "*client secret*"
|
||||||
scopes:
|
scopes:
|
||||||
|
|||||||
@ -52,7 +52,7 @@ To enable OIDC login with Mealie, update your environment variables to include t
|
|||||||
```yaml showLineNumbers
|
```yaml showLineNumbers
|
||||||
OIDC_AUTH_ENABLED=true
|
OIDC_AUTH_ENABLED=true
|
||||||
OIDC_PROVIDER_NAME=authentik
|
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_ID=<Client ID from authentik>
|
||||||
OIDC_CLIENT_SECRET=<Client secret from authentik>
|
OIDC_CLIENT_SECRET=<Client secret from authentik>
|
||||||
OIDC_SIGNUP_ENABLED=true
|
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:
|
From the sidebar of the main page, go to **Identity -> OpenID**, click **Create**, and then define the configuration as follows:
|
||||||
|
|
||||||
- Name: MinIO
|
- 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 ID: Your client ID from the previous step
|
||||||
- Client Secret: Your client secret from the previous step
|
- Client Secret: Your client secret from the previous step
|
||||||
- Scopes: `openid, email, profile, minio`
|
- 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 \
|
~ 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_id="<client id>" \
|
||||||
client_secret="<client secret>" \
|
client_secret="<client secret>" \
|
||||||
scopes="openid,profile,email,minio"
|
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:
|
To configure NetBird to use authentik, add the following environment variables to your NetBird deployment:
|
||||||
|
|
||||||
```yaml showLineNumbers title="setup.env"
|
```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_USE_AUTH0=false
|
||||||
NETBIRD_AUTH_CLIENT_ID="<Your Client ID>"
|
NETBIRD_AUTH_CLIENT_ID="<Your Client ID>"
|
||||||
NETBIRD_AUTH_SUPPORTED_SCOPES="openid profile email offline_access api"
|
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'
|
REMOTE_AUTH_BACKEND='social_core.backends.open_id_connect.OpenIdConnectAuth'
|
||||||
|
|
||||||
# python-social-auth config
|
# 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_KEY='<Client ID>'
|
||||||
SOCIAL_AUTH_OIDC_SECRET='<Client Secret>'
|
SOCIAL_AUTH_OIDC_SECRET='<Client Secret>'
|
||||||
SOCIAL_AUTH_OIDC_SCOPE=openid profile email roles
|
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`.
|
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_ENDPOINT = 'https://authentik.company/application/o/<Application
|
||||||
#SOCIAL_AUTH_OIDC_KEY = '<Client ID>'
|
#SOCIAL_AUTH_OIDC_KEY = '<Client ID>'
|
||||||
#SOCIAL_AUTH_OIDC_SECRET = '<Client Secret>'
|
#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
|
### Groups
|
||||||
|
|||||||
@ -145,7 +145,7 @@ Depending on your Nextcloud configuration, you may need to use `https://nextclou
|
|||||||
- **Identifier**: `authentik`
|
- **Identifier**: `authentik`
|
||||||
- **Client ID**: Client ID from authentik
|
- **Client ID**: Client ID from authentik
|
||||||
- **Client secret**: Client secret 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`
|
- **Scope**: `email profile openid`
|
||||||
- Under **Attribute mappings**:
|
- 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`
|
- **Optional display name**: `authentik`
|
||||||
- **Identifier of the IdP entity**: `https://authentik.company`
|
- **Identifier of the IdP entity**: `https://authentik.company`
|
||||||
- **URL target for authentication requests**: `https://authentik.company/application/saml/<application-slug>/sso/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/`
|
- **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.
|
- **Public X.509 certificate of the IdP**: Paste the contents of your certificate file.
|
||||||
- **Set attribute mappings**:
|
- **Set attribute mappings**:
|
||||||
- **Display name**: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`
|
- **Display name**: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`
|
||||||
|
|||||||
@ -73,7 +73,7 @@ strategy: {
|
|||||||
icon:"fa-cloud",
|
icon:"fa-cloud",
|
||||||
strategy: require("passport-openidconnect").Strategy,
|
strategy: require("passport-openidconnect").Strategy,
|
||||||
options: {
|
options: {
|
||||||
issuer: 'https://authentik.company/application/o/<application-slug>/',
|
issuer: 'https://authentik.company/application/o/<application_slug>/',
|
||||||
authorizationURL: 'https://authentik.company/application/o/authorize/',
|
authorizationURL: 'https://authentik.company/application/o/authorize/',
|
||||||
tokenURL: 'https://authentik.company/application/o/token/',
|
tokenURL: 'https://authentik.company/application/o/token/',
|
||||||
userInfoURL: 'https://authentik.company/application/o/userinfo/',
|
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_ID** to the Client ID copied from authentik.
|
||||||
- Set **OAUTH_CLIENT_SECRET** to the Client Secret copied from authentik.
|
- Set **OAUTH_CLIENT_SECRET** to the Client Secret copied from authentik.
|
||||||
- Set **OAUTH_PROVIDER_NAME** to `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`.
|
- 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'.
|
- 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_AUTH_URI=https://authentik.company/application/o/authorize/
|
||||||
OIDC_TOKEN_URI=https://authentik.company/application/o/token/
|
OIDC_TOKEN_URI=https://authentik.company/application/o/token/
|
||||||
OIDC_USERINFO_URI=https://authentik.company/application/o/userinfo/
|
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_USERNAME_CLAIM=preferred_username
|
||||||
OIDC_DISPLAY_NAME=authentik
|
OIDC_DISPLAY_NAME=authentik
|
||||||
OIDC_SCOPES=openid profile email
|
OIDC_SCOPES=openid profile email
|
||||||
|
|||||||
@ -71,7 +71,7 @@ environment:
|
|||||||
"client_id": "<Client ID>",
|
"client_id": "<Client ID>",
|
||||||
"secret": "<Client Secret>",
|
"secret": "<Client Secret>",
|
||||||
"settings": {
|
"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_AUTHORIZATION_URL': 'https://authentik.company/application/o/authorize/',
|
||||||
'OAUTH2_API_BASE_URL': 'https://authentik.company/',
|
'OAUTH2_API_BASE_URL': 'https://authentik.company/',
|
||||||
'OAUTH2_USERINFO_ENDPOINT': 'https://authentik.company/application/o/userinfo/',
|
'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_SCOPE': 'openid email profile',
|
||||||
'OAUTH2_ICON': '<Fontawesome icon key (e.g., fa-key)>',
|
'OAUTH2_ICON': '<Fontawesome icon key (e.g., fa-key)>',
|
||||||
'OAUTH2_BUTTON_COLOR': '<Hexadecimal color code for the login button>'
|
'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
|
```bash
|
||||||
PGADMIN_CONFIG_AUTHENTICATION_SOURCES="['oauth2', 'internal']"
|
PGADMIN_CONFIG_AUTHENTICATION_SOURCES="['oauth2', 'internal']"
|
||||||
PGADMIN_CONFIG_OAUTH2_AUTO_CREATE_USER=True
|
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
|
### General Notes
|
||||||
|
|||||||
@ -41,9 +41,9 @@ Set the following values:
|
|||||||
```env
|
```env
|
||||||
SAML_ENABLED=True
|
SAML_ENABLED=True
|
||||||
SAML_PATH=os.path.join(os.path.dirname(file), 'saml')
|
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_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_ENTITY_ID=pdns-admin
|
||||||
SAML_SP_CONTACT_NAME=me
|
SAML_SP_CONTACT_NAME=me
|
||||||
SAML_SP_CONTACT_MAIL=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**.
|
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.
|
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**.
|
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.
|
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.
|
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**.
|
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 **Name** to `authentik`
|
||||||
- Set **Client ID** to the Client ID copied from authentik.
|
- Set **Client ID** to the Client ID copied from authentik.
|
||||||
- Set **Client secret** to the Client Secret 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 **Authorization Endpoint** to `https://authentik.company/application/o/authorize/`
|
||||||
- Set **Token Endpoint** to `https://authentik.company/application/o/token/`
|
- Set **Token Endpoint** to `https://authentik.company/application/o/token/`
|
||||||
- Set **Userinfo Endpoint** to `https://authentik.company/application/o/userinfo/`
|
- 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
|
:::info
|
||||||
Users are created automatically on login. Permissions must be assigned by an administrator after user creation.
|
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": {
|
"oidc_providers": {
|
||||||
"authentik": {
|
"authentik": {
|
||||||
"display_name": "Sign in with 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_id": "<client-id>",
|
||||||
"client_secret": "<client-secret>",
|
"client_secret": "<client-secret>",
|
||||||
"redirect_url": "https://semaphore.company/api/auth/oidc/authentik/redirect/",
|
"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:
|
5. Fill in the following:
|
||||||
- **Display name**: Anything you like.
|
- **Display name**: Anything you like.
|
||||||
- **Email domain**: `company`
|
- **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`
|
- **IdP Issuer ID**: `https://authentik.company`
|
||||||
- **Upload/paste certificate**: Downloaded from the previous step.
|
- **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
|
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`
|
- Issuer: `https://authentik.company/skyhigh-dashboard`
|
||||||
- Certificate: Upload the signing certificate you will use for the Authentik provider
|
- 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
|
- SP-Initiated Request Binding: HTTP-POST
|
||||||
- User exclusions: Select at least one administrator account to login directly (in case something goes wrong with SAML)
|
- 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.
|
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
|
- SAML Configuration Name: Enter a descriptive name here
|
||||||
- Service Provider Entity ID: `https://login.auth.ui.trellix.com/sso/saml2`
|
- 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`
|
- 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`
|
- 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`
|
- 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
|
```sh
|
||||||
SOCIAL_PROVIDERS=allauth.socialaccount.providers.openid_connect
|
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.
|
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
|
id: TerrakubeClient
|
||||||
name: TerrakubeClient
|
name: TerrakubeClient
|
||||||
config:
|
config:
|
||||||
issuer: "https://authentik.company/application/o/<Your application slug>/"
|
issuer: "https://authentik.company/application/o/<application_slug>/"
|
||||||
clientID: $TERRAKUBE_OIDC_CLIENT_ID
|
clientID: $TERRAKUBE_OIDC_CLIENT_ID
|
||||||
clientSecret: $TERRAKUBE_OIDC_CLIENT_SECRET
|
clientSecret: $TERRAKUBE_OIDC_CLIENT_SECRET
|
||||||
redirectURI: "https://terrakube-dex.company/dex/callback"
|
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:
|
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-id = <client ID of the provider you've created>
|
||||||
oidc-client-secret = <client Secret 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.
|
- **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 **ACS URL** to `https://weblate.company/accounts/complete/saml/`.
|
||||||
- Set the **Audience** to `https://weblate.company/accounts/metadata/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`.
|
- 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.
|
- 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.
|
- **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
|
Variables to set
|
||||||
|
|
||||||
- ENABLE_HTTPS: `1`
|
- ENABLE_HTTPS: `1`
|
||||||
- SAML_IDP_ENTITY_ID: `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/weblate-slug/sso/binding/redirect/`
|
- SAML_IDP_URL: `https://authentik.company/application/saml/<application_slug>/sso/binding/redirect/`
|
||||||
- SAML_IDP_X509CERT: `MIIFDjCCAvagAwIBAgIRAJV8hH0wGkhGvbhhDKppWIYwDQYJKoZIhvcNAQELBQAw....F9lT9hHwHhsnA=`
|
- SAML_IDP_X509CERT: `MIIFDjCCAvagAwIBAgIRAJV8hH0wGkhGvbhhDKppWIYwDQYJKoZIhvcNAQELBQAw....F9lT9hHwHhsnA=`
|
||||||
|
|
||||||
The `SAML_IDP_X509CERT` is the certificate in the SAML Metadata `X509Certificate` key.
|
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**.
|
2. Click **New module**, then select **SAML 2.0**.
|
||||||
3. Fill out the form with the following information:
|
3. Fill out the form with the following information:
|
||||||
- **Name**: Set an appropriate name (e.g. `authentik`)
|
- **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/`
|
- **IdP entity ID**: `https://youtrack.company/admin/hub/`
|
||||||
- **Certificate fingerprint**: Set to the SHA-256 fingerprint retrieved in the previous step.
|
- **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**.
|
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
|
# KEEP OTHER SETTINGS AS DEFAULT OR CONFIGURE THEM ACCORDING TO YOUR PREFERENCES
|
||||||
"entity_id": "https://authentik.company",
|
"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",
|
"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/docusaurus-config": "^1.1.0",
|
||||||
"@goauthentik/tsconfig": "^1.0.4",
|
"@goauthentik/tsconfig": "^1.0.4",
|
||||||
"@mdx-js/react": "^3.1.0",
|
"@mdx-js/react": "^3.1.0",
|
||||||
|
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"docusaurus-plugin-openapi-docs": "^4.4.0",
|
"docusaurus-plugin-openapi-docs": "^4.4.0",
|
||||||
"docusaurus-theme-openapi-docs": "^4.4.0",
|
"docusaurus-theme-openapi-docs": "^4.4.0",
|
||||||
@ -41,12 +42,12 @@
|
|||||||
"@goauthentik/tsconfig": "^1.0.4",
|
"@goauthentik/tsconfig": "^1.0.4",
|
||||||
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
||||||
"@types/lodash": "^4.17.17",
|
"@types/lodash": "^4.17.17",
|
||||||
"@types/node": "^22.15.30",
|
"@types/node": "^24.0.0",
|
||||||
"@types/postman-collection": "^3.5.11",
|
"@types/postman-collection": "^3.5.11",
|
||||||
"@types/react": "^18.3.22",
|
"@types/react": "^18.3.22",
|
||||||
"@types/semver": "^7.7.0",
|
"@types/semver": "^7.7.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
"@typescript-eslint/eslint-plugin": "^8.34.0",
|
||||||
"@typescript-eslint/parser": "^8.33.1",
|
"@typescript-eslint/parser": "^8.34.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^9.28.0",
|
"eslint": "^9.28.0",
|
||||||
"fast-glob": "^3.3.3",
|
"fast-glob": "^3.3.3",
|
||||||
@ -54,7 +55,7 @@
|
|||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-packagejson": "^2.5.15",
|
"prettier-plugin-packagejson": "^2.5.15",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.33.1"
|
"typescript-eslint": "^8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22.14.0"
|
"node": ">=22.14.0"
|
||||||
@ -63,12 +64,12 @@
|
|||||||
"@rspack/binding-darwin-arm64": "1.3.15",
|
"@rspack/binding-darwin-arm64": "1.3.15",
|
||||||
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
||||||
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
||||||
"@swc/core-darwin-arm64": "1.11.31",
|
"@swc/core-darwin-arm64": "1.12.0",
|
||||||
"@swc/core-linux-arm64-gnu": "1.11.31",
|
"@swc/core-linux-arm64-gnu": "1.12.0",
|
||||||
"@swc/core-linux-x64-gnu": "1.11.31",
|
"@swc/core-linux-x64-gnu": "1.12.0",
|
||||||
"@swc/html-darwin-arm64": "1.11.31",
|
"@swc/html-darwin-arm64": "1.12.0",
|
||||||
"@swc/html-linux-arm64-gnu": "1.11.31",
|
"@swc/html-linux-arm64-gnu": "1.12.0",
|
||||||
"@swc/html-linux-x64-gnu": "1.11.31",
|
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||||
"lightningcss-darwin-arm64": "1.30.1",
|
"lightningcss-darwin-arm64": "1.30.1",
|
||||||
"lightningcss-linux-arm64-gnu": "1.30.1",
|
"lightningcss-linux-arm64-gnu": "1.30.1",
|
||||||
"lightningcss-linux-x64-gnu": "1.30.1"
|
"lightningcss-linux-x64-gnu": "1.30.1"
|
||||||
@ -5591,9 +5592,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-darwin-arm64": {
|
"node_modules/@swc/core-darwin-arm64": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.0.tgz",
|
||||||
"integrity": "sha512-NTEaYOts0OGSbJZc0O74xsji+64JrF1stmBii6D5EevWEtrY4wlZhm8SiP/qPrOB+HqtAihxWIukWkP2aSdGSQ==",
|
"integrity": "sha512-usLr8kC80GDv3pwH2zoEaS279kxtWY0MY3blbMFw7zA8fAjqxa8IDxm3WcgyNLNWckWn4asFfguEwz/Weem3nA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -5639,9 +5640,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-arm64-gnu": {
|
"node_modules/@swc/core-linux-arm64-gnu": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.0.tgz",
|
||||||
"integrity": "sha512-T+vGw9aPE1YVyRxRr1n7NAdkbgzBzrXCCJ95xAZc/0+WUwmL77Z+js0J5v1KKTRxw4FvrslNCOXzMWrSLdwPSA==",
|
"integrity": "sha512-Al0x33gUVxNY5tutEYpSyv7mze6qQS1ONa0HEwoRxcK9WXsX0NHLTiOSGZoCUS1SsXM37ONlbA6/Bsp1MQyP+g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -5671,9 +5672,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core-linux-x64-gnu": {
|
"node_modules/@swc/core-linux-x64-gnu": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.0.tgz",
|
||||||
"integrity": "sha512-DDVE0LZcXOWwOqFU1Xi7gdtiUg3FHA0vbGb3trjWCuI1ZtDZHEQYL4M3/2FjqKZtIwASrDvO96w91okZbXhvMg==",
|
"integrity": "sha512-ltIvqNi7H0c5pRawyqjeYSKEIfZP4vv/datT3mwT6BW7muJtd1+KIDCPFLMIQ4wm/h76YQwPocsin3fzmnFdNA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -5829,9 +5830,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/html-darwin-arm64": {
|
"node_modules/@swc/html-darwin-arm64": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.12.0.tgz",
|
||||||
"integrity": "sha512-/BZ7KLfkua568iNNnLAlxa88P7gBiouZ+aW7LFcqfv62ueCpjLY7YSUXcVcb8bAoGwDcB+fO2xMYz5ABHcaFZg==",
|
"integrity": "sha512-okpx8G7xGSPiSekxS4FQu3aR8k+q8nZJCfVKzanQxdZUaCm7YDVUci2Unqp9TvpgZJRA0GOWs1U3QMu2vdr0sQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -5877,9 +5878,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/html-linux-arm64-gnu": {
|
"node_modules/@swc/html-linux-arm64-gnu": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.12.0.tgz",
|
||||||
"integrity": "sha512-3rbfgMDGeLx52iFOCGaeeK8IEj1fT7gsvTWfXACJ4ns7MPupz6v3dVoGCIuzh0yHGAZPY0QL1iVAYjPLg8TrWw==",
|
"integrity": "sha512-ImZLbghifCPqQhwbEprv2zojieD0j/RGJ+tkNpJ6DyGqcf5qVFfPgGDe/WDPEHCMbJlAodvp1iKTdLSAdTfaLg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -5909,9 +5910,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/html-linux-x64-gnu": {
|
"node_modules/@swc/html-linux-x64-gnu": {
|
||||||
"version": "1.11.31",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.11.31.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.12.0.tgz",
|
||||||
"integrity": "sha512-6w9yZ1W23y17Y8NLTqy+efaAHjnqumSdn8PdCmBvMxwFRwjo9dNkkcDJsTZ5EERBMH+DnDbVR+HkuNypd0Y7Gw==",
|
"integrity": "sha512-IVFXgsyn0/8e9nfVrQXAdGDFboom0nls7KSOJ/+oXMmdK917wrnYLDt7M4DyRT2c+xJmMxgR6tyaTW8KLAl02w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -6614,12 +6615,12 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.15.30",
|
"version": "24.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.30.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.0.tgz",
|
||||||
"integrity": "sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==",
|
"integrity": "sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.21.0"
|
"undici-types": "~7.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node-forge": {
|
"node_modules/@types/node-forge": {
|
||||||
@ -6830,17 +6831,17 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.0.tgz",
|
||||||
"integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
|
"integrity": "sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/type-utils": "8.33.1",
|
"@typescript-eslint/type-utils": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^7.0.0",
|
"ignore": "^7.0.0",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@ -6854,7 +6855,7 @@
|
|||||||
"url": "https://opencollective.com/typescript-eslint"
|
"url": "https://opencollective.com/typescript-eslint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/parser": "^8.33.1",
|
"@typescript-eslint/parser": "^8.34.0",
|
||||||
"eslint": "^8.57.0 || ^9.0.0",
|
"eslint": "^8.57.0 || ^9.0.0",
|
||||||
"typescript": ">=4.8.4 <5.9.0"
|
"typescript": ">=4.8.4 <5.9.0"
|
||||||
}
|
}
|
||||||
@ -6870,16 +6871,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.0.tgz",
|
||||||
"integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
|
"integrity": "sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -6895,14 +6896,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/project-service": {
|
"node_modules/@typescript-eslint/project-service": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
|
||||||
"integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
|
"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/tsconfig-utils": "^8.33.1",
|
"@typescript-eslint/tsconfig-utils": "^8.34.0",
|
||||||
"@typescript-eslint/types": "^8.33.1",
|
"@typescript-eslint/types": "^8.34.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -6917,14 +6918,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
|
||||||
"integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
|
"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1"
|
"@typescript-eslint/visitor-keys": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -6935,9 +6936,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/tsconfig-utils": {
|
"node_modules/@typescript-eslint/tsconfig-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
|
"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -6952,14 +6953,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
|
"integrity": "sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1",
|
"@typescript-eslint/typescript-estree": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1",
|
"@typescript-eslint/utils": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^2.1.0"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
@ -6976,9 +6977,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
|
||||||
"integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
|
"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -6990,16 +6991,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
|
||||||
"integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
|
"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/project-service": "8.33.1",
|
"@typescript-eslint/project-service": "8.34.0",
|
||||||
"@typescript-eslint/tsconfig-utils": "8.33.1",
|
"@typescript-eslint/tsconfig-utils": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.33.1",
|
"@typescript-eslint/visitor-keys": "8.34.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@ -7045,16 +7046,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
|
||||||
"integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
|
"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.7.0",
|
"@eslint-community/eslint-utils": "^4.7.0",
|
||||||
"@typescript-eslint/scope-manager": "8.33.1",
|
"@typescript-eslint/scope-manager": "8.34.0",
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.33.1"
|
"@typescript-eslint/typescript-estree": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -7069,13 +7070,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
|
||||||
"integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
|
"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.33.1",
|
"@typescript-eslint/types": "8.34.0",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7087,9 +7088,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||||
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -26386,15 +26387,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript-eslint": {
|
"node_modules/typescript-eslint": {
|
||||||
"version": "8.33.1",
|
"version": "8.34.0",
|
||||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.0.tgz",
|
||||||
"integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==",
|
"integrity": "sha512-MRpfN7uYjTrTGigFCt8sRyNqJFhjN0WwZecldaqhWm+wy0gaRt8Edb/3cuUy0zdq2opJWT6iXINKAtewnDOltQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "8.33.1",
|
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||||
"@typescript-eslint/parser": "8.33.1",
|
"@typescript-eslint/parser": "8.34.0",
|
||||||
"@typescript-eslint/utils": "8.33.1"
|
"@typescript-eslint/utils": "8.34.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -26434,9 +26435,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "6.21.0",
|
"version": "7.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
|
||||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
"integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/unicode-canonical-property-names-ecmascript": {
|
"node_modules/unicode-canonical-property-names-ecmascript": {
|
||||||
|
|||||||
@ -56,12 +56,12 @@
|
|||||||
"@goauthentik/tsconfig": "^1.0.4",
|
"@goauthentik/tsconfig": "^1.0.4",
|
||||||
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
||||||
"@types/lodash": "^4.17.17",
|
"@types/lodash": "^4.17.17",
|
||||||
"@types/node": "^22.15.30",
|
"@types/node": "^24.0.0",
|
||||||
"@types/postman-collection": "^3.5.11",
|
"@types/postman-collection": "^3.5.11",
|
||||||
"@types/react": "^18.3.22",
|
"@types/react": "^18.3.22",
|
||||||
"@types/semver": "^7.7.0",
|
"@types/semver": "^7.7.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
"@typescript-eslint/eslint-plugin": "^8.34.0",
|
||||||
"@typescript-eslint/parser": "^8.33.1",
|
"@typescript-eslint/parser": "^8.34.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^9.28.0",
|
"eslint": "^9.28.0",
|
||||||
"fast-glob": "^3.3.3",
|
"fast-glob": "^3.3.3",
|
||||||
@ -69,18 +69,18 @@
|
|||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-packagejson": "^2.5.15",
|
"prettier-plugin-packagejson": "^2.5.15",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.33.1"
|
"typescript-eslint": "^8.34.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rspack/binding-darwin-arm64": "1.3.15",
|
"@rspack/binding-darwin-arm64": "1.3.15",
|
||||||
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
"@rspack/binding-linux-arm64-gnu": "1.3.15",
|
||||||
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
"@rspack/binding-linux-x64-gnu": "1.3.15",
|
||||||
"@swc/core-darwin-arm64": "1.11.31",
|
"@swc/core-darwin-arm64": "1.12.0",
|
||||||
"@swc/core-linux-arm64-gnu": "1.11.31",
|
"@swc/core-linux-arm64-gnu": "1.12.0",
|
||||||
"@swc/core-linux-x64-gnu": "1.11.31",
|
"@swc/core-linux-x64-gnu": "1.12.0",
|
||||||
"@swc/html-darwin-arm64": "1.11.31",
|
"@swc/html-darwin-arm64": "1.12.0",
|
||||||
"@swc/html-linux-arm64-gnu": "1.11.31",
|
"@swc/html-linux-arm64-gnu": "1.12.0",
|
||||||
"@swc/html-linux-x64-gnu": "1.11.31",
|
"@swc/html-linux-x64-gnu": "1.12.0",
|
||||||
"lightningcss-darwin-arm64": "1.30.1",
|
"lightningcss-darwin-arm64": "1.30.1",
|
||||||
"lightningcss-linux-arm64-gnu": "1.30.1",
|
"lightningcss-linux-arm64-gnu": "1.30.1",
|
||||||
"lightningcss-linux-x64-gnu": "1.30.1"
|
"lightningcss-linux-x64-gnu": "1.30.1"
|
||||||
|
|||||||
@ -8,17 +8,10 @@
|
|||||||
* @type {SidebarItemConfig[]}
|
* @type {SidebarItemConfig[]}
|
||||||
*/
|
*/
|
||||||
const items = [
|
const items = [
|
||||||
{
|
|
||||||
type: "category",
|
|
||||||
label: "Device Management",
|
|
||||||
items: ["services/apple/index", "services/fleet/index"],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Chat, Communication & Collaboration",
|
label: "Chat, Communication & Collaboration",
|
||||||
items: [
|
items: [
|
||||||
"services/bookstack/index",
|
|
||||||
"services/dokuwiki/index",
|
|
||||||
"services/espocrm/index",
|
"services/espocrm/index",
|
||||||
"services/hedgedoc/index",
|
"services/hedgedoc/index",
|
||||||
"services/kimai/index",
|
"services/kimai/index",
|
||||||
@ -30,10 +23,7 @@ const items = [
|
|||||||
"services/nextcloud/index",
|
"services/nextcloud/index",
|
||||||
"services/onlyoffice/index",
|
"services/onlyoffice/index",
|
||||||
"services/openproject/index",
|
"services/openproject/index",
|
||||||
"services/outline/index",
|
|
||||||
"services/owncloud/index",
|
"services/owncloud/index",
|
||||||
"services/paperless-ng/index",
|
|
||||||
"services/paperless-ngx/index",
|
|
||||||
"services/rocketchat/index",
|
"services/rocketchat/index",
|
||||||
"services/roundcube/index",
|
"services/roundcube/index",
|
||||||
"services/sharepoint-se/index",
|
"services/sharepoint-se/index",
|
||||||
@ -41,11 +31,15 @@ const items = [
|
|||||||
"services/thelounge/index",
|
"services/thelounge/index",
|
||||||
"services/vikunja/index",
|
"services/vikunja/index",
|
||||||
"services/wekan/index",
|
"services/wekan/index",
|
||||||
"services/wiki-js/index",
|
|
||||||
"services/writefreely/index",
|
"services/writefreely/index",
|
||||||
"services/zulip/index",
|
"services/zulip/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
label: "Device Management",
|
||||||
|
items: ["services/apple/index", "services/fleet/index", "services/meshcentral/index"],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Cloud Providers",
|
label: "Cloud Providers",
|
||||||
@ -61,6 +55,44 @@ const items = [
|
|||||||
label: "Dashboards",
|
label: "Dashboards",
|
||||||
items: ["services/organizr/index", "services/linkwarden/index", "services/homarr/index"],
|
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",
|
type: "category",
|
||||||
label: "Hypervisors / Orchestrators",
|
label: "Hypervisors / Orchestrators",
|
||||||
@ -79,35 +111,23 @@ const items = [
|
|||||||
"services/apache-guacamole/index",
|
"services/apache-guacamole/index",
|
||||||
"services/argocd/index",
|
"services/argocd/index",
|
||||||
"services/awx-tower/index",
|
"services/awx-tower/index",
|
||||||
"services/cloudflare-access/index",
|
|
||||||
"services/coder/index",
|
|
||||||
"services/globalprotect/index",
|
|
||||||
"services/harbor/index",
|
"services/harbor/index",
|
||||||
"services/hashicorp-vault/index",
|
|
||||||
"services/jenkins/index",
|
|
||||||
"services/knocknoc/index",
|
|
||||||
"services/komodo/index",
|
"services/komodo/index",
|
||||||
"services/meshcentral/index",
|
|
||||||
"services/minio/index",
|
"services/minio/index",
|
||||||
"services/netbox/index",
|
|
||||||
"services/omni/index",
|
"services/omni/index",
|
||||||
"services/pgadmin/index",
|
"services/pgadmin/index",
|
||||||
"services/phpipam/index",
|
"services/phpipam/index",
|
||||||
"services/plesk/index",
|
"services/plesk/index",
|
||||||
"services/powerdns-admin/index",
|
"services/powerdns-admin/index",
|
||||||
"services/proftpd/index",
|
"services/proftpd/index",
|
||||||
"services/push-security/index",
|
|
||||||
"services/qnap-nas/index",
|
"services/qnap-nas/index",
|
||||||
"services/rustdesk-pro/index",
|
"services/rustdesk-pro/index",
|
||||||
"services/semgrep/index",
|
"services/semaphore/index",
|
||||||
"services/synology-dsm/index",
|
"services/synology-dsm/index",
|
||||||
"services/skyhigh/index",
|
|
||||||
"services/snipe-it/index",
|
|
||||||
"services/sssd/index",
|
"services/sssd/index",
|
||||||
"services/terrakube/index",
|
"services/terrakube/index",
|
||||||
"services/truecommand/index",
|
"services/truecommand/index",
|
||||||
"services/veeam-enterprise-manager/index",
|
"services/veeam-enterprise-manager/index",
|
||||||
"services/xcreds/index",
|
|
||||||
"services/zammad/index",
|
"services/zammad/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -116,11 +136,13 @@ const items = [
|
|||||||
label: "Networking",
|
label: "Networking",
|
||||||
items: [
|
items: [
|
||||||
"services/aruba-orchestrator/index",
|
"services/aruba-orchestrator/index",
|
||||||
|
"services/cloudflare-access/index",
|
||||||
"services/firezone/index",
|
"services/firezone/index",
|
||||||
"services/fortigate-admin/index",
|
"services/fortigate-admin/index",
|
||||||
"services/fortigate-ssl/index",
|
"services/fortigate-ssl/index",
|
||||||
"services/fortimanager/index",
|
"services/fortimanager/index",
|
||||||
"services/gravity/index",
|
"services/gravity/index",
|
||||||
|
"services/globalprotect/index",
|
||||||
"services/netbird/index",
|
"services/netbird/index",
|
||||||
"services/opnsense/index",
|
"services/opnsense/index",
|
||||||
"services/pangolin/index",
|
"services/pangolin/index",
|
||||||
@ -130,33 +152,27 @@ const items = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Miscellaneous",
|
label: "Media",
|
||||||
items: [
|
items: [
|
||||||
"services/1password/index",
|
|
||||||
"services/actual-budget/index",
|
|
||||||
"services/adventurelog/index",
|
|
||||||
"services/calibre-web/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/immich/index",
|
||||||
|
"services/freshrss/index",
|
||||||
"services/jellyfin/index",
|
"services/jellyfin/index",
|
||||||
"services/komga/index",
|
"services/komga/index",
|
||||||
"services/mealie/index",
|
|
||||||
"services/miniflux/index",
|
"services/miniflux/index",
|
||||||
"services/node-red/index",
|
|
||||||
"services/open-webui/index",
|
|
||||||
"services/semaphore/index",
|
|
||||||
"services/sonar-qube/index",
|
|
||||||
"services/sonarr/index",
|
"services/sonarr/index",
|
||||||
"services/tandoor/index",
|
|
||||||
"services/tautulli/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",
|
"services/zipline/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -192,14 +208,16 @@ const items = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
label: "Version Control Systems",
|
label: "Security",
|
||||||
items: [
|
items: [
|
||||||
"services/gitea/index",
|
"services/1password/index",
|
||||||
"services/github-organization/index",
|
"services/bitwarden/index",
|
||||||
"services/github-enterprise-cloud/index",
|
"services/hashicorp-vault/index",
|
||||||
"services/github-enterprise-emu/index",
|
"services/knocknoc/index",
|
||||||
"services/github-enterprise-server/index",
|
"services/push-security/index",
|
||||||
"services/gitlab/index",
|
"services/semgrep/index",
|
||||||
|
"services/skyhigh/index",
|
||||||
|
"services/xcreds/index",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -221,7 +239,7 @@ const integrationsSidebar = {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "services/index",
|
id: "services/index",
|
||||||
},
|
},
|
||||||
items,
|
items: items.sort((a, b) => a.label.localeCompare(b.label)),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user