From 3f5effb1bcae8cbb46b39d17292b3a2b3a8fea73 Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 20 Mar 2023 16:54:35 +0100 Subject: [PATCH] providers/radius: simple radius outpost (#1796) * initial implementation Signed-off-by: Jens Langhammer Signed-off-by: Jens Langhammer * cleanup Signed-off-by: Jens Langhammer * add migrations Signed-off-by: Jens Langhammer * fix web Signed-off-by: Jens Langhammer * minor fixes Signed-off-by: Jens Langhammer * use search-select Signed-off-by: Jens Langhammer * update locale Signed-off-by: Jens Langhammer * fixup Signed-off-by: Jens Langhammer * fix ip with port being sent to delegated ip Signed-off-by: Jens Langhammer * add radius tests Signed-off-by: Jens Langhammer * update docs Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer Signed-off-by: Jens Langhammer --- .github/workflows/ci-main.yml | 2 + .github/workflows/ci-outpost.yml | 8 +- .github/workflows/release-publish.yml | 2 + authentik/api/v3/urls.py | 3 + authentik/outposts/api/outposts.py | 2 + .../migrations/0020_alter_outpost_type.py | 20 + authentik/outposts/models.py | 1 + authentik/providers/radius/__init__.py | 0 authentik/providers/radius/api.py | 65 ++ authentik/providers/radius/apps.py | 10 + .../providers/radius/controllers/__init__.py | 0 .../providers/radius/controllers/docker.py | 14 + .../radius/controllers/kubernetes.py | 14 + .../radius/migrations/0001_initial.py | 52 ++ .../providers/radius/migrations/__init__.py | 0 authentik/providers/radius/models.py | 50 ++ authentik/root/settings.py | 1 + blueprints/schema.json | 1 + cmd/radius/server.go | 78 +++ go.mod | 1 + go.sum | 3 + internal/config/config.go | 1 + internal/config/struct.go | 1 + internal/outpost/radius/api.go | 62 ++ .../outpost/radius/handle_access_request.go | 69 +++ internal/outpost/radius/handler.go | 79 +++ internal/outpost/radius/metrics/metrics.go | 41 ++ internal/outpost/radius/radius.go | 119 ++++ locale/en/LC_MESSAGES/django.po | 465 ++++++++------ poetry.lock | 32 +- pyproject.toml | 3 +- radius.Dockerfile | 26 + schema.yml | 586 ++++++++++++++++++ tests/e2e/test_provider_radius.py | 123 ++++ tests/radius-dictionary | 405 ++++++++++++ web/src/admin/outposts/OutpostForm.ts | 21 + web/src/admin/outposts/OutpostListPage.ts | 2 + web/src/admin/providers/ProviderListPage.ts | 1 + .../admin/providers/ldap/LDAPProviderForm.ts | 4 +- .../providers/radius/RadiusProviderForm.ts | 138 +++++ .../radius/RadiusProviderViewPage.ts | 162 +++++ web/src/locales/de.po | 340 ++++++++-- web/src/locales/en.po | 350 +++++++++-- web/src/locales/es.po | 340 ++++++++-- web/src/locales/fr_FR.po | 340 ++++++++-- web/src/locales/pl.po | 340 ++++++++-- web/src/locales/pseudo-LOCALE.po | 332 ++++++++-- web/src/locales/tr.po | 340 ++++++++-- web/src/locales/zh-Hans.po | 340 ++++++++-- web/src/locales/zh-Hant.po | 340 ++++++++-- web/src/locales/zh_TW.po | 340 ++++++++-- .../outposts/manual-deploy-docker-compose.md | 7 +- website/docs/providers/radius.md | 33 + website/sidebars.js | 1 + 54 files changed, 5433 insertions(+), 677 deletions(-) create mode 100644 authentik/outposts/migrations/0020_alter_outpost_type.py create mode 100644 authentik/providers/radius/__init__.py create mode 100644 authentik/providers/radius/api.py create mode 100644 authentik/providers/radius/apps.py create mode 100644 authentik/providers/radius/controllers/__init__.py create mode 100644 authentik/providers/radius/controllers/docker.py create mode 100644 authentik/providers/radius/controllers/kubernetes.py create mode 100644 authentik/providers/radius/migrations/0001_initial.py create mode 100644 authentik/providers/radius/migrations/__init__.py create mode 100644 authentik/providers/radius/models.py create mode 100644 cmd/radius/server.go create mode 100644 internal/outpost/radius/api.go create mode 100644 internal/outpost/radius/handle_access_request.go create mode 100644 internal/outpost/radius/handler.go create mode 100644 internal/outpost/radius/metrics/metrics.go create mode 100644 internal/outpost/radius/radius.go create mode 100644 radius.Dockerfile create mode 100644 tests/e2e/test_provider_radius.py create mode 100644 tests/radius-dictionary create mode 100644 web/src/admin/providers/radius/RadiusProviderForm.ts create mode 100644 web/src/admin/providers/radius/RadiusProviderViewPage.ts create mode 100644 website/docs/providers/radius.md diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index 51c4741fc4e..bce84bcbf3b 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -128,6 +128,8 @@ jobs: glob: tests/e2e/test_provider_saml* tests/e2e/test_source_saml* - name: ldap glob: tests/e2e/test_provider_ldap* tests/e2e/test_source_ldap* + - name: radius + glob: tests/e2e/test_provider_radius* - name: flows glob: tests/e2e/test_flows* steps: diff --git a/.github/workflows/ci-outpost.yml b/.github/workflows/ci-outpost.yml index 5414e54f4b2..5d267ac9786 100644 --- a/.github/workflows/ci-outpost.yml +++ b/.github/workflows/ci-outpost.yml @@ -59,8 +59,9 @@ jobs: type: - proxy - ldap + - radius arch: - - 'linux/amd64' + - "linux/amd64" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -106,6 +107,7 @@ jobs: type: - proxy - ldap + - radius goos: [linux] goarch: [amd64, arm64] steps: @@ -115,8 +117,8 @@ jobs: go-version: "^1.17" - uses: actions/setup-node@v3.6.0 with: - node-version: '18' - cache: 'npm' + node-version: "18" + cache: "npm" cache-dependency-path: web/package-lock.json - name: Generate API run: make gen-client-go diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index af0c25a2978..cd313e43048 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -52,6 +52,7 @@ jobs: type: - proxy - ldap + - radius steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 @@ -99,6 +100,7 @@ jobs: type: - proxy - ldap + - radius goos: [linux, darwin] goarch: [amd64, arm64] steps: diff --git a/authentik/api/v3/urls.py b/authentik/api/v3/urls.py index 35d7ba34b4e..591f1adee7e 100644 --- a/authentik/api/v3/urls.py +++ b/authentik/api/v3/urls.py @@ -56,6 +56,7 @@ RefreshTokenViewSet, ) from authentik.providers.proxy.api import ProxyOutpostConfigViewSet, ProxyProviderViewSet +from authentik.providers.radius.api import RadiusOutpostConfigViewSet, RadiusProviderViewSet from authentik.providers.saml.api.property_mapping import SAMLPropertyMappingViewSet from authentik.providers.saml.api.providers import SAMLProviderViewSet from authentik.providers.scim.api.property_mapping import SCIMMappingViewSet @@ -128,6 +129,7 @@ router.register("outposts/service_connections/kubernetes", KubernetesServiceConnectionViewSet) router.register("outposts/proxy", ProxyOutpostConfigViewSet) router.register("outposts/ldap", LDAPOutpostConfigViewSet) +router.register("outposts/radius", RadiusOutpostConfigViewSet) router.register("flows/instances", FlowViewSet) router.register("flows/bindings", FlowStageBindingViewSet) @@ -166,6 +168,7 @@ router.register("providers/oauth2", OAuth2ProviderViewSet) router.register("providers/saml", SAMLProviderViewSet) router.register("providers/scim", SCIMProviderViewSet) +router.register("providers/radius", RadiusProviderViewSet) router.register("oauth2/authorization_codes", AuthorizationCodeViewSet) router.register("oauth2/refresh_tokens", RefreshTokenViewSet) diff --git a/authentik/outposts/api/outposts.py b/authentik/outposts/api/outposts.py index 5acad9925c1..140f01fac49 100644 --- a/authentik/outposts/api/outposts.py +++ b/authentik/outposts/api/outposts.py @@ -28,6 +28,7 @@ ) from authentik.providers.ldap.models import LDAPProvider from authentik.providers.proxy.models import ProxyProvider +from authentik.providers.radius.models import RadiusProvider class OutpostSerializer(ModelSerializer): @@ -51,6 +52,7 @@ def validate_providers(self, providers: list[Provider]) -> list[Provider]: type_map = { OutpostType.LDAP: LDAPProvider, OutpostType.PROXY: ProxyProvider, + OutpostType.RADIUS: RadiusProvider, None: Provider, } for provider in providers: diff --git a/authentik/outposts/migrations/0020_alter_outpost_type.py b/authentik/outposts/migrations/0020_alter_outpost_type.py new file mode 100644 index 00000000000..63f627b0e37 --- /dev/null +++ b/authentik/outposts/migrations/0020_alter_outpost_type.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1.7 on 2023-03-20 10:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_outposts", "0019_alter_outpost_name_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="outpost", + name="type", + field=models.TextField( + choices=[("proxy", "Proxy"), ("ldap", "Ldap"), ("radius", "Radius")], + default="proxy", + ), + ), + ] diff --git a/authentik/outposts/models.py b/authentik/outposts/models.py index 02a2a776005..051bb3ca9a6 100644 --- a/authentik/outposts/models.py +++ b/authentik/outposts/models.py @@ -94,6 +94,7 @@ class OutpostType(models.TextChoices): PROXY = "proxy" LDAP = "ldap" + RADIUS = "radius" def default_outpost_config(host: Optional[str] = None): diff --git a/authentik/providers/radius/__init__.py b/authentik/providers/radius/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/authentik/providers/radius/api.py b/authentik/providers/radius/api.py new file mode 100644 index 00000000000..30376a52bc6 --- /dev/null +++ b/authentik/providers/radius/api.py @@ -0,0 +1,65 @@ +"""RadiusProvider API Views""" +from rest_framework.fields import CharField +from rest_framework.serializers import ModelSerializer +from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet + +from authentik.core.api.providers import ProviderSerializer +from authentik.core.api.used_by import UsedByMixin +from authentik.providers.radius.models import RadiusProvider + + +class RadiusProviderSerializer(ProviderSerializer): + """RadiusProvider Serializer""" + + class Meta: + model = RadiusProvider + fields = ProviderSerializer.Meta.fields + [ + "client_networks", + # Shared secret is not a write-only field, as + # an admin might have to view it + "shared_secret", + ] + extra_kwargs = ProviderSerializer.Meta.extra_kwargs + + +class RadiusProviderViewSet(UsedByMixin, ModelViewSet): + """RadiusProvider Viewset""" + + queryset = RadiusProvider.objects.all() + serializer_class = RadiusProviderSerializer + ordering = ["name"] + search_fields = ["name", "client_networks"] + filterset_fields = { + "application": ["isnull"], + "name": ["iexact"], + "authorization_flow__slug": ["iexact"], + "client_networks": ["iexact"], + } + + +class RadiusOutpostConfigSerializer(ModelSerializer): + """RadiusProvider Serializer""" + + application_slug = CharField(source="application.slug") + auth_flow_slug = CharField(source="authorization_flow.slug") + + class Meta: + model = RadiusProvider + fields = [ + "pk", + "name", + "application_slug", + "auth_flow_slug", + "client_networks", + "shared_secret", + ] + + +class RadiusOutpostConfigViewSet(ReadOnlyModelViewSet): + """RadiusProvider Viewset""" + + queryset = RadiusProvider.objects.filter(application__isnull=False) + serializer_class = RadiusOutpostConfigSerializer + ordering = ["name"] + search_fields = ["name"] + filterset_fields = ["name"] diff --git a/authentik/providers/radius/apps.py b/authentik/providers/radius/apps.py new file mode 100644 index 00000000000..5972cdf76da --- /dev/null +++ b/authentik/providers/radius/apps.py @@ -0,0 +1,10 @@ +"""authentik radius provider app config""" +from django.apps import AppConfig + + +class AuthentikProviderRadiusConfig(AppConfig): + """authentik radius provider app config""" + + name = "authentik.providers.radius" + label = "authentik_providers_radius" + verbose_name = "authentik Providers.Radius" diff --git a/authentik/providers/radius/controllers/__init__.py b/authentik/providers/radius/controllers/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/authentik/providers/radius/controllers/docker.py b/authentik/providers/radius/controllers/docker.py new file mode 100644 index 00000000000..cf17fd36a30 --- /dev/null +++ b/authentik/providers/radius/controllers/docker.py @@ -0,0 +1,14 @@ +"""Radius Provider Docker Controller""" +from authentik.outposts.controllers.base import DeploymentPort +from authentik.outposts.controllers.docker import DockerController +from authentik.outposts.models import DockerServiceConnection, Outpost + + +class RadiusDockerController(DockerController): + """Radius Provider Docker Controller""" + + def __init__(self, outpost: Outpost, connection: DockerServiceConnection): + super().__init__(outpost, connection) + self.deployment_ports = [ + DeploymentPort(1812, "radius", "udp", 1812), + ] diff --git a/authentik/providers/radius/controllers/kubernetes.py b/authentik/providers/radius/controllers/kubernetes.py new file mode 100644 index 00000000000..cdec2cd9acb --- /dev/null +++ b/authentik/providers/radius/controllers/kubernetes.py @@ -0,0 +1,14 @@ +"""Radius Provider Kubernetes Controller""" +from authentik.outposts.controllers.base import DeploymentPort +from authentik.outposts.controllers.kubernetes import KubernetesController +from authentik.outposts.models import KubernetesServiceConnection, Outpost + + +class RadiusKubernetesController(KubernetesController): + """Radius Provider Kubernetes Controller""" + + def __init__(self, outpost: Outpost, connection: KubernetesServiceConnection): + super().__init__(outpost, connection) + self.deployment_ports = [ + DeploymentPort(1812, "radius", "udp", 1812), + ] diff --git a/authentik/providers/radius/migrations/0001_initial.py b/authentik/providers/radius/migrations/0001_initial.py new file mode 100644 index 00000000000..caf504b8f53 --- /dev/null +++ b/authentik/providers/radius/migrations/0001_initial.py @@ -0,0 +1,52 @@ +# Generated by Django 4.1.7 on 2023-03-20 10:58 + +import django.db.models.deletion +from django.db import migrations, models + +import authentik.lib.generators + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("authentik_core", "0027_alter_user_uuid"), + ] + + operations = [ + migrations.CreateModel( + name="RadiusProvider", + fields=[ + ( + "provider_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="authentik_core.provider", + ), + ), + ( + "shared_secret", + models.TextField( + default=authentik.lib.generators.generate_key, + help_text="Shared secret between clients and server to hash packets.", + ), + ), + ( + "client_networks", + models.TextField( + default="0.0.0.0/0, ::/0", + help_text="List of CIDRs (comma-separated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped.", + ), + ), + ], + options={ + "verbose_name": "Radius Provider", + "verbose_name_plural": "Radius Providers", + }, + bases=("authentik_core.provider", models.Model), + ), + ] diff --git a/authentik/providers/radius/migrations/__init__.py b/authentik/providers/radius/migrations/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/authentik/providers/radius/models.py b/authentik/providers/radius/models.py new file mode 100644 index 00000000000..1fb146d05b2 --- /dev/null +++ b/authentik/providers/radius/models.py @@ -0,0 +1,50 @@ +"""Radius Provider""" +from typing import Optional, Type + +from django.db import models +from django.utils.translation import gettext_lazy as _ +from rest_framework.serializers import Serializer + +from authentik.core.models import Provider +from authentik.lib.generators import generate_key +from authentik.outposts.models import OutpostModel + + +class RadiusProvider(OutpostModel, Provider): + """Allow applications to authenticate against authentik's users using Radius.""" + + shared_secret = models.TextField( + default=generate_key, + help_text=_("Shared secret between clients and server to hash packets."), + ) + + client_networks = models.TextField( + default="0.0.0.0/0, ::/0", + help_text=_( + "List of CIDRs (comma-separated) that clients can connect from. A more specific " + "CIDR will match before a looser one. Clients connecting from a non-specified CIDR " + "will be dropped." + ), + ) + + @property + def launch_url(self) -> Optional[str]: + """Radius never has a launch URL""" + return None + + @property + def component(self) -> str: + return "ak-provider-radius-form" + + @property + def serializer(self) -> Type[Serializer]: + from authentik.providers.radius.api import RadiusProviderSerializer + + return RadiusProviderSerializer + + def __str__(self): + return f"Radius Provider {self.name}" + + class Meta: + verbose_name = _("Radius Provider") + verbose_name_plural = _("Radius Providers") diff --git a/authentik/root/settings.py b/authentik/root/settings.py index 7aa71f00b30..eeb6688b804 100644 --- a/authentik/root/settings.py +++ b/authentik/root/settings.py @@ -79,6 +79,7 @@ "authentik.providers.ldap", "authentik.providers.oauth2", "authentik.providers.proxy", + "authentik.providers.radius", "authentik.providers.saml", "authentik.providers.scim", "authentik.recovery", diff --git a/blueprints/schema.json b/blueprints/schema.json index e9232acd951..90cec298584 100644 --- a/blueprints/schema.json +++ b/blueprints/schema.json @@ -79,6 +79,7 @@ "authentik_providers_oauth2.refreshtoken", "authentik_providers_oauth2.scopemapping", "authentik_providers_proxy.proxyprovider", + "authentik_providers_radius.radiusprovider", "authentik_providers_saml.samlpropertymapping", "authentik_providers_saml.samlprovider", "authentik_providers_scim.scimmapping", diff --git a/cmd/radius/server.go b/cmd/radius/server.go new file mode 100644 index 00000000000..60ce95f1a1c --- /dev/null +++ b/cmd/radius/server.go @@ -0,0 +1,78 @@ +package main + +import ( + "fmt" + "net/url" + "os" + + log "github.com/sirupsen/logrus" + + "goauthentik.io/internal/common" + "goauthentik.io/internal/debug" + "goauthentik.io/internal/outpost/ak" + "goauthentik.io/internal/outpost/radius" +) + +const helpMessage = `authentik radius + +Required environment variables: +- AUTHENTIK_HOST: URL to connect to (format "http://authentik.company") +- AUTHENTIK_TOKEN: Token to authenticate with +- AUTHENTIK_INSECURE: Skip SSL Certificate verification` + +func main() { + log.SetLevel(log.DebugLevel) + log.SetFormatter(&log.JSONFormatter{ + FieldMap: log.FieldMap{ + log.FieldKeyMsg: "event", + log.FieldKeyTime: "timestamp", + }, + DisableHTMLEscape: true, + }) + go debug.EnableDebugServer() + akURL, found := os.LookupEnv("AUTHENTIK_HOST") + if !found { + fmt.Println("env AUTHENTIK_HOST not set!") + fmt.Println(helpMessage) + os.Exit(1) + } + akToken, found := os.LookupEnv("AUTHENTIK_TOKEN") + if !found { + fmt.Println("env AUTHENTIK_TOKEN not set!") + fmt.Println(helpMessage) + os.Exit(1) + } + + akURLActual, err := url.Parse(akURL) + if err != nil { + fmt.Println(err) + fmt.Println(helpMessage) + os.Exit(1) + } + + ex := common.Init() + defer common.Defer() + go func() { + for { + <-ex + os.Exit(0) + } + }() + + ac := ak.NewAPIController(*akURLActual, akToken) + if ac == nil { + os.Exit(1) + } + defer ac.Shutdown() + + ac.Server = radius.NewServer(ac) + + err = ac.Start() + if err != nil { + log.WithError(err).Panic("Failed to run server") + } + + for { + <-ex + } +} diff --git a/go.mod b/go.mod index df001c53b5f..99dded6d763 100644 --- a/go.mod +++ b/go.mod @@ -31,6 +31,7 @@ require ( golang.org/x/sync v0.1.0 gopkg.in/boj/redistore.v1 v1.0.0-20160128113310-fc113767cd6b gopkg.in/yaml.v2 v2.4.0 + layeh.com/radius v0.0.0-20210819152912-ad72663a72ab ) require ( diff --git a/go.sum b/go.sum index 2b75f8b1731..53d69b1158d 100644 --- a/go.sum +++ b/go.sum @@ -394,6 +394,7 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220926161630-eccd6366d1be h1:fmw3UbQh+nxngCAHrDCCztao/kbYFnWjoqop8dHx05A= @@ -723,6 +724,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +layeh.com/radius v0.0.0-20210819152912-ad72663a72ab h1:05KeMI4s7jEdIfHb7QCjUr5X2BRA0gjLZLZEmmjGNc4= +layeh.com/radius v0.0.0-20210819152912-ad72663a72ab/go.mod h1:pFWM9De99EY9TPVyHIyA56QmoRViVck/x41WFkUlc9A= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/internal/config/config.go b/internal/config/config.go index 9d33a896b20..0b50729f983 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -32,6 +32,7 @@ func defaultConfig() *Config { HTTPS: "0.0.0.0:9443", LDAP: "0.0.0.0:3389", LDAPS: "0.0.0.0:6636", + Radius: "0.0.0.0:1812", Metrics: "0.0.0.0:9300", Debug: "0.0.0.0:9900", }, diff --git a/internal/config/struct.go b/internal/config/struct.go index df3cf3df52b..b237a425a33 100644 --- a/internal/config/struct.go +++ b/internal/config/struct.go @@ -42,6 +42,7 @@ type ListenConfig struct { HTTPS string `yaml:"listen_https" env:"AUTHENTIK_LISTEN__HTTPS"` LDAP string `yaml:"listen_ldap" env:"AUTHENTIK_LISTEN__LDAP"` LDAPS string `yaml:"listen_ldaps" env:"AUTHENTIK_LISTEN__LDAPS"` + Radius string `yaml:"listen_radius" env:"AUTHENTIK_LISTEN__RADIUS"` Metrics string `yaml:"listen_metrics" env:"AUTHENTIK_LISTEN__METRICS"` Debug string `yaml:"listen_debug" env:"AUTHENTIK_LISTEN__DEBUG"` } diff --git a/internal/outpost/radius/api.go b/internal/outpost/radius/api.go new file mode 100644 index 00000000000..5092a9cfbfc --- /dev/null +++ b/internal/outpost/radius/api.go @@ -0,0 +1,62 @@ +package radius + +import ( + "context" + "errors" + "net" + "sort" + "strings" + + log "github.com/sirupsen/logrus" +) + +func parseCIDRs(raw string) []*net.IPNet { + parts := strings.Split(raw, ",") + cidrs := make([]*net.IPNet, len(parts)) + for i, p := range parts { + _, ipnet, err := net.ParseCIDR(strings.TrimSpace(p)) + if err != nil { + log.WithError(err).WithField("cidr", p).Error("Failed to parse CIDR") + continue + } + cidrs[i] = ipnet + } + sort.Slice(cidrs, func(i, j int) bool { + _, bi := cidrs[i].Mask.Size() + _, bj := cidrs[j].Mask.Size() + return bi < bj + }) + return cidrs +} + +func (rs *RadiusServer) Refresh() error { + outposts, _, err := rs.ac.Client.OutpostsApi.OutpostsRadiusList(context.Background()).Execute() + if err != nil { + return err + } + if len(outposts.Results) < 1 { + return errors.New("no radius provider defined") + } + providers := make([]*ProviderInstance, len(outposts.Results)) + for idx, provider := range outposts.Results { + logger := log.WithField("logger", "authentik.outpost.radius").WithField("provider", provider.Name) + s := *provider.SharedSecret + c := *provider.ClientNetworks + providers[idx] = &ProviderInstance{ + SharedSecret: []byte(s), + ClientNetworks: parseCIDRs(c), + appSlug: provider.ApplicationSlug, + flowSlug: provider.AuthFlowSlug, + s: rs, + log: logger, + } + } + rs.providers = providers + rs.log.Info("Update providers") + return nil +} + +func (rs *RadiusServer) StartRadiusServer() error { + rs.log.WithField("listen", rs.s.Addr).Info("Starting radius server") + return rs.s.ListenAndServe() +} diff --git a/internal/outpost/radius/handle_access_request.go b/internal/outpost/radius/handle_access_request.go new file mode 100644 index 00000000000..73644d98043 --- /dev/null +++ b/internal/outpost/radius/handle_access_request.go @@ -0,0 +1,69 @@ +package radius + +import ( + "github.com/prometheus/client_golang/prometheus" + log "github.com/sirupsen/logrus" + "goauthentik.io/internal/outpost/flow" + "goauthentik.io/internal/outpost/radius/metrics" + "layeh.com/radius" + "layeh.com/radius/rfc2865" +) + +func (rs *RadiusServer) Handle_AccessRequest(w radius.ResponseWriter, r *RadiusRequest) { + username := rfc2865.UserName_GetString(r.Packet) + + fe := flow.NewFlowExecutor(r.Context(), r.pi.flowSlug, r.pi.s.ac.Client.GetConfig(), log.Fields{ + "username": username, + "client": r.RemoteAddr(), + "requestId": r.ID, + }) + fe.DelegateClientIP(r.RemoteAddr()) + fe.Params.Add("goauthentik.io/outpost/radius", "true") + + fe.Answers[flow.StageIdentification] = username + fe.Answers[flow.StagePassword] = rfc2865.UserPassword_GetString(r.Packet) + + passed, err := fe.Execute() + + if err != nil { + r.Log().WithField("username", username).WithError(err).Warning("failed to execute flow") + metrics.RequestsRejected.With(prometheus.Labels{ + "outpost_name": rs.ac.Outpost.Name, + "reason": "flow_error", + "app": r.pi.appSlug, + }).Inc() + _ = w.Write(r.Response(radius.CodeAccessReject)) + return + } + if !passed { + metrics.RequestsRejected.With(prometheus.Labels{ + "outpost_name": rs.ac.Outpost.Name, + "reason": "invalid_credentials", + "app": r.pi.appSlug, + }).Inc() + _ = w.Write(r.Response(radius.CodeAccessReject)) + return + } + access, err := fe.CheckApplicationAccess(r.pi.appSlug) + if err != nil { + r.Log().WithField("username", username).WithError(err).Warning("failed to check access") + _ = w.Write(r.Response(radius.CodeAccessReject)) + metrics.RequestsRejected.With(prometheus.Labels{ + "outpost_name": rs.ac.Outpost.Name, + "reason": "access_check_fail", + "app": r.pi.appSlug, + }).Inc() + return + } + if !access { + r.Log().WithField("username", username).Info("Access denied for user") + _ = w.Write(r.Response(radius.CodeAccessReject)) + metrics.RequestsRejected.With(prometheus.Labels{ + "outpost_name": rs.ac.Outpost.Name, + "reason": "access_denied", + "app": r.pi.appSlug, + }).Inc() + return + } + _ = w.Write(r.Response(radius.CodeAccessAccept)) +} diff --git a/internal/outpost/radius/handler.go b/internal/outpost/radius/handler.go new file mode 100644 index 00000000000..62deaf023b3 --- /dev/null +++ b/internal/outpost/radius/handler.go @@ -0,0 +1,79 @@ +package radius + +import ( + "crypto/sha512" + + "github.com/getsentry/sentry-go" + "github.com/google/uuid" + "github.com/prometheus/client_golang/prometheus" + log "github.com/sirupsen/logrus" + + "goauthentik.io/internal/outpost/radius/metrics" + "goauthentik.io/internal/utils" + "layeh.com/radius" +) + +type RadiusRequest struct { + *radius.Request + log *log.Entry + id string + span *sentry.Span + pi *ProviderInstance +} + +func (r *RadiusRequest) Log() *log.Entry { + return r.log +} + +func (r *RadiusRequest) RemoteAddr() string { + return utils.GetIP(r.Request.RemoteAddr) +} + +func (r *RadiusRequest) ID() string { + return r.id +} + +func (rs *RadiusServer) ServeRADIUS(w radius.ResponseWriter, r *radius.Request) { + span := sentry.StartSpan(r.Context(), "authentik.providers.radius.connect", + sentry.TransactionName("authentik.providers.radius.connect")) + rid := uuid.New().String() + span.SetTag("request_uid", rid) + rl := rs.log.WithField("code", r.Code.String()).WithField("request", rid) + selectedApp := "" + defer func() { + span.Finish() + metrics.Requests.With(prometheus.Labels{ + "outpost_name": rs.ac.Outpost.Name, + "app": selectedApp, + }).Observe(float64(span.EndTime.Sub(span.StartTime))) + }() + + nr := &RadiusRequest{ + Request: r, + log: rl, + id: rid, + span: span, + } + + rl.Info("Radius Request") + + // Lookup provider by shared secret + var pi *ProviderInstance + for _, p := range rs.providers { + if string(p.SharedSecret) == string(r.Secret) { + pi = p + selectedApp = pi.appSlug + break + } + } + if pi == nil { + nr.Log().WithField("hashed_secret", string(sha512.New().Sum(r.Secret))).Warning("No provider found") + _ = w.Write(r.Response(radius.CodeAccessReject)) + return + } + nr.pi = pi + + if nr.Code == radius.CodeAccessRequest { + rs.Handle_AccessRequest(w, nr) + } +} diff --git a/internal/outpost/radius/metrics/metrics.go b/internal/outpost/radius/metrics/metrics.go new file mode 100644 index 00000000000..ec96e0dc55a --- /dev/null +++ b/internal/outpost/radius/metrics/metrics.go @@ -0,0 +1,41 @@ +package metrics + +import ( + "net/http" + + log "github.com/sirupsen/logrus" + "goauthentik.io/internal/config" + "goauthentik.io/internal/utils/sentry" + + "github.com/gorilla/mux" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" + "github.com/prometheus/client_golang/prometheus/promhttp" +) + +var ( + Requests = promauto.NewHistogramVec(prometheus.HistogramOpts{ + Name: "authentik_outpost_radius_requests", + Help: "The total number of successful requests", + }, []string{"outpost_name", "app"}) + RequestsRejected = promauto.NewCounterVec(prometheus.CounterOpts{ + Name: "authentik_outpost_radius_requests_rejected", + Help: "Total number of rejected requests", + }, []string{"outpost_name", "reason", "app"}) +) + +func RunServer() { + m := mux.NewRouter() + l := log.WithField("logger", "authentik.outpost.metrics") + m.Use(sentry.SentryNoSampleMiddleware) + m.HandleFunc("/outpost.goauthentik.io/ping", func(rw http.ResponseWriter, r *http.Request) { + rw.WriteHeader(204) + }) + m.Path("/metrics").Handler(promhttp.Handler()) + listen := config.Get().Listen.Metrics + l.WithField("listen", listen).Info("Starting Metrics server") + err := http.ListenAndServe(listen, m) + if err != nil { + l.WithError(err).Warning("Failed to start metrics listener") + } +} diff --git a/internal/outpost/radius/radius.go b/internal/outpost/radius/radius.go new file mode 100644 index 00000000000..d78854e4aa0 --- /dev/null +++ b/internal/outpost/radius/radius.go @@ -0,0 +1,119 @@ +package radius + +import ( + "context" + "net" + "sort" + "sync" + + log "github.com/sirupsen/logrus" + "goauthentik.io/internal/config" + "goauthentik.io/internal/outpost/ak" + "goauthentik.io/internal/outpost/radius/metrics" + + "layeh.com/radius" +) + +type ProviderInstance struct { + ClientNetworks []*net.IPNet + SharedSecret []byte + + appSlug string + flowSlug string + s *RadiusServer + log *log.Entry +} + +type RadiusServer struct { + s radius.PacketServer + log *log.Entry + ac *ak.APIController + + providers []*ProviderInstance +} + +func NewServer(ac *ak.APIController) *RadiusServer { + rs := &RadiusServer{ + log: log.WithField("logger", "authentik.outpost.radius"), + ac: ac, + providers: []*ProviderInstance{}, + } + rs.s = radius.PacketServer{ + Handler: rs, + SecretSource: rs, + Addr: config.Get().Listen.Radius, + } + return rs +} + +type cpp struct { + c *net.IPNet + p *ProviderInstance +} + +func (rs *RadiusServer) RADIUSSecret(ctx context.Context, remoteAddr net.Addr) ([]byte, error) { + matchedPrefixes := []cpp{} + + host, _, err := net.SplitHostPort(remoteAddr.String()) + if err != nil { + rs.log.WithError(err).Warning("Failed to get remote IP") + return nil, err + } + ip := net.ParseIP(host) + + // Check all networks we have and remember all matching prefixes + for _, p := range rs.providers { + for _, cidr := range p.ClientNetworks { + if cidr.Contains(ip) { + matchedPrefixes = append(matchedPrefixes, cpp{ + c: cidr, + p: p, + }) + } + } + } + if len(matchedPrefixes) < 1 { + rs.log.WithField("ip", ip.String()).Warning("No matching prefixes found") + return []byte{}, nil + } + // Sort matched cidrs by prefix length + sort.Slice(matchedPrefixes, func(i, j int) bool { + _, bi := matchedPrefixes[i].c.Mask.Size() + _, bj := matchedPrefixes[j].c.Mask.Size() + return bi < bj + }) + candidate := matchedPrefixes[0] + rs.log.WithField("ip", ip.String()).WithField("cidr", candidate.c.String()).Debug("Matched CIDR") + return candidate.p.SharedSecret, nil +} + +func (rs *RadiusServer) Start() error { + wg := sync.WaitGroup{} + wg.Add(2) + go func() { + defer wg.Done() + metrics.RunServer() + }() + go func() { + defer wg.Done() + err := rs.StartRadiusServer() + if err != nil { + panic(err) + } + }() + wg.Wait() + return nil +} + +func (rs *RadiusServer) Stop() error { + ctx, cancel := context.WithCancel(context.Background()) + err := rs.s.Shutdown(ctx) + cancel() + return err +} + +func (rs *RadiusServer) TimerFlowCacheExpiry(context.Context) {} + +func (rs *RadiusServer) Type() string { + return "radius" +} diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index f30d7a8a2d7..46d7392b63b 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-01 18:40+0000\n" +"POT-Creation-Date: 2023-03-20 11:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: authentik/admin/api/tasks.py:124 +#: authentik/admin/api/tasks.py:125 #, python-format msgid "Successfully re-scheduled Task %(name)s!" msgstr "" @@ -69,137 +69,137 @@ msgstr "" msgid "Successfully imported %(count)d files." msgstr "" -#: authentik/core/api/providers.py:88 +#: authentik/core/api/providers.py:91 msgid "SAML Provider from Metadata" msgstr "" -#: authentik/core/api/providers.py:89 +#: authentik/core/api/providers.py:92 msgid "Create a SAML Provider by importing its Metadata." msgstr "" -#: authentik/core/api/users.py:115 +#: authentik/core/api/users.py:118 msgid "No leading or trailing slashes allowed." msgstr "" -#: authentik/core/api/users.py:118 +#: authentik/core/api/users.py:121 msgid "No empty segments in user path allowed." msgstr "" -#: authentik/core/models.py:76 +#: authentik/core/models.py:74 msgid "name" msgstr "" -#: authentik/core/models.py:78 +#: authentik/core/models.py:76 msgid "Users added to this group will be superusers." msgstr "" -#: authentik/core/models.py:152 +#: authentik/core/models.py:150 msgid "User's display name." msgstr "" -#: authentik/core/models.py:261 authentik/providers/oauth2/models.py:319 +#: authentik/core/models.py:243 authentik/providers/oauth2/models.py:282 msgid "User" msgstr "" -#: authentik/core/models.py:262 +#: authentik/core/models.py:244 msgid "Users" msgstr "" -#: authentik/core/models.py:273 +#: authentik/core/models.py:256 msgid "Flow used when authorizing this provider." msgstr "" -#: authentik/core/models.py:306 +#: authentik/core/models.py:289 msgid "Application's display Name." msgstr "" -#: authentik/core/models.py:307 +#: authentik/core/models.py:290 msgid "Internal application name, used in URLs." msgstr "" -#: authentik/core/models.py:319 +#: authentik/core/models.py:302 msgid "Open launch URL in a new browser tab or window." msgstr "" -#: authentik/core/models.py:383 +#: authentik/core/models.py:366 msgid "Application" msgstr "" -#: authentik/core/models.py:384 +#: authentik/core/models.py:367 msgid "Applications" msgstr "" -#: authentik/core/models.py:390 +#: authentik/core/models.py:373 msgid "Use the source-specific identifier" msgstr "" -#: authentik/core/models.py:392 +#: authentik/core/models.py:375 msgid "" "Link to a user with identical email address. Can have security implications " "when a source doesn't validate email addresses." msgstr "" -#: authentik/core/models.py:396 +#: authentik/core/models.py:379 msgid "" "Use the user's email address, but deny enrollment when the email address " "already exists." msgstr "" -#: authentik/core/models.py:399 +#: authentik/core/models.py:382 msgid "" "Link to a user with identical username. Can have security implications when " "a username is used with another source." msgstr "" -#: authentik/core/models.py:403 +#: authentik/core/models.py:386 msgid "" "Use the user's username, but deny enrollment when the username already " "exists." msgstr "" -#: authentik/core/models.py:410 +#: authentik/core/models.py:393 msgid "Source's display Name." msgstr "" -#: authentik/core/models.py:411 +#: authentik/core/models.py:394 msgid "Internal source name, used in URLs." msgstr "" -#: authentik/core/models.py:430 +#: authentik/core/models.py:413 msgid "Flow to use when authenticating existing users." msgstr "" -#: authentik/core/models.py:439 +#: authentik/core/models.py:422 msgid "Flow to use when enrolling new users." msgstr "" -#: authentik/core/models.py:447 +#: authentik/core/models.py:430 msgid "" "How the source determines if an existing user should be authenticated or a " "new user enrolled." msgstr "" -#: authentik/core/models.py:619 +#: authentik/core/models.py:602 msgid "Token" msgstr "" -#: authentik/core/models.py:620 +#: authentik/core/models.py:603 msgid "Tokens" msgstr "" -#: authentik/core/models.py:661 +#: authentik/core/models.py:644 msgid "Property Mapping" msgstr "" -#: authentik/core/models.py:662 +#: authentik/core/models.py:645 msgid "Property Mappings" msgstr "" -#: authentik/core/models.py:697 +#: authentik/core/models.py:680 msgid "Authenticated Session" msgstr "" -#: authentik/core/models.py:698 +#: authentik/core/models.py:681 msgid "Authenticated Sessions" msgstr "" @@ -229,15 +229,6 @@ msgstr "" msgid "Source is not configured for enrollment." msgstr "" -#: authentik/core/templates/if/admin.html:21 -#: authentik/core/templates/if/admin.html:27 -#: authentik/core/templates/if/flow.html:37 -#: authentik/core/templates/if/flow.html:43 -#: authentik/core/templates/if/user.html:21 -#: authentik/core/templates/if/user.html:27 -msgid "Loading..." -msgstr "" - #: authentik/core/templates/if/end_session.html:7 msgid "End session" msgstr "" @@ -287,10 +278,10 @@ msgstr "" msgid "Powered by authentik" msgstr "" -#: authentik/core/views/apps.py:48 -#: authentik/providers/oauth2/views/authorize.py:357 -#: authentik/providers/oauth2/views/device_init.py:68 -#: authentik/providers/saml/views/sso.py:68 +#: authentik/core/views/apps.py:50 +#: authentik/providers/oauth2/views/authorize.py:386 +#: authentik/providers/oauth2/views/device_init.py:70 +#: authentik/providers/saml/views/sso.py:70 #, python-format msgid "You're about to sign into %(application)s." msgstr "" @@ -415,7 +406,7 @@ msgstr "" msgid "Webhook Mappings" msgstr "" -#: authentik/events/monitored_tasks.py:196 +#: authentik/events/monitored_tasks.py:195 msgid "Task has not been run yet." msgstr "" @@ -445,21 +436,34 @@ msgid "Stage (%(type)s)" msgstr "" #: authentik/flows/api/flows_diagram.py:145 -#: authentik/flows/api/flows_diagram.py:180 +#: authentik/flows/api/flows_diagram.py:205 msgid "Policy denied" msgstr "" #: authentik/flows/api/flows_diagram.py:155 -#: authentik/flows/api/flows_diagram.py:179 -#: authentik/flows/api/flows_diagram.py:200 +#: authentik/flows/api/flows_diagram.py:167 +#: authentik/flows/api/flows_diagram.py:204 +#: authentik/flows/api/flows_diagram.py:226 msgid "End of the flow" msgstr "" -#: authentik/flows/api/flows_diagram.py:170 +#: authentik/flows/api/flows_diagram.py:168 +msgid "Requirement not fulfilled" +msgstr "" + +#: authentik/flows/api/flows_diagram.py:176 +msgid "Flow authentication requirement" +msgstr "" + +#: authentik/flows/api/flows_diagram.py:182 +msgid "Requirement fulfilled" +msgstr "" + +#: authentik/flows/api/flows_diagram.py:195 msgid "Pre-flow policies" msgstr "" -#: authentik/flows/api/flows_diagram.py:187 authentik/flows/models.py:193 +#: authentik/flows/api/flows_diagram.py:213 authentik/flows/models.py:193 msgid "Flow" msgstr "" @@ -508,17 +512,15 @@ msgstr "" msgid "Flows" msgstr "" -#: authentik/flows/models.py:216 -msgid "" -"Evaluate policies during the Flow planning process. Disable this for input-" -"based policies." +#: authentik/flows/models.py:215 +msgid "Evaluate policies during the Flow planning process." msgstr "" -#: authentik/flows/models.py:222 +#: authentik/flows/models.py:219 msgid "Evaluate policies when the Stage is present to the user." msgstr "" -#: authentik/flows/models.py:229 +#: authentik/flows/models.py:226 msgid "" "Configure how the flow executor should handle an invalid response to a " "challenge. RETRY returns the error message and a similar challenge to the " @@ -526,25 +528,25 @@ msgid "" "RESTART_WITH_CONTEXT restarts the flow while keeping the current context." msgstr "" -#: authentik/flows/models.py:252 +#: authentik/flows/models.py:249 msgid "Flow Stage Binding" msgstr "" -#: authentik/flows/models.py:253 +#: authentik/flows/models.py:250 msgid "Flow Stage Bindings" msgstr "" -#: authentik/flows/models.py:268 +#: authentik/flows/models.py:265 msgid "" "Flow used by an authenticated user to configure this Stage. If empty, user " "will not be able to configure this stage." msgstr "" -#: authentik/flows/models.py:299 +#: authentik/flows/models.py:296 msgid "Flow Token" msgstr "" -#: authentik/flows/models.py:300 +#: authentik/flows/models.py:297 msgid "Flow Tokens" msgstr "" @@ -562,65 +564,65 @@ msgstr "" msgid "Invalid kubeconfig" msgstr "" -#: authentik/outposts/models.py:121 +#: authentik/outposts/models.py:122 msgid "" "If enabled, use the local connection. Required Docker socket/Kubernetes " "Integration" msgstr "" -#: authentik/outposts/models.py:151 +#: authentik/outposts/models.py:152 msgid "Outpost Service-Connection" msgstr "" -#: authentik/outposts/models.py:152 +#: authentik/outposts/models.py:153 msgid "Outpost Service-Connections" msgstr "" -#: authentik/outposts/models.py:160 +#: authentik/outposts/models.py:161 msgid "" "Can be in the format of 'unix://' when connecting to a local docker " "daemon, or 'https://:2376' when connecting to a remote system." msgstr "" -#: authentik/outposts/models.py:172 +#: authentik/outposts/models.py:173 msgid "" "CA which the endpoint's Certificate is verified against. Can be left empty " "for no validation." msgstr "" -#: authentik/outposts/models.py:184 +#: authentik/outposts/models.py:185 msgid "" "Certificate/Key used for authentication. Can be left empty for no " "authentication." msgstr "" -#: authentik/outposts/models.py:202 +#: authentik/outposts/models.py:203 msgid "Docker Service-Connection" msgstr "" -#: authentik/outposts/models.py:203 +#: authentik/outposts/models.py:204 msgid "Docker Service-Connections" msgstr "" -#: authentik/outposts/models.py:211 +#: authentik/outposts/models.py:212 msgid "" "Paste your kubeconfig here. authentik will automatically use the currently " "selected context." msgstr "" -#: authentik/outposts/models.py:217 +#: authentik/outposts/models.py:218 msgid "Verify SSL Certificates of the Kubernetes API endpoint" msgstr "" -#: authentik/outposts/models.py:234 +#: authentik/outposts/models.py:235 msgid "Kubernetes Service-Connection" msgstr "" -#: authentik/outposts/models.py:235 +#: authentik/outposts/models.py:236 msgid "Kubernetes Service-Connections" msgstr "" -#: authentik/outposts/models.py:251 +#: authentik/outposts/models.py:252 msgid "" "Select Service-Connection authentik should use to manage this outpost. Leave " "empty if authentik should not handle the deployment." @@ -638,13 +640,17 @@ msgstr "" msgid "Dummy Policies" msgstr "" -#: authentik/policies/event_matcher/api.py:18 +#: authentik/policies/event_matcher/api.py:20 #: authentik/policies/event_matcher/models.py:37 msgid "" "Match events created by selected application. When left empty, all " "applications are matched." msgstr "" +#: authentik/policies/event_matcher/api.py:27 +msgid "At least one criteria must be set." +msgstr "" + #: authentik/policies/event_matcher/models.py:29 msgid "" "Match created events with this action type. When left empty, all action " @@ -848,264 +854,261 @@ msgstr "" msgid "LDAP Providers" msgstr "" -#: authentik/providers/oauth2/models.py:44 -msgid "Confidential" -msgstr "" - -#: authentik/providers/oauth2/models.py:45 -msgid "Public" -msgstr "" - -#: authentik/providers/oauth2/models.py:67 +#: authentik/providers/oauth2/id_token.py:27 msgid "Based on the Hashed User ID" msgstr "" -#: authentik/providers/oauth2/models.py:68 +#: authentik/providers/oauth2/id_token.py:28 msgid "Based on user ID" msgstr "" -#: authentik/providers/oauth2/models.py:69 +#: authentik/providers/oauth2/id_token.py:29 msgid "Based on the username" msgstr "" -#: authentik/providers/oauth2/models.py:72 +#: authentik/providers/oauth2/id_token.py:32 msgid "Based on the User's Email. This is recommended over the UPN method." msgstr "" -#: authentik/providers/oauth2/models.py:77 +#: authentik/providers/oauth2/id_token.py:37 msgid "" "Based on the User's UPN, only works if user has a 'upn' attribute set. Use " "this method only if you have different UPN and Mail domains." msgstr "" -#: authentik/providers/oauth2/models.py:86 +#: authentik/providers/oauth2/models.py:34 +msgid "Confidential" +msgstr "" + +#: authentik/providers/oauth2/models.py:35 +msgid "Public" +msgstr "" + +#: authentik/providers/oauth2/models.py:57 msgid "Same identifier is used for all providers" msgstr "" -#: authentik/providers/oauth2/models.py:88 +#: authentik/providers/oauth2/models.py:59 msgid "Each provider has a different issuer, based on the application slug." msgstr "" -#: authentik/providers/oauth2/models.py:95 +#: authentik/providers/oauth2/models.py:66 msgid "code (Authorization Code Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:96 +#: authentik/providers/oauth2/models.py:67 msgid "id_token (Implicit Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:97 +#: authentik/providers/oauth2/models.py:68 msgid "id_token token (Implicit Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:98 +#: authentik/providers/oauth2/models.py:69 msgid "code token (Hybrid Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:99 +#: authentik/providers/oauth2/models.py:70 msgid "code id_token (Hybrid Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:100 +#: authentik/providers/oauth2/models.py:71 msgid "code id_token token (Hybrid Flow)" msgstr "" -#: authentik/providers/oauth2/models.py:106 +#: authentik/providers/oauth2/models.py:77 msgid "HS256 (Symmetric Encryption)" msgstr "" -#: authentik/providers/oauth2/models.py:107 +#: authentik/providers/oauth2/models.py:78 msgid "RS256 (Asymmetric Encryption)" msgstr "" -#: authentik/providers/oauth2/models.py:108 +#: authentik/providers/oauth2/models.py:79 msgid "ES256 (Asymmetric Encryption)" msgstr "" -#: authentik/providers/oauth2/models.py:114 +#: authentik/providers/oauth2/models.py:85 msgid "Scope used by the client" msgstr "" -#: authentik/providers/oauth2/models.py:118 +#: authentik/providers/oauth2/models.py:89 msgid "" "Description shown to the user when consenting. If left empty, the user won't " "be informed." msgstr "" -#: authentik/providers/oauth2/models.py:137 +#: authentik/providers/oauth2/models.py:108 msgid "Scope Mapping" msgstr "" -#: authentik/providers/oauth2/models.py:138 +#: authentik/providers/oauth2/models.py:109 msgid "Scope Mappings" msgstr "" -#: authentik/providers/oauth2/models.py:148 +#: authentik/providers/oauth2/models.py:119 msgid "Client Type" msgstr "" -#: authentik/providers/oauth2/models.py:150 +#: authentik/providers/oauth2/models.py:121 msgid "" "Confidential clients are capable of maintaining the confidentiality of their " "credentials. Public clients are incapable" msgstr "" -#: authentik/providers/oauth2/models.py:157 +#: authentik/providers/oauth2/models.py:128 msgid "Client ID" msgstr "" -#: authentik/providers/oauth2/models.py:163 +#: authentik/providers/oauth2/models.py:134 msgid "Client Secret" msgstr "" -#: authentik/providers/oauth2/models.py:169 +#: authentik/providers/oauth2/models.py:140 msgid "Redirect URIs" msgstr "" -#: authentik/providers/oauth2/models.py:170 +#: authentik/providers/oauth2/models.py:141 msgid "Enter each URI on a new line." msgstr "" -#: authentik/providers/oauth2/models.py:175 +#: authentik/providers/oauth2/models.py:146 msgid "Include claims in id_token" msgstr "" -#: authentik/providers/oauth2/models.py:177 +#: authentik/providers/oauth2/models.py:148 msgid "" "Include User claims from scopes in the id_token, for applications that don't " "access the userinfo endpoint." msgstr "" -#: authentik/providers/oauth2/models.py:186 +#: authentik/providers/oauth2/models.py:157 msgid "" "Access codes not valid on or after current time + this value (Format: " "hours=1;minutes=2;seconds=3)." msgstr "" -#: authentik/providers/oauth2/models.py:194 +#: authentik/providers/oauth2/models.py:165 +#: authentik/providers/oauth2/models.py:173 msgid "" "Tokens not valid on or after current time + this value (Format: hours=1;" "minutes=2;seconds=3)." msgstr "" -#: authentik/providers/oauth2/models.py:203 +#: authentik/providers/oauth2/models.py:182 msgid "" "Configure what data should be used as unique User Identifier. For most " "cases, the default should be fine." msgstr "" -#: authentik/providers/oauth2/models.py:210 +#: authentik/providers/oauth2/models.py:189 msgid "Configure how the issuer field of the ID Token should be filled." msgstr "" -#: authentik/providers/oauth2/models.py:215 +#: authentik/providers/oauth2/models.py:194 msgid "Signing Key" msgstr "" -#: authentik/providers/oauth2/models.py:219 +#: authentik/providers/oauth2/models.py:198 msgid "" "Key used to sign the tokens. Only required when JWT Algorithm is set to " "RS256." msgstr "" -#: authentik/providers/oauth2/models.py:226 +#: authentik/providers/oauth2/models.py:205 msgid "" "Any JWT signed by the JWK of the selected source can be used to authenticate." msgstr "" -#: authentik/providers/oauth2/models.py:311 +#: authentik/providers/oauth2/models.py:274 msgid "OAuth2/OpenID Provider" msgstr "" -#: authentik/providers/oauth2/models.py:312 +#: authentik/providers/oauth2/models.py:275 msgid "OAuth2/OpenID Providers" msgstr "" -#: authentik/providers/oauth2/models.py:321 -#: authentik/providers/oauth2/models.py:540 +#: authentik/providers/oauth2/models.py:284 +#: authentik/providers/oauth2/models.py:416 msgid "Scopes" msgstr "" -#: authentik/providers/oauth2/models.py:339 +#: authentik/providers/oauth2/models.py:303 msgid "Code" msgstr "" -#: authentik/providers/oauth2/models.py:340 +#: authentik/providers/oauth2/models.py:304 msgid "Nonce" msgstr "" -#: authentik/providers/oauth2/models.py:341 -msgid "Is Authentication?" -msgstr "" - -#: authentik/providers/oauth2/models.py:342 +#: authentik/providers/oauth2/models.py:305 msgid "Code Challenge" msgstr "" -#: authentik/providers/oauth2/models.py:344 +#: authentik/providers/oauth2/models.py:307 msgid "Code Challenge Method" msgstr "" -#: authentik/providers/oauth2/models.py:364 +#: authentik/providers/oauth2/models.py:327 msgid "Authorization Code" msgstr "" -#: authentik/providers/oauth2/models.py:365 +#: authentik/providers/oauth2/models.py:328 msgid "Authorization Codes" msgstr "" -#: authentik/providers/oauth2/models.py:420 -msgid "Access Token" +#: authentik/providers/oauth2/models.py:370 +msgid "OAuth2 Access Token" msgstr "" -#: authentik/providers/oauth2/models.py:421 -msgid "Refresh Token" +#: authentik/providers/oauth2/models.py:371 +msgid "OAuth2 Access Tokens" msgstr "" -#: authentik/providers/oauth2/models.py:422 +#: authentik/providers/oauth2/models.py:381 msgid "ID Token" msgstr "" -#: authentik/providers/oauth2/models.py:431 -msgid "OAuth2 Token" +#: authentik/providers/oauth2/models.py:400 +msgid "OAuth2 Refresh Token" msgstr "" -#: authentik/providers/oauth2/models.py:432 -msgid "OAuth2 Tokens" +#: authentik/providers/oauth2/models.py:401 +msgid "OAuth2 Refresh Tokens" msgstr "" -#: authentik/providers/oauth2/models.py:552 +#: authentik/providers/oauth2/models.py:428 msgid "Device Token" msgstr "" -#: authentik/providers/oauth2/models.py:553 +#: authentik/providers/oauth2/models.py:429 msgid "Device Tokens" msgstr "" -#: authentik/providers/oauth2/views/authorize.py:410 +#: authentik/providers/oauth2/views/authorize.py:441 #: authentik/providers/saml/views/flows.py:87 #, python-format msgid "Redirecting to %(app)s..." msgstr "" -#: authentik/providers/oauth2/views/device_init.py:142 +#: authentik/providers/oauth2/views/device_init.py:151 msgid "Invalid code" msgstr "" -#: authentik/providers/oauth2/views/userinfo.py:46 -#: authentik/providers/oauth2/views/userinfo.py:47 +#: authentik/providers/oauth2/views/userinfo.py:51 +#: authentik/providers/oauth2/views/userinfo.py:52 msgid "GitHub Compatibility: Access your User Information" msgstr "" -#: authentik/providers/oauth2/views/userinfo.py:48 +#: authentik/providers/oauth2/views/userinfo.py:53 msgid "GitHub Compatibility: Access you Email addresses" msgstr "" -#: authentik/providers/oauth2/views/userinfo.py:49 +#: authentik/providers/oauth2/views/userinfo.py:54 msgid "GitHub Compatibility: Access your Groups" msgstr "" -#: authentik/providers/oauth2/views/userinfo.py:50 +#: authentik/providers/oauth2/views/userinfo.py:55 msgid "authentik API Access on behalf of your user" msgstr "" @@ -1179,11 +1182,30 @@ msgstr "" msgid "Proxy Providers" msgstr "" -#: authentik/providers/saml/api/providers.py:259 +#: authentik/providers/radius/models.py:18 +msgid "Shared secret between clients and server to hash packets." +msgstr "" + +#: authentik/providers/radius/models.py:24 +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more " +"specific CIDR will match before a looser one. Clients connecting from a non-" +"specified CIDR will be dropped." +msgstr "" + +#: authentik/providers/radius/models.py:49 +msgid "Radius Provider" +msgstr "" + +#: authentik/providers/radius/models.py:50 +msgid "Radius Providers" +msgstr "" + +#: authentik/providers/saml/api/providers.py:260 msgid "Invalid XML Syntax" msgstr "" -#: authentik/providers/saml/api/providers.py:269 +#: authentik/providers/saml/api/providers.py:270 #, python-format msgid "Failed to import Metadata: %(message)s" msgstr "" @@ -1310,6 +1332,58 @@ msgstr "" msgid "SAML Property Mappings" msgstr "" +#: authentik/providers/scim/models.py:20 +msgid "Base URL to SCIM requests, usually ends in /v2" +msgstr "" + +#: authentik/providers/scim/models.py:21 +msgid "Authentication token" +msgstr "" + +#: authentik/providers/scim/models.py:27 authentik/sources/ldap/models.py:80 +msgid "Property mappings used for group creation/updating." +msgstr "" + +#: authentik/providers/scim/models.py:69 +msgid "SCIM Provider" +msgstr "" + +#: authentik/providers/scim/models.py:70 +msgid "SCIM Providers" +msgstr "" + +#: authentik/providers/scim/models.py:90 +msgid "SCIM Mapping" +msgstr "" + +#: authentik/providers/scim/models.py:91 +msgid "SCIM Mappings" +msgstr "" + +#: authentik/providers/scim/tasks.py:50 +msgid "Starting full SCIM sync" +msgstr "" + +#: authentik/providers/scim/tasks.py:57 +#, python-format +msgid "Syncing page %(page)d of users" +msgstr "" + +#: authentik/providers/scim/tasks.py:61 +#, python-format +msgid "Syncing page %(page)d of groups" +msgstr "" + +#: authentik/providers/scim/tasks.py:90 +#, python-format +msgid "Failed to sync user due to remote error %(name)s: %(error)s" +msgstr "" + +#: authentik/providers/scim/tasks.py:122 +#, python-format +msgid "Failed to sync group due to remote error %(name)s: %(error)s" +msgstr "" + #: authentik/recovery/management/commands/create_admin_group.py:11 msgid "Create admin group if the default group gets deleted." msgstr "" @@ -1376,10 +1450,6 @@ msgstr "" msgid "Field which contains a unique Identifier." msgstr "" -#: authentik/sources/ldap/models.py:80 -msgid "Property mappings used for group creation/updating." -msgstr "" - #: authentik/sources/ldap/models.py:87 msgid "" "When a user changes their password, sync it back to LDAP. This can only be " @@ -1908,15 +1978,15 @@ msgstr "" msgid "Email Stages" msgstr "" -#: authentik/stages/email/stage.py:109 +#: authentik/stages/email/stage.py:112 msgid "Successfully verified Email." msgstr "" -#: authentik/stages/email/stage.py:117 authentik/stages/email/stage.py:139 +#: authentik/stages/email/stage.py:119 authentik/stages/email/stage.py:141 msgid "No pending user." msgstr "" -#: authentik/stages/email/stage.py:129 +#: authentik/stages/email/stage.py:131 msgid "Email sent." msgstr "" @@ -2112,78 +2182,100 @@ msgstr "" msgid "Password Stages" msgstr "" -#: authentik/stages/password/stage.py:160 +#: authentik/stages/password/stage.py:159 msgid "Invalid password" msgstr "" -#: authentik/stages/prompt/models.py:40 +#: authentik/stages/prompt/models.py:41 msgid "Text: Simple Text input" msgstr "" #: authentik/stages/prompt/models.py:43 +msgid "Text area: Multiline Text Input." +msgstr "" + +#: authentik/stages/prompt/models.py:46 msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "" -#: authentik/stages/prompt/models.py:48 +#: authentik/stages/prompt/models.py:50 +msgid "Text area (read-only): Multiline Text input, but cannot be edited." +msgstr "" + +#: authentik/stages/prompt/models.py:56 msgid "" "Username: Same as Text input, but checks for and prevents duplicate " "usernames." msgstr "" -#: authentik/stages/prompt/models.py:50 +#: authentik/stages/prompt/models.py:58 msgid "Email: Text field with Email type." msgstr "" -#: authentik/stages/prompt/models.py:54 +#: authentik/stages/prompt/models.py:62 msgid "" "Password: Masked input, password is validated against sources. Policies " "still have to be applied to this Stage. If two of these are used in the same " "stage, they are ensured to be identical." msgstr "" -#: authentik/stages/prompt/models.py:67 +#: authentik/stages/prompt/models.py:70 +msgid "Fixed choice field rendered as a group of radio buttons." +msgstr "" + +#: authentik/stages/prompt/models.py:72 +msgid "Fixed choice field rendered as a dropdown." +msgstr "" + +#: authentik/stages/prompt/models.py:79 msgid "" "File: File upload for arbitrary files. File content will be available in " "flow context as data-URI" msgstr "" -#: authentik/stages/prompt/models.py:72 +#: authentik/stages/prompt/models.py:84 msgid "Separator: Static Separator Line" msgstr "" -#: authentik/stages/prompt/models.py:73 +#: authentik/stages/prompt/models.py:85 msgid "Hidden: Hidden field, can be used to insert data into form." msgstr "" -#: authentik/stages/prompt/models.py:74 +#: authentik/stages/prompt/models.py:86 msgid "Static: Static value, displayed as-is." msgstr "" -#: authentik/stages/prompt/models.py:76 +#: authentik/stages/prompt/models.py:88 msgid "authentik: Selection of locales authentik supports" msgstr "" -#: authentik/stages/prompt/models.py:100 +#: authentik/stages/prompt/models.py:115 msgid "Name of the form field, also used to store the value" msgstr "" -#: authentik/stages/prompt/models.py:195 +#: authentik/stages/prompt/models.py:123 +msgid "" +"When creating a Radio Button Group or Dropdown, enable interpreting as " +"expression and return a list to return multiple choices." +msgstr "" + +#: authentik/stages/prompt/models.py:256 msgid "Prompt" msgstr "" -#: authentik/stages/prompt/models.py:196 +#: authentik/stages/prompt/models.py:257 msgid "Prompts" msgstr "" -#: authentik/stages/prompt/models.py:223 +#: authentik/stages/prompt/models.py:284 msgid "Prompt Stage" msgstr "" -#: authentik/stages/prompt/models.py:224 +#: authentik/stages/prompt/models.py:285 msgid "Prompt Stages" msgstr "" -#: authentik/stages/prompt/stage.py:96 +#: authentik/stages/prompt/stage.py:107 msgid "Passwords don't match." msgstr "" @@ -2205,19 +2297,30 @@ msgid "" "lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)" msgstr "" -#: authentik/stages/user_login/models.py:42 +#: authentik/stages/user_login/models.py:25 +msgid "Terminate all other sessions of the user logging in." +msgstr "" + +#: authentik/stages/user_login/models.py:31 +msgid "" +"Offset the session will be extended by when the user picks the remember me " +"option. Default of 0 means that the remember me option will not be shown. " +"(Format: hours=-1;minutes=-2;seconds=-3)" +msgstr "" + +#: authentik/stages/user_login/models.py:54 msgid "User Login Stage" msgstr "" -#: authentik/stages/user_login/models.py:43 +#: authentik/stages/user_login/models.py:55 msgid "User Login Stages" msgstr "" -#: authentik/stages/user_login/stage.py:27 +#: authentik/stages/user_login/stage.py:63 msgid "No Pending user to login." msgstr "" -#: authentik/stages/user_login/stage.py:58 +#: authentik/stages/user_login/stage.py:96 msgid "Successfully logged in!" msgstr "" diff --git a/poetry.lock b/poetry.lock index 4dc6366b64f..8aa889c1e89 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. [[package]] name = "aiohttp" @@ -2116,6 +2116,18 @@ files = [ {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, ] +[[package]] +name = "netaddr" +version = "0.8.0" +description = "A network address manipulation library for Python" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, + {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, +] + [[package]] name = "oauthlib" version = "3.2.2" @@ -2665,6 +2677,22 @@ cryptography = ">=38.0.0,<40" docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] test = ["flaky", "pretend", "pytest (>=3.0.1)"] +[[package]] +name = "pyrad" +version = "2.4" +description = "RADIUS tools" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pyrad-2.4-py3-none-any.whl", hash = "sha256:233de3aefa383875c5bddfdecfd4819d1b1fbac41aa43f6bebe4f81e63dca363"}, + {file = "pyrad-2.4.tar.gz", hash = "sha256:057de4b7e89d8da57ba782c1bde45c63ebee720ae2c0b0a69beaff15c47e30d9"}, +] + +[package.dependencies] +netaddr = "*" +six = "*" + [[package]] name = "pyrsistent" version = "0.19.2" @@ -4032,4 +4060,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "2ebb5d81a0b4c0883704dd8b74dc9bf7e8893cd7caadccaa0c47237e0394d54a" +content-hash = "61d20a7f2b76b6554b4c2095db152395c41d6c650b2f7f16662d5ed2f8cc0983" diff --git a/pyproject.toml b/pyproject.toml index 58b60014184..0994ccced0b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -169,15 +169,16 @@ black = "*" bump2version = "*" colorama = "*" coverage = { extras = ["toml"], version = "*" } +django-silk = "*" importlib-metadata = "*" pylint = "*" pylint-django = "*" +pyrad = "*" pytest = "*" pytest-django = "*" pytest-randomly = "*" requests-mock = "*" selenium = "*" -django-silk = "*" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/radius.Dockerfile b/radius.Dockerfile new file mode 100644 index 00000000000..95396c16859 --- /dev/null +++ b/radius.Dockerfile @@ -0,0 +1,26 @@ +# Stage 1: Build +FROM docker.io/golang:1.20.2-bullseye AS builder + +WORKDIR /go/src/goauthentik.io + +COPY . . +ENV CGO_ENABLED=0 +RUN go build -o /go/radius ./cmd/radius + +# Stage 2: Run +FROM gcr.io/distroless/static-debian11:debug + +LABEL org.opencontainers.image.url https://goauthentik.io +LABEL org.opencontainers.image.description goauthentik.io Radius outpost, see https://goauthentik.io for more info. +LABEL org.opencontainers.image.source https://github.com/goauthentik/authentik + +ARG GIT_BUILD_HASH +ENV GIT_BUILD_HASH=$GIT_BUILD_HASH + +COPY --from=builder /go/radius / + +HEALTHCHECK --interval=5s --retries=20 --start-period=3s CMD [ "wget", "--spider", "http://localhost:9300/outpost.goauthentik.io/ping" ] + +EXPOSE 1812/udp 9300 + +ENTRYPOINT ["/radius"] diff --git a/schema.yml b/schema.yml index 3e56bfbece4..339f010a493 100644 --- a/schema.yml +++ b/schema.yml @@ -9138,6 +9138,96 @@ paths: schema: $ref: '#/components/schemas/GenericError' description: '' + /outposts/radius/: + get: + operationId: outposts_radius_list + description: RadiusProvider Viewset + parameters: + - in: query + name: name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRadiusOutpostConfigList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /outposts/radius/{id}/: + get: + operationId: outposts_radius_retrieve + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - outposts + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusOutpostConfig' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' /outposts/service_connections/all/: get: operationId: outposts_service_connections_all_list @@ -15434,6 +15524,282 @@ paths: schema: $ref: '#/components/schemas/GenericError' description: '' + /providers/radius/: + get: + operationId: providers_radius_list + description: RadiusProvider Viewset + parameters: + - in: query + name: application__isnull + schema: + type: boolean + - in: query + name: authorization_flow__slug__iexact + schema: + type: string + - in: query + name: client_networks__iexact + schema: + type: string + - in: query + name: name__iexact + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRadiusProviderList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: providers_radius_create + description: RadiusProvider Viewset + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/radius/{id}/: + get: + operationId: providers_radius_retrieve + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: providers_radius_update + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProviderRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: providers_radius_partial_update + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRadiusProviderRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RadiusProvider' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: providers_radius_destroy + description: RadiusProvider Viewset + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /providers/radius/{id}/used_by/: + get: + operationId: providers_radius_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this Radius Provider. + required: true + tags: + - providers + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' /providers/saml/: get: operationId: providers_saml_list @@ -25901,6 +26267,7 @@ components: - authentik.providers.ldap - authentik.providers.oauth2 - authentik.providers.proxy + - authentik.providers.radius - authentik.providers.saml - authentik.providers.scim - authentik.recovery @@ -25949,6 +26316,7 @@ components: * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy + * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.recovery` - authentik Recovery @@ -28627,6 +28995,7 @@ components: * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy + * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.recovery` - authentik Recovery @@ -28735,6 +29104,7 @@ components: * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy + * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.recovery` - authentik Recovery @@ -31646,10 +32016,12 @@ components: enum: - proxy - ldap + - radius type: string description: |- * `proxy` - Proxy * `ldap` - Ldap + * `radius` - Radius PaginatedApplicationList: type: object properties: @@ -33505,6 +33877,76 @@ components: required: - pagination - results + PaginatedRadiusOutpostConfigList: + type: object + properties: + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index + results: + type: array + items: + $ref: '#/components/schemas/RadiusOutpostConfig' + required: + - pagination + - results + PaginatedRadiusProviderList: + type: object + properties: + pagination: + type: object + properties: + next: + type: number + previous: + type: number + count: + type: number + current: + type: number + total_pages: + type: number + start_index: + type: number + end_index: + type: number + required: + - next + - previous + - count + - current + - total_pages + - start_index + - end_index + results: + type: array + items: + $ref: '#/components/schemas/RadiusProvider' + required: + - pagination + - results PaginatedReputationList: type: object properties: @@ -35303,6 +35745,7 @@ components: * `authentik.providers.ldap` - authentik Providers.LDAP * `authentik.providers.oauth2` - authentik Providers.OAuth2 * `authentik.providers.proxy` - authentik Providers.Proxy + * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM * `authentik.recovery` - authentik Recovery @@ -36391,6 +36834,32 @@ components: minLength: 1 description: 'Tokens not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3).' + PatchedRadiusProviderRequest: + type: object + description: RadiusProvider Serializer + properties: + name: + type: string + minLength: 1 + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_networks: + type: string + minLength: 1 + description: List of CIDRs (comma-seperated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + minLength: 1 + description: Shared secret between clients and server to hash packets. PatchedReputationPolicyRequest: type: object description: Reputation Policy Serializer @@ -38113,6 +38582,123 @@ components: - authorization_flow - external_host - name + RadiusOutpostConfig: + type: object + description: RadiusProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + application_slug: + type: string + auth_flow_slug: + type: string + client_networks: + type: string + description: List of CIDRs (comma-seperated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + description: Shared secret between clients and server to hash packets. + required: + - application_slug + - auth_flow_slug + - name + - pk + RadiusProvider: + type: object + description: RadiusProvider Serializer + properties: + pk: + type: integer + readOnly: true + title: ID + name: + type: string + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + component: + type: string + description: Get object component so that we know how to edit the object + readOnly: true + assigned_application_slug: + type: string + description: Internal application name, used in URLs. + readOnly: true + assigned_application_name: + type: string + description: Application's display Name. + readOnly: true + verbose_name: + type: string + description: Return object's verbose_name + readOnly: true + verbose_name_plural: + type: string + description: Return object's plural verbose_name + readOnly: true + meta_model_name: + type: string + description: Return internal model name + readOnly: true + client_networks: + type: string + description: List of CIDRs (comma-seperated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + description: Shared secret between clients and server to hash packets. + required: + - assigned_application_name + - assigned_application_slug + - authorization_flow + - component + - meta_model_name + - name + - pk + - verbose_name + - verbose_name_plural + RadiusProviderRequest: + type: object + description: RadiusProvider Serializer + properties: + name: + type: string + minLength: 1 + authorization_flow: + type: string + format: uuid + description: Flow used when authorizing this provider. + property_mappings: + type: array + items: + type: string + format: uuid + client_networks: + type: string + minLength: 1 + description: List of CIDRs (comma-seperated) that clients can connect from. + A more specific CIDR will match before a looser one. Clients connecting + from a non-specified CIDR will be dropped. + shared_secret: + type: string + minLength: 1 + description: Shared secret between clients and server to hash packets. + required: + - authorization_flow + - name RedirectChallenge: type: object description: Challenge type to redirect the client diff --git a/tests/e2e/test_provider_radius.py b/tests/e2e/test_provider_radius.py new file mode 100644 index 00000000000..e711e5103ea --- /dev/null +++ b/tests/e2e/test_provider_radius.py @@ -0,0 +1,123 @@ +"""Radius e2e tests""" +from dataclasses import asdict +from sys import platform +from time import sleep +from unittest.case import skipUnless + +from docker.client import DockerClient, from_env +from docker.models.containers import Container +from pyrad.client import Client +from pyrad.dictionary import Dictionary +from pyrad.packet import AccessAccept, AccessReject, AccessRequest + +from authentik.blueprints.tests import apply_blueprint +from authentik.core.models import Application, User +from authentik.flows.models import Flow +from authentik.lib.generators import generate_id, generate_key +from authentik.outposts.models import Outpost, OutpostConfig, OutpostType +from authentik.providers.radius.models import RadiusProvider +from tests.e2e.utils import SeleniumTestCase, retry + + +@skipUnless(platform.startswith("linux"), "requires local docker") +class TestProviderRadius(SeleniumTestCase): + """Radius Outpost e2e tests""" + + radius_container: Container + + def setUp(self): + super().setUp() + self.shared_secret = generate_key() + + def tearDown(self) -> None: + super().tearDown() + self.output_container_logs(self.radius_container) + self.radius_container.kill() + + def start_radius(self, outpost: Outpost) -> Container: + """Start radius container based on outpost created""" + client: DockerClient = from_env() + container = client.containers.run( + image=self.get_container_image("ghcr.io/goauthentik/dev-radius"), + detach=True, + network_mode="host", + environment={ + "AUTHENTIK_HOST": self.live_server_url, + "AUTHENTIK_TOKEN": outpost.token.key, + }, + ) + return container + + def _prepare(self) -> User: + """prepare user, provider, app and container""" + radius: RadiusProvider = RadiusProvider.objects.create( + name=generate_id(), + authorization_flow=Flow.objects.get(slug="default-authentication-flow"), + shared_secret=self.shared_secret, + ) + # we need to create an application to actually access radius + Application.objects.create(name="radius", slug=generate_id(), provider=radius) + outpost: Outpost = Outpost.objects.create( + name=generate_id(), + type=OutpostType.RADIUS, + _config=asdict(OutpostConfig(log_level="debug")), + ) + outpost.providers.add(radius) + + self.radius_container = self.start_radius(outpost) + + # Wait until outpost healthcheck succeeds + healthcheck_retries = 0 + while healthcheck_retries < 50: + if len(outpost.state) > 0: + state = outpost.state[0] + if state.last_seen: + break + healthcheck_retries += 1 + sleep(0.5) + sleep(5) + return outpost + + @retry() + @apply_blueprint( + "default/flow-default-authentication-flow.yaml", + "default/flow-default-invalidation-flow.yaml", + ) + def test_radius_bind_success(self): + """Test simple bind""" + self._prepare() + srv = Client( + server="localhost", + secret=self.shared_secret.encode(), + dict=Dictionary("tests/radius-dictionary"), + ) + + req = srv.CreateAuthPacket( + code=AccessRequest, User_Name=self.user.username, NAS_Identifier="localhost" + ) + req["User-Password"] = req.PwCrypt(self.user.username) + + reply = srv.SendPacket(req) + self.assertEqual(reply.code, AccessAccept) + + @retry() + @apply_blueprint( + "default/flow-default-authentication-flow.yaml", + "default/flow-default-invalidation-flow.yaml", + ) + def test_radius_bind_fail(self): + """Test simple bind (failed)""" + self._prepare() + srv = Client( + server="localhost", + secret=self.shared_secret.encode(), + dict=Dictionary("tests/radius-dictionary"), + ) + + req = srv.CreateAuthPacket( + code=AccessRequest, User_Name=self.user.username, NAS_Identifier="localhost" + ) + req["User-Password"] = req.PwCrypt(self.user.username + "foo") + + reply = srv.SendPacket(req) + self.assertEqual(reply.code, AccessReject) diff --git a/tests/radius-dictionary b/tests/radius-dictionary new file mode 100644 index 00000000000..badb1e3abab --- /dev/null +++ b/tests/radius-dictionary @@ -0,0 +1,405 @@ +# +# Version $Id: dictionary,v 1.1.1.1 2002/10/11 12:25:39 wichert Exp $ +# +# This file contains dictionary translations for parsing +# requests and generating responses. All transactions are +# composed of Attribute/Value Pairs. The value of each attribute +# is specified as one of 4 data types. Valid data types are: +# +# string - 0-253 octets +# ipaddr - 4 octets in network byte order +# integer - 32 bit value in big endian order (high byte first) +# date - 32 bit value in big endian order - seconds since +# 00:00:00 GMT, Jan. 1, 1970 +# +# FreeRADIUS includes extended data types which are not defined +# in RFC 2865 or RFC 2866. These data types are: +# +# abinary - Ascend's binary filter format. +# octets - raw octets, printed and input as hex strings. +# e.g.: 0x123456789abcdef +# +# +# Enumerated values are stored in the user file with dictionary +# VALUE translations for easy administration. +# +# Example: +# +# ATTRIBUTE VALUE +# --------------- ----- +# Framed-Protocol = PPP +# 7 = 1 (integer encoding) +# + +# +# Include compatibility dictionary for older users file. Move this +# directive to the end of the file if you want to see the old names +# in the logfiles too. +# +#$INCLUDE dictionary.compat # compability issues +#$INCLUDE dictionary.acc +#$INCLUDE dictionary.ascend +#$INCLUDE dictionary.bay +#$INCLUDE dictionary.cisco +#$INCLUDE dictionary.livingston +#$INCLUDE dictionary.microsoft +#$INCLUDE dictionary.quintum +#$INCLUDE dictionary.redback +#$INCLUDE dictionary.shasta +#$INCLUDE dictionary.shiva +#$INCLUDE dictionary.tunnel +#$INCLUDE dictionary.usr +#$INCLUDE dictionary.versanet +#$INCLUDE dictionary.erx +#$INCLUDE dictionary.freeradius +#$INCLUDE dictionary.alcatel + +# +# Following are the proper new names. Use these. +# +ATTRIBUTE User-Name 1 string +ATTRIBUTE User-Password 2 string +ATTRIBUTE CHAP-Password 3 octets +ATTRIBUTE NAS-IP-Address 4 ipaddr +ATTRIBUTE NAS-Port 5 integer +ATTRIBUTE Service-Type 6 integer +ATTRIBUTE Framed-Protocol 7 integer +ATTRIBUTE Framed-IP-Address 8 ipaddr +ATTRIBUTE Framed-IP-Netmask 9 ipaddr +ATTRIBUTE Framed-Routing 10 integer +ATTRIBUTE Filter-Id 11 string +ATTRIBUTE Framed-MTU 12 integer +ATTRIBUTE Framed-Compression 13 integer +ATTRIBUTE Login-IP-Host 14 ipaddr +ATTRIBUTE Login-Service 15 integer +ATTRIBUTE Login-TCP-Port 16 integer +ATTRIBUTE Reply-Message 18 string +ATTRIBUTE Callback-Number 19 string +ATTRIBUTE Callback-Id 20 string +ATTRIBUTE Framed-Route 22 string +ATTRIBUTE Framed-IPX-Network 23 ipaddr +ATTRIBUTE State 24 octets +ATTRIBUTE Class 25 octets +ATTRIBUTE Vendor-Specific 26 octets +ATTRIBUTE Session-Timeout 27 integer +ATTRIBUTE Idle-Timeout 28 integer +ATTRIBUTE Termination-Action 29 integer +ATTRIBUTE Called-Station-Id 30 string +ATTRIBUTE Calling-Station-Id 31 string +ATTRIBUTE NAS-Identifier 32 string +ATTRIBUTE Proxy-State 33 octets +ATTRIBUTE Login-LAT-Service 34 string +ATTRIBUTE Login-LAT-Node 35 string +ATTRIBUTE Login-LAT-Group 36 octets +ATTRIBUTE Framed-AppleTalk-Link 37 integer +ATTRIBUTE Framed-AppleTalk-Network 38 integer +ATTRIBUTE Framed-AppleTalk-Zone 39 string + +ATTRIBUTE Acct-Status-Type 40 integer +ATTRIBUTE Acct-Delay-Time 41 integer +ATTRIBUTE Acct-Input-Octets 42 integer +ATTRIBUTE Acct-Output-Octets 43 integer +ATTRIBUTE Acct-Session-Id 44 string +ATTRIBUTE Acct-Authentic 45 integer +ATTRIBUTE Acct-Session-Time 46 integer +ATTRIBUTE Acct-Input-Packets 47 integer +ATTRIBUTE Acct-Output-Packets 48 integer +ATTRIBUTE Acct-Terminate-Cause 49 integer +ATTRIBUTE Acct-Multi-Session-Id 50 string +ATTRIBUTE Acct-Link-Count 51 integer +ATTRIBUTE Acct-Input-Gigawords 52 integer +ATTRIBUTE Acct-Output-Gigawords 53 integer +ATTRIBUTE Event-Timestamp 55 date + +ATTRIBUTE CHAP-Challenge 60 string +ATTRIBUTE NAS-Port-Type 61 integer +ATTRIBUTE Port-Limit 62 integer +ATTRIBUTE Login-LAT-Port 63 integer + +ATTRIBUTE Acct-Tunnel-Connection 68 string + +ATTRIBUTE ARAP-Password 70 string +ATTRIBUTE ARAP-Features 71 string +ATTRIBUTE ARAP-Zone-Access 72 integer +ATTRIBUTE ARAP-Security 73 integer +ATTRIBUTE ARAP-Security-Data 74 string +ATTRIBUTE Password-Retry 75 integer +ATTRIBUTE Prompt 76 integer +ATTRIBUTE Connect-Info 77 string +ATTRIBUTE Configuration-Token 78 string +ATTRIBUTE EAP-Message 79 string +ATTRIBUTE Message-Authenticator 80 octets +ATTRIBUTE ARAP-Challenge-Response 84 string # 10 octets +ATTRIBUTE Acct-Interim-Interval 85 integer +ATTRIBUTE NAS-Port-Id 87 string +ATTRIBUTE Framed-Pool 88 string +ATTRIBUTE NAS-IPv6-Address 95 octets # really IPv6 +ATTRIBUTE Framed-Interface-Id 96 octets # 8 octets +ATTRIBUTE Framed-IPv6-Prefix 97 ipv6prefix # stupid format +ATTRIBUTE Login-IPv6-Host 98 octets # really IPv6 +ATTRIBUTE Framed-IPv6-Route 99 string +ATTRIBUTE Framed-IPv6-Pool 100 string +ATTRIBUTE Delegated-IPv6-Prefix 123 ipv6prefix + + +ATTRIBUTE Digest-Response 206 string +ATTRIBUTE Digest-Attributes 207 octets # stupid format + +# +# Experimental Non Protocol Attributes used by Cistron-Radiusd +# + +# These attributes CAN go in the reply item list. +ATTRIBUTE Fall-Through 500 integer +ATTRIBUTE Exec-Program 502 string +ATTRIBUTE Exec-Program-Wait 503 string + +# These attributes CANNOT go in the reply item list. +ATTRIBUTE User-Category 1029 string +ATTRIBUTE Group-Name 1030 string +ATTRIBUTE Huntgroup-Name 1031 string +ATTRIBUTE Simultaneous-Use 1034 integer +ATTRIBUTE Strip-User-Name 1035 integer +ATTRIBUTE Hint 1040 string +ATTRIBUTE Pam-Auth 1041 string +ATTRIBUTE Login-Time 1042 string +ATTRIBUTE Stripped-User-Name 1043 string +ATTRIBUTE Current-Time 1044 string +ATTRIBUTE Realm 1045 string +ATTRIBUTE No-Such-Attribute 1046 string +ATTRIBUTE Packet-Type 1047 integer +ATTRIBUTE Proxy-To-Realm 1048 string +ATTRIBUTE Replicate-To-Realm 1049 string +ATTRIBUTE Acct-Session-Start-Time 1050 date +ATTRIBUTE Acct-Unique-Session-Id 1051 string +ATTRIBUTE Client-IP-Address 1052 ipaddr +ATTRIBUTE Ldap-UserDn 1053 string +ATTRIBUTE NS-MTA-MD5-Password 1054 string +ATTRIBUTE SQL-User-Name 1055 string +ATTRIBUTE LM-Password 1057 octets +ATTRIBUTE NT-Password 1058 octets +ATTRIBUTE SMB-Account-CTRL 1059 integer +ATTRIBUTE SMB-Account-CTRL-TEXT 1061 string +ATTRIBUTE User-Profile 1062 string +ATTRIBUTE Digest-Realm 1063 string +ATTRIBUTE Digest-Nonce 1064 string +ATTRIBUTE Digest-Method 1065 string +ATTRIBUTE Digest-URI 1066 string +ATTRIBUTE Digest-QOP 1067 string +ATTRIBUTE Digest-Algorithm 1068 string +ATTRIBUTE Digest-Body-Digest 1069 string +ATTRIBUTE Digest-CNonce 1070 string +ATTRIBUTE Digest-Nonce-Count 1071 string +ATTRIBUTE Digest-User-Name 1072 string +ATTRIBUTE Pool-Name 1073 string +ATTRIBUTE Ldap-Group 1074 string +ATTRIBUTE Module-Success-Message 1075 string +ATTRIBUTE Module-Failure-Message 1076 string +# X99-Fast 1077 integer + +# +# Non-Protocol Attributes +# These attributes are used internally by the server +# +ATTRIBUTE Auth-Type 1000 integer +ATTRIBUTE Menu 1001 string +ATTRIBUTE Termination-Menu 1002 string +ATTRIBUTE Prefix 1003 string +ATTRIBUTE Suffix 1004 string +ATTRIBUTE Group 1005 string +ATTRIBUTE Crypt-Password 1006 string +ATTRIBUTE Connect-Rate 1007 integer +ATTRIBUTE Add-Prefix 1008 string +ATTRIBUTE Add-Suffix 1009 string +ATTRIBUTE Expiration 1010 date +ATTRIBUTE Autz-Type 1011 integer + +# +# Integer Translations +# + +# User Types + +VALUE Service-Type Login-User 1 +VALUE Service-Type Framed-User 2 +VALUE Service-Type Callback-Login-User 3 +VALUE Service-Type Callback-Framed-User 4 +VALUE Service-Type Outbound-User 5 +VALUE Service-Type Administrative-User 6 +VALUE Service-Type NAS-Prompt-User 7 +VALUE Service-Type Authenticate-Only 8 +VALUE Service-Type Callback-NAS-Prompt 9 +VALUE Service-Type Call-Check 10 +VALUE Service-Type Callback-Administrative 11 + +# Framed Protocols + +VALUE Framed-Protocol PPP 1 +VALUE Framed-Protocol SLIP 2 +VALUE Framed-Protocol ARAP 3 +VALUE Framed-Protocol Gandalf-SLML 4 +VALUE Framed-Protocol Xylogics-IPX-SLIP 5 +VALUE Framed-Protocol X.75-Synchronous 6 + +# Framed Routing Values + +VALUE Framed-Routing None 0 +VALUE Framed-Routing Broadcast 1 +VALUE Framed-Routing Listen 2 +VALUE Framed-Routing Broadcast-Listen 3 + +# Framed Compression Types + +VALUE Framed-Compression None 0 +VALUE Framed-Compression Van-Jacobson-TCP-IP 1 +VALUE Framed-Compression IPX-Header-Compression 2 +VALUE Framed-Compression Stac-LZS 3 + +# Login Services + +VALUE Login-Service Telnet 0 +VALUE Login-Service Rlogin 1 +VALUE Login-Service TCP-Clear 2 +VALUE Login-Service PortMaster 3 +VALUE Login-Service LAT 4 +VALUE Login-Service X25-PAD 5 +VALUE Login-Service X25-T3POS 6 +VALUE Login-Service TCP-Clear-Quiet 8 + +# Login-TCP-Port (see /etc/services for more examples) + +VALUE Login-TCP-Port Telnet 23 +VALUE Login-TCP-Port Rlogin 513 +VALUE Login-TCP-Port Rsh 514 + +# Status Types + +VALUE Acct-Status-Type Start 1 +VALUE Acct-Status-Type Stop 2 +VALUE Acct-Status-Type Interim-Update 3 +VALUE Acct-Status-Type Alive 3 +VALUE Acct-Status-Type Accounting-On 7 +VALUE Acct-Status-Type Accounting-Off 8 +# RFC 2867 Additional Status-Type Values +VALUE Acct-Status-Type Tunnel-Start 9 +VALUE Acct-Status-Type Tunnel-Stop 10 +VALUE Acct-Status-Type Tunnel-Reject 11 +VALUE Acct-Status-Type Tunnel-Link-Start 12 +VALUE Acct-Status-Type Tunnel-Link-Stop 13 +VALUE Acct-Status-Type Tunnel-Link-Reject 14 + +# Authentication Types + +VALUE Acct-Authentic RADIUS 1 +VALUE Acct-Authentic Local 2 + +# Termination Options + +VALUE Termination-Action Default 0 +VALUE Termination-Action RADIUS-Request 1 + +# NAS Port Types + +VALUE NAS-Port-Type Async 0 +VALUE NAS-Port-Type Sync 1 +VALUE NAS-Port-Type ISDN 2 +VALUE NAS-Port-Type ISDN-V120 3 +VALUE NAS-Port-Type ISDN-V110 4 +VALUE NAS-Port-Type Virtual 5 +VALUE NAS-Port-Type PIAFS 6 +VALUE NAS-Port-Type HDLC-Clear-Channel 7 +VALUE NAS-Port-Type X.25 8 +VALUE NAS-Port-Type X.75 9 +VALUE NAS-Port-Type G.3-Fax 10 +VALUE NAS-Port-Type SDSL 11 +VALUE NAS-Port-Type ADSL-CAP 12 +VALUE NAS-Port-Type ADSL-DMT 13 +VALUE NAS-Port-Type IDSL 14 +VALUE NAS-Port-Type Ethernet 15 +VALUE NAS-Port-Type xDSL 16 +VALUE NAS-Port-Type Cable 17 +VALUE NAS-Port-Type Wireless-Other 18 +VALUE NAS-Port-Type Wireless-802.11 19 + +# Acct Terminate Causes, available in 3.3.2 and later + +VALUE Acct-Terminate-Cause User-Request 1 +VALUE Acct-Terminate-Cause Lost-Carrier 2 +VALUE Acct-Terminate-Cause Lost-Service 3 +VALUE Acct-Terminate-Cause Idle-Timeout 4 +VALUE Acct-Terminate-Cause Session-Timeout 5 +VALUE Acct-Terminate-Cause Admin-Reset 6 +VALUE Acct-Terminate-Cause Admin-Reboot 7 +VALUE Acct-Terminate-Cause Port-Error 8 +VALUE Acct-Terminate-Cause NAS-Error 9 +VALUE Acct-Terminate-Cause NAS-Request 10 +VALUE Acct-Terminate-Cause NAS-Reboot 11 +VALUE Acct-Terminate-Cause Port-Unneeded 12 +VALUE Acct-Terminate-Cause Port-Preempted 13 +VALUE Acct-Terminate-Cause Port-Suspended 14 +VALUE Acct-Terminate-Cause Service-Unavailable 15 +VALUE Acct-Terminate-Cause Callback 16 +VALUE Acct-Terminate-Cause User-Error 17 +VALUE Acct-Terminate-Cause Host-Request 18 + +#VALUE Tunnel-Type L2TP 3 +#VALUE Tunnel-Medium-Type IP 1 + +VALUE Prompt No-Echo 0 +VALUE Prompt Echo 1 + +# +# Non-Protocol Integer Translations +# + +VALUE Auth-Type Local 0 +VALUE Auth-Type System 1 +VALUE Auth-Type SecurID 2 +VALUE Auth-Type Crypt-Local 3 +VALUE Auth-Type Reject 4 +VALUE Auth-Type ActivCard 5 +VALUE Auth-Type EAP 6 +VALUE Auth-Type ARAP 7 + +# +# Cistron extensions +# +VALUE Auth-Type Ldap 252 +VALUE Auth-Type Pam 253 +VALUE Auth-Type Accept 254 + +VALUE Auth-Type PAP 1024 +VALUE Auth-Type CHAP 1025 +VALUE Auth-Type LDAP 1026 +VALUE Auth-Type PAM 1027 +VALUE Auth-Type MS-CHAP 1028 +VALUE Auth-Type Kerberos 1029 +VALUE Auth-Type CRAM 1030 +VALUE Auth-Type NS-MTA-MD5 1031 +VALUE Auth-Type CRAM 1032 +VALUE Auth-Type SMB 1033 + +# +# Authorization type, too. +# +VALUE Autz-Type Local 0 + +# +# Experimental Non-Protocol Integer Translations for Cistron-Radiusd +# +VALUE Fall-Through No 0 +VALUE Fall-Through Yes 1 + +VALUE Packet-Type Access-Request 1 +VALUE Packet-Type Access-Accept 2 +VALUE Packet-Type Access-Reject 3 +VALUE Packet-Type Accounting-Request 4 +VALUE Packet-Type Accounting-Response 5 +VALUE Packet-Type Accounting-Status 6 +VALUE Packet-Type Password-Request 7 +VALUE Packet-Type Password-Accept 8 +VALUE Packet-Type Password-Reject 9 +VALUE Packet-Type Accounting-Message 10 +VALUE Packet-Type Access-Challenge 11 +VALUE Packet-Type Status-Server 12 +VALUE Packet-Type Status-Client 13 diff --git a/web/src/admin/outposts/OutpostForm.ts b/web/src/admin/outposts/OutpostForm.ts index dfe6d73c9b0..4443c692ec4 100644 --- a/web/src/admin/outposts/OutpostForm.ts +++ b/web/src/admin/outposts/OutpostForm.ts @@ -104,6 +104,27 @@ export class OutpostForm extends ModelForm { `; }); }); + case OutpostTypeEnum.Radius: + return new ProvidersApi(DEFAULT_CONFIG) + .providersRadiusList({ + ordering: "name", + applicationIsnull: false, + }) + .then((providers) => { + return providers.results.map((provider) => { + const selected = Array.from(this.instance?.providers || []).some( + (sp) => { + return sp == provider.pk; + }, + ); + return html``; + }); + }); case OutpostTypeEnum.UnknownDefaultOpenApi: return Promise.resolve([ html` `, diff --git a/web/src/admin/outposts/OutpostListPage.ts b/web/src/admin/outposts/OutpostListPage.ts index cad8c195731..b273dc414b8 100644 --- a/web/src/admin/outposts/OutpostListPage.ts +++ b/web/src/admin/outposts/OutpostListPage.ts @@ -33,6 +33,8 @@ export function TypeToLabel(type?: OutpostTypeEnum): string { return t`Proxy`; case OutpostTypeEnum.Ldap: return t`LDAP`; + case OutpostTypeEnum.Radius: + return t`Radius`; case OutpostTypeEnum.UnknownDefaultOpenApi: return t`Unknown type`; } diff --git a/web/src/admin/providers/ProviderListPage.ts b/web/src/admin/providers/ProviderListPage.ts index be792f08348..f62495125cd 100644 --- a/web/src/admin/providers/ProviderListPage.ts +++ b/web/src/admin/providers/ProviderListPage.ts @@ -2,6 +2,7 @@ import "@goauthentik/admin/providers/ProviderWizard"; import "@goauthentik/admin/providers/ldap/LDAPProviderForm"; import "@goauthentik/admin/providers/oauth2/OAuth2ProviderForm"; import "@goauthentik/admin/providers/proxy/ProxyProviderForm"; +import "@goauthentik/admin/providers/radius/RadiusProviderForm"; import "@goauthentik/admin/providers/saml/SAMLProviderForm"; import "@goauthentik/admin/providers/scim/SCIMProviderForm"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; diff --git a/web/src/admin/providers/ldap/LDAPProviderForm.ts b/web/src/admin/providers/ldap/LDAPProviderForm.ts index 93fe0afcca9..4806481d30b 100644 --- a/web/src/admin/providers/ldap/LDAPProviderForm.ts +++ b/web/src/admin/providers/ldap/LDAPProviderForm.ts @@ -105,9 +105,7 @@ export class LDAPProviderFormPage extends ModelForm { }} > -

- ${t`Flow used for users to authenticate. Currently only identification and password stages are supported.`} -

+

${t`Flow used for users to authenticate.`}

{ + loadInstance(pk: number): Promise { + return new ProvidersApi(DEFAULT_CONFIG).providersRadiusRetrieve({ + id: pk, + }); + } + + getSuccessMessage(): string { + if (this.instance) { + return t`Successfully updated provider.`; + } else { + return t`Successfully created provider.`; + } + } + + send = (data: RadiusProvider): Promise => { + if (this.instance) { + return new ProvidersApi(DEFAULT_CONFIG).providersRadiusUpdate({ + id: this.instance.pk || 0, + radiusProviderRequest: data, + }); + } else { + return new ProvidersApi(DEFAULT_CONFIG).providersRadiusCreate({ + radiusProviderRequest: data, + }); + } + }; + + renderForm(): TemplateResult { + return html`
+ + + + + => { + const args: FlowsInstancesListRequest = { + ordering: "slug", + designation: FlowsInstancesListDesignationEnum.Authentication, + }; + if (query !== undefined) { + args.search = query; + } + const flows = await new FlowsApi(DEFAULT_CONFIG).flowsInstancesList(args); + return flows.results; + }} + .renderElement=${(flow: Flow): string => { + return RenderFlowOption(flow); + }} + .renderDescription=${(flow: Flow): TemplateResult => { + return html`${flow.slug}`; + }} + .value=${(flow: Flow | undefined): string | undefined => { + return flow?.pk; + }} + .selected=${(flow: Flow): boolean => { + let selected = flow.pk === rootInterface()?.tenant?.flowAuthentication; + if (this.instance?.authorizationFlow === flow.pk) { + selected = true; + } + return selected; + }} + > + +

${t`Flow used for users to authenticate.`}

+
+ + + + + + ${t`Protocol settings`} +
+ + +

+ ${t`List of CIDRs (comma-seperated) that clients can connect from. A more specific + CIDR will match before a looser one. Clients connecting from a non-specified CIDR + will be dropped.`} +

+
+
+
+
`; + } +} diff --git a/web/src/admin/providers/radius/RadiusProviderViewPage.ts b/web/src/admin/providers/radius/RadiusProviderViewPage.ts new file mode 100644 index 00000000000..67184657b54 --- /dev/null +++ b/web/src/admin/providers/radius/RadiusProviderViewPage.ts @@ -0,0 +1,162 @@ +import "@goauthentik/admin/providers/RelatedApplicationButton"; +import "@goauthentik/admin/providers/radius/RadiusProviderForm"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { EVENT_REFRESH } from "@goauthentik/common/constants"; +import { AKElement } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/CodeMirror"; +import "@goauthentik/elements/Tabs"; +import "@goauthentik/elements/buttons/ModalButton"; +import "@goauthentik/elements/buttons/SpinnerButton"; +import "@goauthentik/elements/events/ObjectChangelog"; + +import { t } from "@lingui/macro"; + +import { CSSResult, TemplateResult, customElement, html, property } from "lit-element"; + +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFCard from "@patternfly/patternfly/components/Card/card.css"; +import PFContent from "@patternfly/patternfly/components/Content/content.css"; +import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; +import PFPage from "@patternfly/patternfly/components/Page/page.css"; +import PFGallery from "@patternfly/patternfly/layouts/Gallery/gallery.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; +import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css"; +import PFFlex from "@patternfly/patternfly/utilities/Flex/flex.css"; +import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css"; + +import { ProvidersApi, RadiusProvider } from "@goauthentik/api"; + +@customElement("ak-provider-radius-view") +export class RadiusProviderViewPage extends AKElement { + @property() + set args(value: { [key: string]: number }) { + this.providerID = value.id; + } + + @property({ type: Number }) + set providerID(value: number) { + new ProvidersApi(DEFAULT_CONFIG) + .providersRadiusRetrieve({ + id: value, + }) + .then((prov) => (this.provider = prov)); + } + + @property({ attribute: false }) + provider?: RadiusProvider; + + static get styles(): CSSResult[] { + return [ + PFBase, + PFButton, + PFPage, + PFFlex, + PFDisplay, + PFGallery, + PFContent, + PFCard, + PFDescriptionList, + PFSizing, + ]; + } + + constructor() { + super(); + this.addEventListener(EVENT_REFRESH, () => { + if (!this.provider?.pk) return; + this.providerID = this.provider?.pk; + }); + } + + render(): TemplateResult { + if (!this.provider) { + return html``; + } + return html` +
+
+
+
+
+
+
+
+ ${t`Name`} +
+
+
+ ${this.provider.name} +
+
+
+
+
+ ${t`Assigned to application`} +
+
+
+ +
+
+
+
+
+ ${t`Client Networks`} +
+
+
+ ${this.provider.clientNetworks} +
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+
+
`; + } +} diff --git a/web/src/locales/de.po b/web/src/locales/de.po index 59626e762d6..f41e400ca52 100644 --- a/web/src/locales/de.po +++ b/web/src/locales/de.po @@ -36,6 +36,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/Identität/Benutzer/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -53,6 +57,8 @@ msgstr "(Format: hours=-1;minutes=-2;seconds=-3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -196,26 +202,32 @@ msgid "API request failed" msgstr "API Anfrage fehlgeschlagen" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "Über Anwendungen" +#~ msgid "About applications" +#~ msgstr "Über Anwendungen" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Zugangsschlüssel" -#~ msgid "Access code validity" -#~ msgstr "Gültigkeit des Zugangsschlüssels" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Gültigkeit des Zugangsschlüssels" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "Zugangstoken-URL" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Zugangstokengültigkeit" +#~ msgid "Access token validity" +#~ msgstr "Zugangstokengültigkeit" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -488,6 +500,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -647,6 +660,7 @@ msgstr "SAML Assertion ist leer" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Zugewiesen an Anwendung" @@ -662,6 +676,10 @@ msgstr "Zugewiesen zu {0} Objekt(en)." msgid "Attempted to log in as {0}" msgstr "Loginversuch als {0}" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "Der für die SAML Assertion verwendete Attributname. Kann eine URN OID, eine Schemareferenz oder eine beliebige andere Zeichenfolge sein. Wenn diese Eigenschaftszuordnung für die NameID-Eigenschaft verwendet wird, wird dieses Feld verworfen." @@ -703,6 +721,7 @@ msgstr "Authentifizierungsart" msgid "Authentication URL" msgstr "URL zur Authentifizierung" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -941,8 +960,8 @@ msgid "Branding shown in page title and several other places." msgstr "Das Branding wird im Seitentitel und an mehreren anderen Stellen angezeigt." #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Browser" +#~ msgid "Browser" +#~ msgstr "Browser" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1094,7 +1113,9 @@ msgstr "Ändern Sie Ihr Passwort" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1254,12 +1275,18 @@ msgstr "Client-ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "Client-IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Client Geheimnis" @@ -1328,16 +1355,21 @@ msgstr "Konfiguration Stufen" #~ msgid "Configure WebAuthn" #~ msgstr "Konfiguriere WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Konfiguriere, wie lange Zugangsschlüssel gültig sind." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Konfiguriere, wie lange Zugangsschlüssel gültig sind." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Konfiguriere, wie lange Zugangstoken gültig sind." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Konfigurieren Sie, wie lange Aktualisierungstoken und ihre id_tokens gültig sind." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Konfigurieren Sie, wie lange Aktualisierungstoken und ihre id_tokens gültig sind." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1748,6 +1780,10 @@ msgstr "" msgid "Create {0}" msgstr "{0} erstellen" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Erstellt von" @@ -1965,8 +2001,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Legt fest, wie lange eine Sitzung dauert. Der Standardwert von 0 Sekunden bedeutet, dass die Sitzungen dauern, bis der Browser geschlossen wird." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Gerät" +#~ msgid "Device" +#~ msgstr "Gerät" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1992,6 +2028,10 @@ msgstr "Gerät(e)" msgid "Diagram" msgstr "Diagramm" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2088,6 +2128,10 @@ msgstr "Privaten Schlüssel herunterladen" msgid "Download signing certificate" msgstr "Signierzertifikat herunterladen" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2162,7 +2206,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2334,22 +2380,34 @@ msgstr "Fehler: nicht unterstützte Quelleinstellungen: {0}" #~ msgstr "Fehler: Nicht unterstützte Stufeneinstellungen: {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Planmäßig auswerten" +#~ msgid "Evaluate on plan" +#~ msgstr "Planmäßig auswerten" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Werten Sie Richtlinien aus, bevor die Phase dem Benutzer angezeigt wird." #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Bewerten Sie Richtlinien während des Flow-Planungsprozesses. Deaktivieren Sie dies für eingabebasierte Richtlinien. Sollte zusammen mit \"Richtlinien neu bewerten\" verwendet werden, da Richtlinien **nicht** bewertet werden, wenn beide Optionen deaktiviert sind." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Bewerten Sie Richtlinien während des Flow-Planungsprozesses. Deaktivieren Sie dies für eingabebasierte Richtlinien. Sollte zusammen mit \"Richtlinien neu bewerten\" verwendet werden, da Richtlinien **nicht** bewertet werden, wenn beide Optionen deaktiviert sind." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Ereignisprotokoll" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Ereignisinfo" @@ -2363,7 +2421,7 @@ msgstr "Ereignisinfo" msgid "Event retention" msgstr "Ereignisspeicherung" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Ereignis {0}" @@ -2390,6 +2448,10 @@ msgstr "" msgid "Exception" msgstr "Ausnahme" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "Ausführen" @@ -2424,6 +2486,7 @@ msgid "Expires" msgstr "Läuft ab" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Läuft ab am" @@ -2432,6 +2495,7 @@ msgid "Expires?" msgstr "Läuft ab?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2473,6 +2537,7 @@ msgstr "Ablauf exportieren" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "Ausdruck" @@ -2484,6 +2549,7 @@ msgstr "Ausdruck" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Ausdruck mit Python." @@ -2513,6 +2579,10 @@ msgstr "" msgid "External host" msgstr "Externer Host" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2531,8 +2601,8 @@ msgid "Failed login" msgstr "Fehlgeschlagene Anmeldung" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Fehlgeschlagene Quellen" +#~ msgid "Failed sources" +#~ msgstr "Fehlgeschlagene Quellen" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2671,8 +2741,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Ablauf der von einem authentifizierten Benutzer verwendet wird, um diese Phase zu konfigurieren. Wenn leer, kann der Benutzer diese Phase nicht konfigurieren." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Ablauf zur Authentifizierung von Benutzern. Aktuell werden nur Identifizierungs- und Passwortphasen unterstützt." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Ablauf zur Authentifizierung von Benutzern. Aktuell werden nur Identifizierungs- und Passwortphasen unterstützt." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2832,6 +2907,7 @@ msgstr "Zurück zur vorherigen Seite" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2841,6 +2917,7 @@ msgstr "Gruppe" msgid "Group Info" msgstr "Gruppeninformationen" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Gruppeneigenschaftszuordnungen" @@ -2873,7 +2950,6 @@ msgstr "Gruppe(n)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Gruppen" @@ -2915,13 +2991,17 @@ msgstr "" msgid "Health and Version" msgstr "Zustand und Version" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Intakte Outposts" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Gesunde Quellen" +#~ msgid "Healthy sources" +#~ msgstr "Gesunde Quellen" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2946,6 +3026,8 @@ msgstr "Interne Konten ausblenden" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -3011,8 +3093,10 @@ msgstr "Symbol im Browsertab." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Kennung" @@ -3066,6 +3150,10 @@ msgstr "Wenn keine expliziten Umleitungs-URIs angegeben sind, wird die erste erf #~ "Passwort des Benutzers ungültig setzen und Hinweis anzeigen, wenn Passwort zuletzt\n" #~ "vor mehr als x Tagen geändert wurde." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3087,12 +3175,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "Wenn dieses Flag gesetzt ist, springt diese Stufe zur nächsten Stufe, wenn keine Einladung gegeben wird. Standardmäßig bricht diese Phase den Flow ab, wenn keine Einladung gegeben wird." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "Wenn dies ausgewählt ist, läuft das Token ab. Nach Ablauf wird der Token rotiert." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "Wenn Sie einen impliziten, clientseitigen Ablauf verwenden (bei dem der Token-Endpunkt nicht verwendet wird), möchten Sie diese Zeit wahrscheinlich erhöhen." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "Wenn Sie einen impliziten, clientseitigen Ablauf verwenden (bei dem der Token-Endpunkt nicht verwendet wird), möchten Sie diese Zeit wahrscheinlich erhöhen." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3337,9 +3426,14 @@ msgstr "LDAP-Attributzuordnung" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "LDAP DN, unter dem Bind-Requests und Suchanfragen gestellt werden können." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP-Synchronisierungsstatus" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP-Synchronisierungsstatus" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3439,12 +3533,20 @@ msgstr "Einladungslink" msgid "Link users on unique identifier" msgstr "Verknüpfen Sie Benutzer mit einer eindeutigen Kennung" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Server laden" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3469,6 +3571,7 @@ msgstr "Server laden" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3484,15 +3587,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3501,8 +3604,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Lädt..." @@ -3669,7 +3774,6 @@ msgstr "Der Abgleich erfolgt basierend auf dem Domänensuffix. Wenn Sie also dom msgid "Maximum age (in days)" msgstr "Höchstalter (in Tagen)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3800,6 +3904,7 @@ msgstr "Meine Anwendungen" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3808,9 +3913,13 @@ msgstr "Meine Anwendungen" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3966,6 +4075,7 @@ msgstr "Nginx (eigenständig)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "Nein" @@ -3996,6 +4106,10 @@ msgstr "Keine weiteren Daten vorhanden." msgid "No additional setup is required." msgstr "Keine weitere Einrichtung benötigt." +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4100,6 +4214,7 @@ msgstr "Von keinem anderen Objekt verwendet." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "Nicht Sie?" @@ -4151,8 +4266,12 @@ msgstr "Nummer, von der die SMS gesendet wird" #~ msgstr "OAuth-Autorisierungscodes" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth-Aktualisierungscodes" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth-Aktualisierungscodes" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4222,6 +4341,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4239,6 +4359,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Benachrichtigung nur einmal senden, z. B. beim Senden eines Webhooks in einen Chat-Kanal" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "API-Browser öffnen" @@ -4303,8 +4427,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "Geben Sie optional einen Gruppennamen ein. Anwendungen in gleicher Gruppe werden gruppiert angezeigt." #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "Geben Sie optional den Eingabewert vor" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "Geben Sie optional den Eingabewert vor" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4387,7 +4518,9 @@ msgstr "Outposts sind Installationen von authentik-Komponenten, die Unterstützu #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4688,6 +4821,7 @@ msgstr "Eigenschaften" msgid "Property mappings" msgstr "Eigenschaftszuordnung(en)" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Für die Gruppenerstellung verwendete Eigenschaftszuordnungen." @@ -4696,13 +4830,19 @@ msgstr "Für die Gruppenerstellung verwendete Eigenschaftszuordnungen." msgid "Property mappings used to user creation." msgstr "Für die Benutzererstellung verwendete Eigenschaftszuordnungen." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Protokolleinstellungen" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4819,6 +4959,14 @@ msgstr "Schnellaktionen" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4828,8 +4976,8 @@ msgid "Re-authenticate with plex" msgstr "Mit Plex erneut authentifizieren" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "Richtlinien neu bewerten" +#~ msgid "Re-evaluate policies" +#~ msgstr "Richtlinien neu bewerten" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4893,8 +5041,16 @@ msgstr "Aktualisieren" #~ msgstr "Aktualisierungscode" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Aktualisierungscode(s)" +#~ msgid "Refresh Code(s)" +#~ msgstr "Aktualisierungscode(s)" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5084,6 +5240,7 @@ msgstr "Widerrufen?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Synchronisation erneut ausführen" @@ -5114,6 +5271,19 @@ msgstr "SAML-Details" #~ msgid "SAML details (import from metadata)" #~ msgstr "SAML-Details (Metadaten-Import)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5267,10 +5437,15 @@ msgstr "Authentifikator für Sicherheitsschlüssel" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "Eine Liste aller Variablen finden Sie in der Dokumentation." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5279,6 +5454,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5496,6 +5675,10 @@ msgstr "Einrichtung" msgid "Severity" msgstr "Schweregrad" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Zeigen Sie dem Benutzer beliebige Eingabefelder, beispielsweise während der Registrierung. Daten werden im Flow-Kontext unter der Variablen „prompt_data“ gespeichert." @@ -5772,6 +5955,14 @@ msgstr "Status" #~ msgid "Status: Enabled" #~ msgstr "Status: Aktiviert" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Beenden Sie den Identitätswechsel" @@ -5861,6 +6052,7 @@ msgstr "Integration erfolgreich erstellt." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "Verknüpfung erfolgreich erstellt." @@ -5885,7 +6077,9 @@ msgstr "Eingabeaufforderung erfolgreich erstellt." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "Anbieter erfolgreich erstellt." @@ -6038,6 +6232,7 @@ msgstr "Einladung erfolgreich aktualisiert." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Zuordnung erfolgreich aktualisiert." @@ -6066,7 +6261,9 @@ msgstr "Eingabeaufforderung erfolgreich aktualisiert." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "Provider erfolgreich aktualisiert." @@ -6163,9 +6360,15 @@ msgstr "Symbolzeichensatz" msgid "Sync groups" msgstr "Gruppen synchronisieren" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "Synchronisiere übergeordnete Gruppe" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Status synchronisieren" @@ -6247,6 +6450,7 @@ msgstr "Schablone" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "Umgebung" @@ -6259,6 +6463,10 @@ msgstr "Umgebung(en)" msgid "Tenants" msgstr "Umgebungen" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6277,6 +6485,14 @@ msgstr "Eigenschaftszuordnung testen" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "Text (read-only): Einfaches Textfeld, nicht editierbar." +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Text: Einfache Texteingabe" @@ -6509,8 +6725,9 @@ msgstr "Damit Benutzer ihr Passwort selbst zurücksetzen können, muss ein Wiede msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "Um stattdessen SSL zu verwenden, verwenden Sie 'ldaps://' und deaktivieren Sie diese Option." -#~ msgid "Token" -#~ msgstr "Token" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Token" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6529,7 +6746,10 @@ msgstr "Ablauf des Tokens" msgid "Token is managed by authentik." msgstr "Token wird von Authentik verwaltet." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Token-Gültigkeit" @@ -6663,6 +6883,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6792,9 +7014,13 @@ msgstr "" msgid "Unread notifications" msgstr "Ungelesene Benachrichtigungen" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Nicht synchronisierte Quellen" +#~ msgid "Unsynced sources" +#~ msgstr "Nicht synchronisierte Quellen" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6825,7 +7051,9 @@ msgstr "Aktuell!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6883,6 +7111,7 @@ msgid "Update Invitation" msgstr "Einladung aktualisieren" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "Aktualisieren Sie den LDAP-Anbieter" @@ -6922,6 +7151,10 @@ msgstr "Aktualisierungsaufforderung" msgid "Update Proxy Provider" msgstr "Proxy-Anbieter aktualisieren" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "Aktualisieren Sie den SAML-Anbieter" @@ -7057,6 +7290,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7077,6 +7311,7 @@ msgstr "Benutzer" msgid "User Info" msgstr "Benutzerinformation" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "Benutzereigenschaftszuordnungen" @@ -7111,6 +7346,10 @@ msgstr "Benutzerereignisse" msgid "User fields" msgstr "Benutzerfelder" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7457,6 +7696,10 @@ msgstr "Bei der Verbindung zu einem LDAP-Server mit TLS werden Zertifikate stand msgid "When connecting via SSH, this keypair is used for authentication." msgstr "Bei Verbindung via SSH wird dieses Schlüsselpaar zur Authentifizierung genutzt." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7586,6 +7829,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Ja" diff --git a/web/src/locales/en.po b/web/src/locales/en.po index ce2c8f8a304..0c419b364dc 100644 --- a/web/src/locales/en.po +++ b/web/src/locales/en.po @@ -17,6 +17,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "(Current session)" + #: src/elements/utils/TimeDeltaHelp.ts #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "(Format: days=-1;minutes=-2;seconds=-3)." @@ -35,6 +39,8 @@ msgstr "(Format: hours=1;minutes=2;seconds=3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -174,27 +180,32 @@ msgid "API request failed" msgstr "API request failed" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "About applications" +#~ msgid "About applications" +#~ msgstr "About applications" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Access Key" -#: -#~ msgid "Access code validity" -#~ msgstr "Access code validity" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "Access Token validity" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Access code validity" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "Access token URL" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Access token validity" +#~ msgid "Access token validity" +#~ msgstr "Access token validity" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -471,6 +482,7 @@ msgid "Any policy must match to grant access" msgstr "Any policy must match to grant access" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -631,6 +643,7 @@ msgstr "Assertions is empty" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Assigned to application" @@ -647,6 +660,10 @@ msgstr "Assigned to {0} object(s)." msgid "Attempted to log in as {0}" msgstr "Attempted to log in as {0}" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "Attribute mapping" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." @@ -689,6 +706,7 @@ msgstr "Authentication Type" msgid "Authentication URL" msgstr "Authentication URL" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -932,8 +950,8 @@ msgid "Branding shown in page title and several other places." msgstr "Branding shown in page title and several other places." #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Browser" +#~ msgid "Browser" +#~ msgstr "Browser" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1088,7 +1106,9 @@ msgstr "Change your password" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1250,12 +1270,18 @@ msgstr "Client ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "Client IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "Client Networks" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Client Secret" @@ -1326,17 +1352,21 @@ msgstr "Configuration stages" #~ msgid "Configure WebAuthn" #~ msgstr "Configure WebAuthn" -#: -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Configure how long access codes are valid for." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Configure how long access codes are valid for." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Configure how long access tokens are valid for." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Configure how long refresh tokens and their id_tokens are valid for." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "Configure how long refresh tokens are valid for." #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1752,6 +1782,10 @@ msgstr "Create users when required" msgid "Create {0}" msgstr "Create {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "Created" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Created by" @@ -1977,8 +2011,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Determines how long a session lasts. Default of 0 seconds means that the sessions lasts until the browser is closed." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Device" +#~ msgid "Device" +#~ msgstr "Device" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -2005,6 +2039,10 @@ msgstr "Device(s)" msgid "Diagram" msgstr "Diagram" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2108,6 +2146,10 @@ msgstr "Download Private key" msgid "Download signing certificate" msgstr "Download signing certificate" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "Dropdown (fixed choice)" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." @@ -2184,7 +2226,9 @@ msgstr "Each provider has a different issuer, based on the application slug" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2363,22 +2407,34 @@ msgstr "Error: unsupported source settings: {0}" #~ msgstr "Error: unsupported stage settings: {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Evaluate on plan" +#~ msgid "Evaluate on plan" +#~ msgstr "Evaluate on plan" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Evaluate policies before the Stage is present to the user." #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +msgid "Evaluate policies during the Flow planning process." +msgstr "Evaluate policies during the Flow planning process." + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "Evaluate when flow is planned" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "Evaluate when stage is run" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Event Log" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Event info" @@ -2395,7 +2451,7 @@ msgstr "Event info" msgid "Event retention" msgstr "Event retention" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Event {0}" @@ -2422,6 +2478,10 @@ msgstr "Example SAML attributes" msgid "Exception" msgstr "Exception" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "Exclude service accounts" + #: #~ msgid "Execute" #~ msgstr "Execute" @@ -2459,6 +2519,7 @@ msgid "Expires" msgstr "Expires" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Expires on" @@ -2467,6 +2528,7 @@ msgid "Expires?" msgstr "Expires?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2508,6 +2570,7 @@ msgstr "Export flow" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "Expression" @@ -2520,6 +2583,7 @@ msgstr "Expression" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Expression using Python." @@ -2549,6 +2613,10 @@ msgstr "External domain you will be accessing the domain from." msgid "External host" msgstr "External host" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "Failed" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2567,8 +2635,8 @@ msgid "Failed login" msgstr "Failed login" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Failed sources" +#~ msgid "Failed sources" +#~ msgstr "Failed sources" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2708,8 +2776,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Flow used for users to authenticate. Currently only identification and password stages are supported." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "Flow used for users to authenticate." + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Flow used for users to authenticate. Currently only identification and password stages are supported." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2871,6 +2944,7 @@ msgstr "Go to previous page" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2880,6 +2954,7 @@ msgstr "Group" msgid "Group Info" msgstr "Group Info" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Group Property Mappings" @@ -2912,7 +2987,6 @@ msgstr "Group(s)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Groups" @@ -2957,13 +3031,17 @@ msgstr "HaveIBeenPwned settings" msgid "Health and Version" msgstr "Health and Version" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "Healthy" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Healthy outposts" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Healthy sources" +#~ msgid "Healthy sources" +#~ msgstr "Healthy sources" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2988,6 +3066,8 @@ msgstr "Hide service-accounts" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -3055,8 +3135,10 @@ msgstr "Icon shown in the browser tab." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Identifier" @@ -3113,6 +3195,10 @@ msgstr "If no explicit redirect URIs are specified, the first successfully used #~ "If password change date is more than x days in the past, invalidate the user's password\n" #~ "and show a notice." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." @@ -3134,12 +3220,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "If this is selected, the token will expire. Upon expiration, the token will be rotated." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3391,9 +3478,14 @@ msgstr "LDAP Attribute mapping" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "LDAP DN under which bind requests and search requests can be made." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "LDAP Source" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP Sync status" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP Sync status" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3494,12 +3586,23 @@ msgstr "Link to use the invitation." msgid "Link users on unique identifier" msgstr "Link users on unique identifier" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Load servers" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3524,6 +3627,7 @@ msgstr "Load servers" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3539,15 +3643,15 @@ msgstr "Loading options..." #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3556,8 +3660,10 @@ msgstr "Loading options..." #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Loading..." @@ -3725,7 +3831,6 @@ msgstr "Matching is done based on domain suffix, so if you enter domain.tld, foo msgid "Maximum age (in days)" msgstr "Maximum age (in days)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3857,6 +3962,7 @@ msgstr "My applications" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3865,9 +3971,13 @@ msgstr "My applications" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -4023,6 +4133,7 @@ msgstr "Nginx (standalone)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "No" @@ -4053,6 +4164,10 @@ msgstr "No additional data available." msgid "No additional setup is required." msgstr "No additional setup is required." +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "No application required." + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4159,6 +4274,7 @@ msgstr "Not used by any other object." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "Not you?" @@ -4214,8 +4330,12 @@ msgstr "Number the SMS will be sent from." #~ msgstr "OAuth Authorization Codes" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth Refresh Codes" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth Refresh Codes" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "OAuth Refresh Tokens" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4288,6 +4408,7 @@ msgstr "Offset after which consent expires." #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4305,6 +4426,10 @@ msgstr "Only fail the policy, don't invalidate user's password" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Only send notification once, for example when sending a webhook into a chat channel." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "Only sync users within the selected group." + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "Open API Browser" @@ -4370,8 +4495,18 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "Optionally enter a group name. Applications with identical groups are shown grouped together." #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "Optionally pre-fill the input value" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "Optionally pre-fill the input value" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4458,7 +4593,9 @@ msgstr "Outposts are deployments of authentik components to support different en #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4775,6 +4912,7 @@ msgstr "Property Mappings" msgid "Property mappings" msgstr "Property mappings" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Property mappings used to group creation." @@ -4783,13 +4921,19 @@ msgstr "Property mappings used to group creation." msgid "Property mappings used to user creation." msgstr "Property mappings used to user creation." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "Property mappings used to user mapping." + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Protocol Settings" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4909,6 +5053,14 @@ msgstr "Quick actions" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "Radio Button Group (fixed choice)" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "Radius" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "Raw JWKS data." @@ -4918,8 +5070,8 @@ msgid "Re-authenticate with plex" msgstr "Re-authenticate with plex" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "Re-evaluate policies" +#~ msgid "Re-evaluate policies" +#~ msgstr "Re-evaluate policies" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4985,8 +5137,16 @@ msgstr "Refresh" #~ msgstr "Refresh Code" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Refresh Code(s)" +#~ msgid "Refresh Code(s)" +#~ msgstr "Refresh Code(s)" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "Refresh Token validity" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "Refresh Tokens(s)" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5186,6 +5346,7 @@ msgstr "Revoked?" msgid "Root" msgstr "Root" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Run sync again" @@ -5218,6 +5379,19 @@ msgstr "SAML details" #~ msgid "SAML details (import from metadata)" #~ msgstr "SAML details (import from metadata)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "SCIM Provider" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "SCIM base url, usually ends in /v2." + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "SCIM provider is in preview." + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5372,10 +5546,15 @@ msgstr "Security key authenticator" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "See documentation for a list of all variables." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "See here." + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "See more about OCI support here:" @@ -5384,6 +5563,10 @@ msgstr "See more about OCI support here:" msgid "See more here:" msgstr "See more here:" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "Select Yes to reduce the number of times you're asked to sign in." + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "Select a provider that this application should use." @@ -5609,6 +5792,10 @@ msgstr "Setup" msgid "Severity" msgstr "Severity" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "Shared secret" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." @@ -5901,6 +6088,14 @@ msgstr "Status" #~ msgid "Status: Enabled" #~ msgstr "Status: Enabled" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "Stay signed in offset" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "Stay signed in?" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Stop impersonation" @@ -5990,6 +6185,7 @@ msgstr "Successfully created invitation." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "Successfully created mapping." @@ -6014,7 +6210,9 @@ msgstr "Successfully created prompt." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "Successfully created provider." @@ -6170,6 +6368,7 @@ msgstr "Successfully updated invitation." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Successfully updated mapping." @@ -6198,7 +6397,9 @@ msgstr "Successfully updated prompt." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "Successfully updated provider." @@ -6298,10 +6499,16 @@ msgstr "Symbol charset" msgid "Sync groups" msgstr "Sync groups" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "Sync not run yet." + #: #~ msgid "Sync parent group" #~ msgstr "Sync parent group" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Sync status" @@ -6386,6 +6593,7 @@ msgstr "Template" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "Tenant" @@ -6398,6 +6606,10 @@ msgstr "Tenant(s)" msgid "Tenants" msgstr "Tenants" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "Terminate other sessions" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6416,6 +6628,14 @@ msgstr "Test Property Mapping" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "Text (read-only): Simple Text input, but cannot be edited." +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "Text Area (read-only): Multiline text input, but cannot be edited." + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "Text Area: Multiline text input" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Text: Simple Text input" @@ -6655,10 +6875,9 @@ msgstr "To let a user directly reset a their password, configure a recovery flow msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "To use SSL instead, use 'ldaps://' and disable this option." -#: -#: -#~ msgid "Token" -#~ msgstr "Token" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Token" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6677,7 +6896,10 @@ msgstr "Token expiry" msgid "Token is managed by authentik." msgstr "Token is managed by authentik." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "Token to authenticate with. Currently only bearer authentication is supported." + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Token validity" @@ -6811,6 +7033,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "URL" @@ -6941,9 +7165,13 @@ msgstr "Unknown user matching mode" msgid "Unread notifications" msgstr "Unread notifications" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "Unsynced / N/A" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Unsynced sources" +#~ msgid "Unsynced sources" +#~ msgstr "Unsynced sources" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6974,7 +7202,9 @@ msgstr "Up-to-date!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -7032,6 +7262,7 @@ msgid "Update Invitation" msgstr "Update Invitation" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "Update LDAP Provider" @@ -7071,6 +7302,10 @@ msgstr "Update Prompt" msgid "Update Proxy Provider" msgstr "Update Proxy Provider" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "Update Radius Provider" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "Update SAML Provider" @@ -7206,6 +7441,7 @@ msgstr "Used to login using a flow executor" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7226,6 +7462,7 @@ msgstr "User" msgid "User Info" msgstr "User Info" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "User Property Mappings" @@ -7264,6 +7501,10 @@ msgstr "User events" msgid "User fields" msgstr "User fields" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "User filtering" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "User folders" @@ -7616,6 +7857,10 @@ msgstr "When connecting to an LDAP Server with TLS, certificates are not checked msgid "When connecting via SSH, this keypair is used for authentication." msgstr "When connecting via SSH, this keypair is used for authentication." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "When enabled, all previous sessions of the user will be terminated." + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "When enabled, authentik will intercept the Authorization header to authenticate the request." @@ -7747,6 +7992,7 @@ msgstr "XML-based SSO standard. Use this if your application only supports SAML. #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Yes" diff --git a/web/src/locales/es.po b/web/src/locales/es.po index 5100100191f..cb76420ab2f 100644 --- a/web/src/locales/es.po +++ b/web/src/locales/es.po @@ -20,6 +20,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -37,6 +41,8 @@ msgstr "(Formato: hours=1;minutes=2;seconds=3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -180,26 +186,32 @@ msgid "API request failed" msgstr "Solicitud de API fallida" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "Acerca de las aplicaciones" +#~ msgid "About applications" +#~ msgstr "Acerca de las aplicaciones" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Clave de acceso" -#~ msgid "Access code validity" -#~ msgstr "Validez de código de acceso" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Validez de código de acceso" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "URL de token de acceso" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Validez de token de acceso" +#~ msgid "Access token validity" +#~ msgstr "Validez de token de acceso" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -466,6 +478,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -625,6 +638,7 @@ msgstr "Las afirmaciones están vacías" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Asignado a la aplicación" @@ -640,6 +654,10 @@ msgstr "Asignado a {0} objeto(s)." msgid "Attempted to log in as {0}" msgstr "Se intentó iniciar sesión como {0}" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "Nombre de atributo utilizado para afirmaciones SAML. Puede ser un OID de URN, una referencia de esquema, o cualquier otra cadena. Si este mapeo de propiedades se utiliza para la propiedad NameID, este campo se descarta." @@ -681,6 +699,7 @@ msgstr "Tipo de autenticación" msgid "Authentication URL" msgstr "URL de autenticación" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -919,8 +938,8 @@ msgid "Branding shown in page title and several other places." msgstr "La marca se muestra en el título de la página y en otros lugares." #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Navegador" +#~ msgid "Browser" +#~ msgstr "Navegador" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1072,7 +1091,9 @@ msgstr "Cambia tu contraseña" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1230,12 +1251,18 @@ msgstr "ID de cliente" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "IP del cliente" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Secreto del cliente" @@ -1304,16 +1331,21 @@ msgstr "" #~ msgid "Configure WebAuthn" #~ msgstr "Configurar WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Configurar durante cuánto tiempo son válidos los códigos de acceso." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Configurar durante cuánto tiempo son válidos los códigos de acceso." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Configurar durante cuánto tiempo son válidos los tokens de acceso." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Configurar durante cuánto tiempo son válidos los tokens de actualización y sus id_tokens." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Configurar durante cuánto tiempo son válidos los tokens de actualización y sus id_tokens." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1724,6 +1756,10 @@ msgstr "" msgid "Create {0}" msgstr "Crear {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Creado por" @@ -1941,8 +1977,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Determina la duración de una sesión. El valor predeterminado de 0 segundos significa que las sesiones duran hasta que se cierra el navegador." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Dispositivo" +#~ msgid "Device" +#~ msgstr "Dispositivo" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1968,6 +2004,10 @@ msgstr "Dispositivo(s)" msgid "Diagram" msgstr "Diagrama" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2064,6 +2104,10 @@ msgstr "Descargar clave privada" msgid "Download signing certificate" msgstr "Descargar certificado de firma" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2138,7 +2182,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2310,22 +2356,34 @@ msgstr "Error: configuración de origen no admitida: {0}" #~ msgstr "Error: configuración de etapa no admitida: {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Evaluar según el plan" +#~ msgid "Evaluate on plan" +#~ msgstr "Evaluar según el plan" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Evaluar las políticas antes de que la etapa se presente al usuario." #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Evaluar las políticas durante el proceso de planificación de flujo. Deshabilite esto para políticas basadas en entradas. Debe usarse junto con «Reevaluar políticas», ya que con ambas opciones deshabilitadas, las políticas **no** se evalúan." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Evaluar las políticas durante el proceso de planificación de flujo. Deshabilite esto para políticas basadas en entradas. Debe usarse junto con «Reevaluar políticas», ya que con ambas opciones deshabilitadas, las políticas **no** se evalúan." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Registro de eventos" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Información del evento" @@ -2339,7 +2397,7 @@ msgstr "Información del evento" msgid "Event retention" msgstr "Retención de eventos" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Evento {0}" @@ -2366,6 +2424,10 @@ msgstr "" msgid "Exception" msgstr "Excepción" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "Ejecutar" @@ -2400,6 +2462,7 @@ msgid "Expires" msgstr "Caduca" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Caduca el" @@ -2408,6 +2471,7 @@ msgid "Expires?" msgstr "¿Caduca?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2449,6 +2513,7 @@ msgstr "Exportar flujo" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "Expresión" @@ -2460,6 +2525,7 @@ msgstr "Expresión" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Expresión con Python." @@ -2489,6 +2555,10 @@ msgstr "" msgid "External host" msgstr "Servidor externo" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2507,8 +2577,8 @@ msgid "Failed login" msgstr "Inicio de sesión incorrecto" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Origenes fallidos" +#~ msgid "Failed sources" +#~ msgstr "Origenes fallidos" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2647,8 +2717,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Flujo utilizado por un usuario autenticado para configurar esta etapa. Si está vacío, el usuario no podrá configurar esta etapa." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Flujo utilizado para que los usuarios se autentiquen. Actualmente, solo se admiten las etapas de identificación y contraseña." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Flujo utilizado para que los usuarios se autentiquen. Actualmente, solo se admiten las etapas de identificación y contraseña." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2808,6 +2883,7 @@ msgstr "Ir a la página anterior" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2817,6 +2893,7 @@ msgstr "Grupo" msgid "Group Info" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Mapeo de propiedades de grupos" @@ -2849,7 +2926,6 @@ msgstr "Grupo(s)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Grupos" @@ -2891,13 +2967,17 @@ msgstr "" msgid "Health and Version" msgstr "Salud y versión" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Controladores saludables" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Fuentes saludables" +#~ msgid "Healthy sources" +#~ msgstr "Fuentes saludables" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2922,6 +3002,8 @@ msgstr "Ocultar cuentas de servicio" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2987,8 +3069,10 @@ msgstr "Icono mostrado en la pestaña del navegador." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Identificador" @@ -3040,6 +3124,10 @@ msgstr "Si no se especifican URI de redireccionamiento explícitos, se guardará #~ "and show a notice." #~ msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3061,12 +3149,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "Si se establece este parámetro, esta etapa saltará a la siguiente etapa cuando no se proporcione ninguna invitación. De forma predeterminada, esta etapa cancelará el flujo cuando no se proporcione ninguna invitación." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "Si se selecciona, el token caducará. Al expirar, el token se rotará." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "Si utilizas un flujo implícito del lado del cliente (donde no se usa el punto final del token), probablemente quieras aumentar este tiempo." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "Si utilizas un flujo implícito del lado del cliente (donde no se usa el punto final del token), probablemente quieras aumentar este tiempo." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3313,9 +3402,14 @@ msgstr "Mapeo de atributos LDAP" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "DN de LDAP con el que se pueden realizar solicitudes de conexión y de búsqueda." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "Estado de sincronización de LDAP" +#~ msgid "LDAP Sync status" +#~ msgstr "Estado de sincronización de LDAP" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3415,12 +3509,20 @@ msgstr "Enlace para usar la invitación." msgid "Link users on unique identifier" msgstr "Vincular usuarios en un identificador único" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Cargar servidores" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3445,6 +3547,7 @@ msgstr "Cargar servidores" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3460,15 +3563,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3477,8 +3580,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Cargando..." @@ -3645,7 +3750,6 @@ msgstr "Hacer coincidir en función del sufijo del dominio, si configura domain. msgid "Maximum age (in days)" msgstr "Duración máxima (en días)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3776,6 +3880,7 @@ msgstr "Mis aplicaciones" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3784,9 +3889,13 @@ msgstr "Mis aplicaciones" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3942,6 +4051,7 @@ msgstr "Nginx (independiente)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "No" @@ -3972,6 +4082,10 @@ msgstr "No hay datos adicionales disponibles." msgid "No additional setup is required." msgstr "No se requiere ninguna configuración adicional." +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4076,6 +4190,7 @@ msgstr "No lo usa ningún otro objeto." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "¿No eres tú?" @@ -4127,8 +4242,12 @@ msgstr "Número desde el que se enviará el SMS." #~ msgstr "Códigos de autorización de OAuth" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "Códigos de actualización de OAuth" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "Códigos de actualización de OAuth" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4198,6 +4317,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4215,6 +4335,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Envíar notificaciones solo una vez, por ejemplo, al enviar un webhook a un canal de chat." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "Abrir explorador de API" @@ -4279,8 +4403,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "" #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "Rellenar previamente el valor de entrada opcionalmente" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "Rellenar previamente el valor de entrada opcionalmente" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4363,7 +4494,9 @@ msgstr "Los puestos avanzados son implementaciones de componentes auténticos pa #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4664,6 +4797,7 @@ msgstr "Asignaciones de propiedades" msgid "Property mappings" msgstr "Mapeos de propiedades" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Asignaciones de propiedades utilizadas para la creación de grupos." @@ -4672,13 +4806,19 @@ msgstr "Asignaciones de propiedades utilizadas para la creación de grupos." msgid "Property mappings used to user creation." msgstr "Asignaciones de propiedades utilizadas para la creación de usuarios." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Configuración de protocolo" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4795,6 +4935,14 @@ msgstr "Acciones rápidas" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4804,8 +4952,8 @@ msgid "Re-authenticate with plex" msgstr "Vuelva a autenticarse con plex" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "Reevaluar las políticas" +#~ msgid "Re-evaluate policies" +#~ msgstr "Reevaluar las políticas" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4869,8 +5017,16 @@ msgstr "Actualizar" #~ msgstr "Actualizar código" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Actualizar código (s)" +#~ msgid "Refresh Code(s)" +#~ msgstr "Actualizar código (s)" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5060,6 +5216,7 @@ msgstr "¿Revocado?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Vuelve a ejecutar la sincronización" @@ -5090,6 +5247,19 @@ msgstr "" #~ msgid "SAML details (import from metadata)" #~ msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5243,10 +5413,15 @@ msgstr "Autenticador clave de seguridad" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "Consulte la documentación para obtener una lista de todas las variables." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5255,6 +5430,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5472,6 +5651,10 @@ msgstr "Configuración" msgid "Severity" msgstr "Gravedad" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Mostrar campos de entrada arbitrarios al usuario, por ejemplo, durante la inscripción. Los datos se guardan en el contexto de flujo en la variable «prompt_data»." @@ -5748,6 +5931,14 @@ msgstr "Estatus" #~ msgid "Status: Enabled" #~ msgstr "Estado: habilitado" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Detener la suplantación" @@ -5837,6 +6028,7 @@ msgstr "La invitación se creó correctamente." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "La asignación se creó correctamente." @@ -5861,7 +6053,9 @@ msgstr "Se ha creado el mensaje correctamente." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "El proveedor se creó correctamente." @@ -6014,6 +6208,7 @@ msgstr "La invitación se actualizó correctamente." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Se ha actualizado correctamente la asignación." @@ -6042,7 +6237,9 @@ msgstr "Se actualizó correctamente el mensaje." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "El proveedor se actualizó correctamente." @@ -6139,9 +6336,15 @@ msgstr "Juego de caracteres de símbolo" msgid "Sync groups" msgstr "Sincronizar grupos" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "Sincronizar grupo principal" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Estado de sincronización" @@ -6223,6 +6426,7 @@ msgstr "Plantilla" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "inquilino" @@ -6235,6 +6439,10 @@ msgstr "Inquilino (s)" msgid "Tenants" msgstr "Inquilinos" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6253,6 +6461,14 @@ msgstr "Asignación de propiedades de" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "Texto (solo lectura): entrada de texto simple, pero no se puede editar." +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Texto: entrada de texto simple" @@ -6485,8 +6701,9 @@ msgstr "Para permitir que un usuario restablezca directamente su contraseña, co msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "Para usar SSL en su lugar, use 'ldaps: //' y deshabilite esta opción." -#~ msgid "Token" -#~ msgstr "Token" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Token" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6505,7 +6722,10 @@ msgstr "Caducidad del token" msgid "Token is managed by authentik." msgstr "El token es administrado por authentik." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Validez del token" @@ -6639,6 +6859,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6768,9 +6990,13 @@ msgstr "" msgid "Unread notifications" msgstr "Notificaciones sin leer" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Fuentes no sincronizadas" +#~ msgid "Unsynced sources" +#~ msgstr "Fuentes no sincronizadas" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6801,7 +7027,9 @@ msgstr "¡Actuales!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6859,6 +7087,7 @@ msgid "Update Invitation" msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "Actualizar proveedor LDAP" @@ -6898,6 +7127,10 @@ msgstr "Mensaje de actualización" msgid "Update Proxy Provider" msgstr "Actualizar proveedor de proxy" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "Actualizar proveedor SAML" @@ -7033,6 +7266,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7053,6 +7287,7 @@ msgstr "Usuario" msgid "User Info" msgstr "Información del usuario" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "Asignaciones de propiedades de usuario" @@ -7087,6 +7322,10 @@ msgstr "Eventos del usuario" msgid "User fields" msgstr "Campos de usuario" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7433,6 +7672,10 @@ msgstr "Al conectarse a un servidor LDAP con TLS, los certificados no se comprue msgid "When connecting via SSH, this keypair is used for authentication." msgstr "Cuando se conecta a través de SSH, este par de claves se usa para la autenticación." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7562,6 +7805,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Sí" diff --git a/web/src/locales/fr_FR.po b/web/src/locales/fr_FR.po index bf03a2672d1..a29129454ff 100644 --- a/web/src/locales/fr_FR.po +++ b/web/src/locales/fr_FR.po @@ -25,6 +25,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "(Format: jours=-1;minutes=-2;secondes=-3)." @@ -42,6 +46,8 @@ msgstr "(Format : heures=-1;minutes=-2;secondes=-3)" #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -185,26 +191,32 @@ msgid "API request failed" msgstr "Requête d'API échouée" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "À propos des applications" +#~ msgid "About applications" +#~ msgstr "À propos des applications" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Clé d'accès" -#~ msgid "Access code validity" -#~ msgstr "Validité du code d'accès" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Validité du code d'accès" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "URL du jeton d'accès" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Validité du jeton d'accès" +#~ msgid "Access token validity" +#~ msgstr "Validité du jeton d'accès" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -471,6 +483,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -630,6 +643,7 @@ msgstr "L'assertion est vide" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Assigné à l'application" @@ -645,6 +659,10 @@ msgstr "" msgid "Attempted to log in as {0}" msgstr "Tentative d'ouvrir une session en tant que {0}" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "Nom de l'attribut utilisé pour les assertions SAML. Peut être un OID URN, une référence à un schéma ou tout autre valeur. Si ce mapping de propriété est utilisé pour NameID, cette valeur est ignorée." @@ -686,6 +704,7 @@ msgstr "" msgid "Authentication URL" msgstr "URL d'authentification" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -924,8 +943,8 @@ msgid "Branding shown in page title and several other places." msgstr "Image de marque utilisée dans le titre de la page et dans d'autres endroits" #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Navigateur" +#~ msgid "Browser" +#~ msgstr "Navigateur" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1077,7 +1096,9 @@ msgstr "Changer votre mot de pass" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1235,12 +1256,18 @@ msgstr "ID client" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "Adresse IP client" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Secret du client" @@ -1309,16 +1336,21 @@ msgstr "Étape de configuration" #~ msgid "Configure WebAuthn" #~ msgstr "Configurer WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Configure la durée de validité des codes d'accès." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Configure la durée de validité des codes d'accès." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Configure la durée de validité des jetons d'accès." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Configure la durée de validité des jetons de rafraîchissement et de leur id_tokens." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Configure la durée de validité des jetons de rafraîchissement et de leur id_tokens." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1729,6 +1761,10 @@ msgstr "" msgid "Create {0}" msgstr "Créer {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Créé par" @@ -1944,8 +1980,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Détermine la durée de la session. La valeur par défaut de 0 seconde signifie que la session dure jusqu'à la fermeture du navigateur." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Équipement" +#~ msgid "Device" +#~ msgstr "Équipement" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1971,6 +2007,10 @@ msgstr "Équipement(s)" msgid "Diagram" msgstr "Diagramme" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2067,6 +2107,10 @@ msgstr "Télécharger la clé privée" msgid "Download signing certificate" msgstr "Télécharger le certificat de signature" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2141,7 +2185,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2313,22 +2359,34 @@ msgstr "Erreur : paramètres source non supportés : {0}" #~ msgstr "Erreur : paramètres d'étape non supporté : {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Évaluer en planification" +#~ msgid "Evaluate on plan" +#~ msgstr "Évaluer en planification" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Évaluer la politique avant la présentation de l'étape à l'utilisateur" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Évaluer les politiques pendant le processus de planification des flux. Désactivez cette option pour les politiques basées sur des entrées. Doit être utilisé conjointement avec \"Réévaluer les politiques\", car si les deux options sont désactivées, les politiques ne sont **pas** évaluées." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Évaluer les politiques pendant le processus de planification des flux. Désactivez cette option pour les politiques basées sur des entrées. Doit être utilisé conjointement avec \"Réévaluer les politiques\", car si les deux options sont désactivées, les politiques ne sont **pas** évaluées." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Journal d'évènements" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Information d'évèvement" @@ -2342,7 +2400,7 @@ msgstr "Information d'évèvement" msgid "Event retention" msgstr "Rétention d'évènement" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Évènement {0}" @@ -2369,6 +2427,10 @@ msgstr "" msgid "Exception" msgstr "Exception" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "Exécuter" @@ -2403,6 +2465,7 @@ msgid "Expires" msgstr "Expire" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Expire le" @@ -2411,6 +2474,7 @@ msgid "Expires?" msgstr "Expire ?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2452,6 +2516,7 @@ msgstr "Flux d'exportation" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "Expression" @@ -2463,6 +2528,7 @@ msgstr "Expression" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Expression en python" @@ -2492,6 +2558,10 @@ msgstr "" msgid "External host" msgstr "Hôte externe" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2510,8 +2580,8 @@ msgid "Failed login" msgstr "Échec de la connexion" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Sources échouées" +#~ msgid "Failed sources" +#~ msgstr "Sources échouées" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2650,8 +2720,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Flux utilisé par un utilisateur authentifié pour configurer cette étape. S'il est vide, l'utilisateur ne sera pas en mesure de le configurer." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Flux utilisé pour l'authentification des utilisateurs. Actuellement, seules les étapes d'identification et de mot de passe sont prises en charge." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Flux utilisé pour l'authentification des utilisateurs. Actuellement, seules les étapes d'identification et de mot de passe sont prises en charge." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2811,6 +2886,7 @@ msgstr "Aller à la page précédente" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2820,6 +2896,7 @@ msgstr "Group" msgid "Group Info" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Mapping des propriétés de groupes" @@ -2852,7 +2929,6 @@ msgstr "Groupe(s)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Groupes" @@ -2894,13 +2970,17 @@ msgstr "" msgid "Health and Version" msgstr "État et version" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Avant-postes sains" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Sources saines" +#~ msgid "Healthy sources" +#~ msgstr "Sources saines" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2925,6 +3005,8 @@ msgstr "Cacher les comptes de service" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2990,8 +3072,10 @@ msgstr "Icône affichée dans l'onglet du navigateur." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Identifiant" @@ -3043,6 +3127,10 @@ msgstr "" #~ "and show a notice." #~ msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3064,12 +3152,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "Si activé, cette étape passera à l'étape suivante si aucune invitation n'est donnée. Par défaut, cette étape annule le flux en l'absence d'invitation." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "Si cette option est sélectionnée, le jeton expirera. À son expiration, le jeton fera l'objet d'une rotation." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "Si vous utilisez un flux implicite, côté client (où le point de terminaison du jeton n'est pas utilisé), vous voudrez probablement augmenter ce temps." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "Si vous utilisez un flux implicite, côté client (où le point de terminaison du jeton n'est pas utilisé), vous voudrez probablement augmenter ce temps." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3314,9 +3403,14 @@ msgstr "Mappage des attributs LDAP" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "DN LDAP avec lequel les connexions et recherches sont effectuées." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "Statut de synchro LDAP" +#~ msgid "LDAP Sync status" +#~ msgstr "Statut de synchro LDAP" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3416,12 +3510,20 @@ msgstr "Lien pour utiliser l'invitation." msgid "Link users on unique identifier" msgstr "Lier les utilisateurs sur base d'un identifiant unique" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Charger les serveurs" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3446,6 +3548,7 @@ msgstr "Charger les serveurs" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3461,15 +3564,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3478,8 +3581,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Chargement en cours..." @@ -3646,7 +3751,6 @@ msgstr "La correspondante est effectuée sur le suffixe du domaine ; si vous ent msgid "Maximum age (in days)" msgstr "Âge maximum (en jours)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3777,6 +3881,7 @@ msgstr "Mes applications" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3785,9 +3890,13 @@ msgstr "Mes applications" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3943,6 +4052,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "Non" @@ -3973,6 +4083,10 @@ msgstr "Aucune donnée additionnelle disponible." msgid "No additional setup is required." msgstr "" +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4077,6 +4191,7 @@ msgstr "Pas utilisé par un autre objet." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "Pas vous ?" @@ -4128,8 +4243,12 @@ msgstr "Numéro depuis lequel le SMS sera envoyé." #~ msgstr "Code d'autorisation OAuth" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "Code de rafraîchissement OAuth" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "Code de rafraîchissement OAuth" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4199,6 +4318,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4216,6 +4336,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Envoyer une seule fois la notification, par exemple lors de l'envoi d'un webhook dans un canal de discussion." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "Ouvrir l'explorateur d'API" @@ -4280,8 +4404,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "Optionnellement, entrez un nom de groupe. Les applications avec les mêmes groupes seront affichées ensemble." #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "Pré-remplir la valeur du champ (optionnel)" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "Pré-remplir la valeur du champ (optionnel)" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4364,7 +4495,9 @@ msgstr "Les avant-postes sont des déploiements de composants Authentik pour pre #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4665,6 +4798,7 @@ msgstr "Mappings de propriété" msgid "Property mappings" msgstr "Mappings de propriété" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Mappages de propriétés utilisés lors de la création des groupe" @@ -4673,13 +4807,19 @@ msgstr "Mappages de propriétés utilisés lors de la création des groupe" msgid "Property mappings used to user creation." msgstr "Mappages de propriété utilisés lors de la création d'utilisateurs" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Paramètres du protocole" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4796,6 +4936,14 @@ msgstr "Actions rapides" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4805,8 +4953,8 @@ msgid "Re-authenticate with plex" msgstr "Se ré-authentifier avec Plex" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "Ré-évaluer les politiques" +#~ msgid "Re-evaluate policies" +#~ msgstr "Ré-évaluer les politiques" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4870,8 +5018,16 @@ msgstr "Rafraîchir" #~ msgstr "Rafraîchir le code" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Rafraîchir le(s) code(s)" +#~ msgid "Refresh Code(s)" +#~ msgstr "Rafraîchir le(s) code(s)" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5061,6 +5217,7 @@ msgstr "Révoqué ?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Relancer la synchro" @@ -5091,6 +5248,19 @@ msgstr "" #~ msgid "SAML details (import from metadata)" #~ msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5244,10 +5414,15 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "Consultez la documentation pour la liste de toutes les variables." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5256,6 +5431,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5473,6 +5652,10 @@ msgstr "" msgid "Severity" msgstr "Sévérité" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable \"prompt_data\"." @@ -5749,6 +5932,14 @@ msgstr "Statut" #~ msgid "Status: Enabled" #~ msgstr "Statut : Activé" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Arrêter l'appropriation utilisateu" @@ -5838,6 +6029,7 @@ msgstr "Invitation créée avec succès" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "Mapping créé avec succès" @@ -5862,7 +6054,9 @@ msgstr "Invite créée avec succès." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "Fournisseur créé avec succès" @@ -6015,6 +6209,7 @@ msgstr "Invitation mise à jour avec succès" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Mapping mis à jour avec succès" @@ -6043,7 +6238,9 @@ msgstr "Invite mise à jour avec succès." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "Fournisseur mis à jour avec succès" @@ -6140,9 +6337,15 @@ msgstr "Set de symboles" msgid "Sync groups" msgstr "Synchroniser les groupes" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "Synchroniser le groupe parent" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Synchroniser les statuts" @@ -6224,6 +6427,7 @@ msgstr "Modèle" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "Tenant" @@ -6236,6 +6440,10 @@ msgstr "Tenant(s)" msgid "Tenants" msgstr "Tenants" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6254,6 +6462,14 @@ msgstr "Tester le mapping de la propriété" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Texte : simple champ texte" @@ -6476,8 +6692,9 @@ msgstr "Pour laisser les utilisateurs réinitialiser leur mot de passe, configur msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "Pour utiliser SSL à la base, utilisez \"ldaps://\" et désactviez cette option." -#~ msgid "Token" -#~ msgstr "Jeton" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Jeton" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6496,7 +6713,10 @@ msgstr "Expiration du jeton" msgid "Token is managed by authentik." msgstr "Jeton géré par authentik." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Validité du jeton" @@ -6630,6 +6850,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6759,9 +6981,13 @@ msgstr "" msgid "Unread notifications" msgstr "Notifications non lues" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Sources non synchronisées" +#~ msgid "Unsynced sources" +#~ msgstr "Sources non synchronisées" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6792,7 +7018,9 @@ msgstr "À jour !" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6850,6 +7078,7 @@ msgid "Update Invitation" msgstr "Mettre à jour l'invitation" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "Mettre à jour le fournisseur LDAP" @@ -6889,6 +7118,10 @@ msgstr "Mettre à jour l'invite" msgid "Update Proxy Provider" msgstr "Mettre à jour le fournisseur de proxy" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "Mettre à jour le fournisseur SAML" @@ -7024,6 +7257,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7044,6 +7278,7 @@ msgstr "Utilisateur" msgid "User Info" msgstr "Info utilisateur" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "Mapping des propriétés d'utilisateur" @@ -7078,6 +7313,10 @@ msgstr "Événements de l'utilisateur" msgid "User fields" msgstr "Champs de l'utilisateur" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7424,6 +7663,10 @@ msgstr "" msgid "When connecting via SSH, this keypair is used for authentication." msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7551,6 +7794,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Oui" diff --git a/web/src/locales/pl.po b/web/src/locales/pl.po index d3020a69ef5..cb5d98f1c2b 100644 --- a/web/src/locales/pl.po +++ b/web/src/locales/pl.po @@ -20,6 +20,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "(Format: days=-1;minutes=-2;seconds=-3)." @@ -37,6 +41,8 @@ msgstr "(Format: hours=1;minutes=2;seconds=3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -180,26 +186,32 @@ msgid "API request failed" msgstr "Żądanie API nie powiodło się" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "Informacje o aplikacjach" +#~ msgid "About applications" +#~ msgstr "Informacje o aplikacjach" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Klucz dostępu" -#~ msgid "Access code validity" -#~ msgstr "Ważność kodu dostępu" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Ważność kodu dostępu" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "URL tokena dostępu" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Ważność tokena dostępu" +#~ msgid "Access token validity" +#~ msgstr "Ważność tokena dostępu" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -470,6 +482,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "Aplikacja" @@ -629,6 +642,7 @@ msgstr "Asercja jest pusta" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Przypisany do aplikacji" @@ -644,6 +658,10 @@ msgstr "Przypisany do {0} obiektu(ów)." msgid "Attempted to log in as {0}" msgstr "Próbowano zalogować się jako {0}" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "Nazwa atrybutu używana w asercjach SAML. Może być identyfikatorem URN OID, odwołaniem do schematu lub dowolnym innym ciągiem. Jeśli to mapowanie właściwości jest używane dla właściwości NameID, to te pole jest odrzucane." @@ -685,6 +703,7 @@ msgstr "Typ uwierzytelnienia" msgid "Authentication URL" msgstr "URL uwierzytelniania" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -923,8 +942,8 @@ msgid "Branding shown in page title and several other places." msgstr "Branding widoczny w tytule strony i kilku innych miejscach." #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Przeglądarka" +#~ msgid "Browser" +#~ msgstr "Przeglądarka" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1076,7 +1095,9 @@ msgstr "Zmień swoje hasło" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1236,12 +1257,18 @@ msgstr "Client ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "IP klienta" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Client Secret" @@ -1310,16 +1337,21 @@ msgstr "Etapy konfiguracji" #~ msgid "Configure WebAuthn" #~ msgstr "Skonfiguruj WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Skonfiguruj czas ważności kodów dostępu." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Skonfiguruj czas ważności kodów dostępu." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Skonfiguruj, jak długo tokeny dostępu są ważne." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Skonfiguruj, jak długo tokeny odświeżania i ich id_tokens są ważne." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Skonfiguruj, jak długo tokeny odświeżania i ich id_tokens są ważne." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1730,6 +1762,10 @@ msgstr "" msgid "Create {0}" msgstr "Utwórz {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Utworzono przez" @@ -1947,8 +1983,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Określa, jak długo trwa sesja. Domyślna wartość 0 sekund oznacza, że sesje trwają do zamknięcia przeglądarki." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Urządzenie" +#~ msgid "Device" +#~ msgstr "Urządzenie" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1974,6 +2010,10 @@ msgstr "Urządzenie(a)" msgid "Diagram" msgstr "Diagram" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2070,6 +2110,10 @@ msgstr "Pobierz klucz prywatny" msgid "Download signing certificate" msgstr "Pobierz certyfikat podpisywania" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2144,7 +2188,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2316,22 +2362,34 @@ msgstr "Błąd: nieobsługiwane ustawienia źródła: {0}" #~ msgstr "Błąd: nieobsługiwane ustawienia etapu: {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Oceń zgodnie z planem" +#~ msgid "Evaluate on plan" +#~ msgstr "Oceń zgodnie z planem" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Oceń zasady, zanim etap jest obecny dla użytkownika." #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Oceń zasady podczas procesu planowania przepływów. Wyłącz to dla zasad opartych na danych wejściowych. Należy używać w połączeniu z opcją „Ponowna ocena zasad”, ponieważ obie opcje są wyłączone, zasady **nie** są oceniane." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Oceń zasady podczas procesu planowania przepływów. Wyłącz to dla zasad opartych na danych wejściowych. Należy używać w połączeniu z opcją „Ponowna ocena zasad”, ponieważ obie opcje są wyłączone, zasady **nie** są oceniane." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Dziennik zdarzeń" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Informacje o zdarzeniu" @@ -2345,7 +2403,7 @@ msgstr "Informacje o zdarzeniu" msgid "Event retention" msgstr "Przechowywanie zdarzeń" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Zdarzenie {0}" @@ -2372,6 +2430,10 @@ msgstr "" msgid "Exception" msgstr "Wyjątek" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "Wykonaj" @@ -2406,6 +2468,7 @@ msgid "Expires" msgstr "Wygasa" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Wygasa dnia" @@ -2414,6 +2477,7 @@ msgid "Expires?" msgstr "Wygasa?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2455,6 +2519,7 @@ msgstr "Eksportuj przepływ" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "Expression " @@ -2466,6 +2531,7 @@ msgstr "Expression " #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Wyrażenie za pomocą Pythona." @@ -2495,6 +2561,10 @@ msgstr "" msgid "External host" msgstr "Zewnętrzny host" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2513,8 +2583,8 @@ msgid "Failed login" msgstr "Nieudane logowanie" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Nieudane źródła" +#~ msgid "Failed sources" +#~ msgstr "Nieudane źródła" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2653,8 +2723,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Przepływ używany przez uwierzytelnionego użytkownika do konfigurowania tego etapu. Jeśli jest pusty, użytkownik nie będzie mógł skonfigurować tego etapu." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Przepływ używany do uwierzytelniania użytkowników. Obecnie obsługiwane są tylko etapy identyfikacji i hasła." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Przepływ używany do uwierzytelniania użytkowników. Obecnie obsługiwane są tylko etapy identyfikacji i hasła." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2814,6 +2889,7 @@ msgstr "Wróć do poprzedniej strony" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2823,6 +2899,7 @@ msgstr "Grupa" msgid "Group Info" msgstr "Informacje o grupie" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Mapowanie właściwości grupy" @@ -2855,7 +2932,6 @@ msgstr "Grupa(y)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Grupy" @@ -2897,13 +2973,17 @@ msgstr "" msgid "Health and Version" msgstr "Zdrowie i wersja" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Zdrowe placówki" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Zdrowe źródła" +#~ msgid "Healthy sources" +#~ msgstr "Zdrowe źródła" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2928,6 +3008,8 @@ msgstr "Ukryj konta serwisowe" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2993,8 +3075,10 @@ msgstr "Ikona pokazana w karcie przeglądarki." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Identyfikator" @@ -3048,6 +3132,10 @@ msgstr "Jeśli nie zostaną określone żadne jawne identyfikatory URI przekiero #~ "Jeśli data zmiany hasła jest większa niż x dni w przeszłości, unieważnij hasło użytkownika\n" #~ "i pokaż informację." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3069,12 +3157,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "Jeśli ta flaga jest ustawiona, ten etap przejdzie do następnego etapu, gdy nie zostanie wysłane żadne zaproszenie. Domyślnie ten etap anuluje przepływ, gdy nie zostanie wysłane żadne zaproszenie." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "Jeśli ta opcja zostanie wybrana, token wygaśnie. Po wygaśnięciu token będzie podlegał rotacji." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "Jeśli używasz niejawnego przepływu po stronie klienta (gdzie punkt końcowy tokenu nie jest używany), prawdopodobnie chcesz zwiększyć ten czas." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "Jeśli używasz niejawnego przepływu po stronie klienta (gdzie punkt końcowy tokenu nie jest używany), prawdopodobnie chcesz zwiększyć ten czas." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3321,9 +3410,14 @@ msgstr "Mapowanie atrybutów LDAP" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "LDAP DN, w ramach którego można tworzyć żądania powiązania i żądania wyszukiwania." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "Stan synchronizacji LDAP" +#~ msgid "LDAP Sync status" +#~ msgstr "Stan synchronizacji LDAP" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3423,12 +3517,20 @@ msgstr "Link do korzystania z zaproszenia." msgid "Link users on unique identifier" msgstr "Łącz użytkowników za pomocą unikalnego identyfikatora" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Załaduj serwery" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3453,6 +3555,7 @@ msgstr "Załaduj serwery" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3468,15 +3571,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3485,8 +3588,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Ładowanie..." @@ -3653,7 +3758,6 @@ msgstr "Dopasowanie odbywa się na podstawie sufiksu domeny, więc jeśli wpisze msgid "Maximum age (in days)" msgstr "Maksymalny wiek (w dniach)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3784,6 +3888,7 @@ msgstr "Moje aplikacje" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3792,9 +3897,13 @@ msgstr "Moje aplikacje" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3950,6 +4059,7 @@ msgstr "Nginx (standalone)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "Nie" @@ -3980,6 +4090,10 @@ msgstr "Brak dodatkowych danych." msgid "No additional setup is required." msgstr "Nie jest wymagana żadna dodatkowa konfiguracja." +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4084,6 +4198,7 @@ msgstr "Nie używany przez żaden inny obiekt." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "Nie ty?" @@ -4135,8 +4250,12 @@ msgstr "Numer, z którego zostanie wysłana wiadomość SMS." #~ msgstr "Kody autoryzacji OAuth" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "Kody odświeżania OAuth" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "Kody odświeżania OAuth" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4206,6 +4325,7 @@ msgstr "Przesunięcie, po którym zgoda wygasa." #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4223,6 +4343,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Wyślij powiadomienie tylko raz, na przykład podczas wysyłania webhooka na kanał czatu." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "Otwórz przeglądarkę API" @@ -4287,8 +4411,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "Opcjonalnie wprowadź nazwę grupy. Aplikacje z identycznymi grupami są wyświetlane razem." #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "Opcjonalnie wstępnie wypełnij wartość wejściową" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "Opcjonalnie wstępnie wypełnij wartość wejściową" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4371,7 +4502,9 @@ msgstr "Placówki (Outposts) to wdrożenia komponentów uwierzytelniających do #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4674,6 +4807,7 @@ msgstr "Mapowanie właściwości" msgid "Property mappings" msgstr "Mapowanie właściwości" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Mapowania właściwości używane do tworzenia grup." @@ -4682,13 +4816,19 @@ msgstr "Mapowania właściwości używane do tworzenia grup." msgid "Property mappings used to user creation." msgstr "Mapowania właściwości używane do tworzenia użytkowników." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Ustawienia protokołu" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4805,6 +4945,14 @@ msgstr "Szybkie akcje" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "Surowe dane JWKS." @@ -4814,8 +4962,8 @@ msgid "Re-authenticate with plex" msgstr "Ponowne uwierzytelnienie za pomocą plex" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "Ponowna ocena zasad" +#~ msgid "Re-evaluate policies" +#~ msgstr "Ponowna ocena zasad" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4879,8 +5027,16 @@ msgstr "Odśwież" #~ msgstr "Kod odświeżania" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Kod(y) odświeżania" +#~ msgid "Refresh Code(s)" +#~ msgstr "Kod(y) odświeżania" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5070,6 +5226,7 @@ msgstr "Unieważniono?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Uruchom ponownie synchronizację" @@ -5100,6 +5257,19 @@ msgstr "Szczegóły SAML" #~ msgid "SAML details (import from metadata)" #~ msgstr "Szczegóły SAML (import z metadanych)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5253,10 +5423,15 @@ msgstr "Uwierzytelniający klucz bezpieczeństwa" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "Zobacz dokumentację, aby zobaczyć listę wszystkich zmiennych." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5265,6 +5440,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5482,6 +5661,10 @@ msgstr "Instalacja" msgid "Severity" msgstr "Poziom błędu" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Pokaż użytkownikowi dowolne pola wejściowe, na przykład podczas rejestracji. Dane są zapisywane w kontekście przepływu pod zmienną „prompt_data”." @@ -5758,6 +5941,14 @@ msgstr "Status" #~ msgid "Status: Enabled" #~ msgstr "Status: Włączony" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Zatrzymaj podszywanie się" @@ -5847,6 +6038,7 @@ msgstr "Pomyślnie utworzono zaproszenie." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "Pomyślnie utworzono mapowanie." @@ -5871,7 +6063,9 @@ msgstr "Pomyślnie utworzono monit." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "Pomyślnie utworzono dostawcę." @@ -6024,6 +6218,7 @@ msgstr "Pomyślnie zaktualizowano zaproszenie." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Pomyślnie zaktualizowano mapowanie." @@ -6052,7 +6247,9 @@ msgstr "Pomyślnie zaktualizowano monit." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "Pomyślnie zaktualizowano dostawcę." @@ -6149,9 +6346,15 @@ msgstr "Zestaw znaków symboli" msgid "Sync groups" msgstr "Synchronizuj grupy" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "Synchronizuj grupę nadrzędną" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Status synchronizacji" @@ -6233,6 +6436,7 @@ msgstr "Szablon" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "Najemca" @@ -6245,6 +6449,10 @@ msgstr "Najemca(y)" msgid "Tenants" msgstr "Najemcy" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6263,6 +6471,14 @@ msgstr "Testuj mapowanie właściwości" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "Tekst (tylko do odczytu): Proste wprowadzanie tekstu, ale nie można go edytować." +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Tekst: proste wprowadzanie tekstu" @@ -6495,8 +6711,9 @@ msgstr "Aby umożliwić użytkownikowi bezpośrednie zresetowanie hasła, skonfi msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "Aby zamiast tego używać SSL, użyj „ldaps://” i wyłącz tę opcję." -#~ msgid "Token" -#~ msgstr "Token" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Token" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6515,7 +6732,10 @@ msgstr "Token wygasa" msgid "Token is managed by authentik." msgstr "Token jest zarządzany przez authentik." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Ważność tokena" @@ -6649,6 +6869,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6778,9 +7000,13 @@ msgstr "" msgid "Unread notifications" msgstr "Nieprzeczytane powiadomienia" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Niezsynchronizowane źródła" +#~ msgid "Unsynced sources" +#~ msgstr "Niezsynchronizowane źródła" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6811,7 +7037,9 @@ msgstr "Aktualny!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6869,6 +7097,7 @@ msgid "Update Invitation" msgstr "Zaktualizuj zaproszenie" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "Aktualizuj dostawcę LDAP" @@ -6908,6 +7137,10 @@ msgstr "Aktualizuj monit" msgid "Update Proxy Provider" msgstr "Aktualizuj dostawcę proxy" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "Aktualizuj dostawcę SAML" @@ -7043,6 +7276,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7063,6 +7297,7 @@ msgstr "Użytkownik" msgid "User Info" msgstr "Informacje użytkownika" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "Mapowania właściwości użytkownika" @@ -7097,6 +7332,10 @@ msgstr "Zdarzenia użytkownika" msgid "User fields" msgstr "Pola użytkownika" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7445,6 +7684,10 @@ msgstr "Podczas łączenia się z serwerem LDAP za pomocą TLS, certyfikaty nie msgid "When connecting via SSH, this keypair is used for authentication." msgstr "Podczas łączenia przez SSH ta para kluczy jest używana do uwierzytelniania." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7574,6 +7817,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Tak" diff --git a/web/src/locales/pseudo-LOCALE.po b/web/src/locales/pseudo-LOCALE.po index ea6dc97f12c..7769fbcef85 100644 --- a/web/src/locales/pseudo-LOCALE.po +++ b/web/src/locales/pseudo-LOCALE.po @@ -17,6 +17,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #: src/elements/utils/TimeDeltaHelp.ts #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -35,6 +39,8 @@ msgstr "" #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -174,27 +180,32 @@ msgid "API request failed" msgstr "" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "" +#~ msgid "About applications" +#~ msgstr "" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "" -#: -#~ msgid "Access code validity" -#~ msgstr "" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "" +#~ msgid "Access token validity" +#~ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -467,6 +478,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "" @@ -623,6 +635,7 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "" @@ -639,6 +652,10 @@ msgstr "" msgid "Attempted to log in as {0}" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "" @@ -681,6 +698,7 @@ msgstr "" msgid "Authentication URL" msgstr "" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -924,8 +942,8 @@ msgid "Branding shown in page title and several other places." msgstr "" #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "" +#~ msgid "Browser" +#~ msgstr "" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1080,7 +1098,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1238,12 +1258,18 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "" @@ -1314,16 +1340,20 @@ msgstr "" #~ msgid "Configure WebAuthn" #~ msgstr "" -#: -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts @@ -1740,6 +1770,10 @@ msgstr "" msgid "Create {0}" msgstr "" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "" @@ -1963,8 +1997,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "" #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "" +#~ msgid "Device" +#~ msgstr "" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1991,6 +2025,10 @@ msgstr "" msgid "Diagram" msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2094,6 +2132,10 @@ msgstr "" msgid "Download signing certificate" msgstr "" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2170,7 +2212,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2349,22 +2393,34 @@ msgstr "" #~ msgstr "" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "" +#~ msgid "Evaluate on plan" +#~ msgstr "" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "" @@ -2381,7 +2437,7 @@ msgstr "" msgid "Event retention" msgstr "" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "" @@ -2408,6 +2464,10 @@ msgstr "" msgid "Exception" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #: #~ msgid "Execute" #~ msgstr "" @@ -2445,6 +2505,7 @@ msgid "Expires" msgstr "" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "" @@ -2453,6 +2514,7 @@ msgid "Expires?" msgstr "" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2494,6 +2556,7 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "" @@ -2506,6 +2569,7 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "" @@ -2535,6 +2599,10 @@ msgstr "" msgid "External host" msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2553,8 +2621,8 @@ msgid "Failed login" msgstr "" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "" +#~ msgid "Failed sources" +#~ msgstr "" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2694,9 +2762,14 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "" #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." msgstr "" +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." msgstr "" @@ -2857,6 +2930,7 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2866,6 +2940,7 @@ msgstr "" msgid "Group Info" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "" @@ -2898,7 +2973,6 @@ msgstr "" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "" @@ -2943,13 +3017,17 @@ msgstr "" msgid "Health and Version" msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "" +#~ msgid "Healthy sources" +#~ msgstr "" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2974,6 +3052,8 @@ msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -3041,8 +3121,10 @@ msgstr "" #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "" @@ -3097,6 +3179,10 @@ msgstr "" #~ "and show a notice." #~ msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3118,12 +3204,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "" +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "" #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3373,10 +3460,15 @@ msgstr "" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "" -#: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" msgstr "" +#: src/admin/admin-overview/AdminOverviewPage.ts +#~ msgid "LDAP Sync status" +#~ msgstr "" + #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" msgstr "" @@ -3476,12 +3568,20 @@ msgstr "" msgid "Link users on unique identifier" msgstr "" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3506,6 +3606,7 @@ msgstr "" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3521,15 +3622,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3538,8 +3639,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "" @@ -3707,7 +3810,6 @@ msgstr "" msgid "Maximum age (in days)" msgstr "" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3839,6 +3941,7 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3847,9 +3950,13 @@ msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -4005,6 +4112,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "" @@ -4035,6 +4143,10 @@ msgstr "" msgid "No additional setup is required." msgstr "" +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4141,6 +4253,7 @@ msgstr "" #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "" @@ -4196,7 +4309,11 @@ msgstr "" #~ msgstr "" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts @@ -4270,6 +4387,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4287,6 +4405,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "" @@ -4352,7 +4474,14 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "" #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts @@ -4440,7 +4569,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4755,6 +4886,7 @@ msgstr "" msgid "Property mappings" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "" @@ -4763,13 +4895,19 @@ msgstr "" msgid "Property mappings used to user creation." msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4889,6 +5027,14 @@ msgstr "" #~ msgid "RSA-SHA512" #~ msgstr "" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4898,8 +5044,8 @@ msgid "Re-authenticate with plex" msgstr "" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "" +#~ msgid "Re-evaluate policies" +#~ msgstr "" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4965,7 +5111,15 @@ msgstr "" #~ msgstr "" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" +#~ msgid "Refresh Code(s)" +#~ msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts @@ -5166,6 +5320,7 @@ msgstr "" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "" @@ -5198,6 +5353,19 @@ msgstr "" #~ msgid "SAML details (import from metadata)" #~ msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5352,10 +5520,15 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5364,6 +5537,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5589,6 +5766,10 @@ msgstr "" msgid "Severity" msgstr "" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "" @@ -5881,6 +6062,14 @@ msgstr "" #~ msgid "Status: Enabled" #~ msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "" @@ -5970,6 +6159,7 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "" @@ -5994,7 +6184,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "" @@ -6150,6 +6342,7 @@ msgstr "" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "" @@ -6178,7 +6371,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "" @@ -6278,10 +6473,16 @@ msgstr "" msgid "Sync groups" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #: #~ msgid "Sync parent group" #~ msgstr "" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "" @@ -6366,6 +6567,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "" @@ -6378,6 +6580,10 @@ msgstr "" msgid "Tenants" msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6396,6 +6602,14 @@ msgstr "" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "" @@ -6625,10 +6839,9 @@ msgstr "" msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "" -#: -#: -#~ msgid "Token" -#~ msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6647,7 +6860,10 @@ msgstr "" msgid "Token is managed by authentik." msgstr "" -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "" @@ -6781,6 +6997,8 @@ msgid "UPN" msgstr "" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6911,10 +7129,14 @@ msgstr "" msgid "Unread notifications" msgstr "" -#: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" msgstr "" +#: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts +#~ msgid "Unsynced sources" +#~ msgstr "" + #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" msgstr "" @@ -6944,7 +7166,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -7002,6 +7226,7 @@ msgid "Update Invitation" msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "" @@ -7041,6 +7266,10 @@ msgstr "" msgid "Update Proxy Provider" msgstr "" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "" @@ -7176,6 +7405,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7196,6 +7426,7 @@ msgstr "" msgid "User Info" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "" @@ -7234,6 +7465,10 @@ msgstr "" msgid "User fields" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7584,6 +7819,10 @@ msgstr "" msgid "When connecting via SSH, this keypair is used for authentication." msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7711,6 +7950,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "" diff --git a/web/src/locales/tr.po b/web/src/locales/tr.po index f376279a137..153bb6cf53d 100644 --- a/web/src/locales/tr.po +++ b/web/src/locales/tr.po @@ -20,6 +20,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/kimlik/kullanıcılar/ {0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -37,6 +41,8 @@ msgstr "(Biçim: saat=1; dakika=2; saniye= 3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -180,26 +186,32 @@ msgid "API request failed" msgstr "API isteği başarısız" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "Uygulamalar hakkında" +#~ msgid "About applications" +#~ msgstr "Uygulamalar hakkında" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "Erişim Anahtarı" -#~ msgid "Access code validity" -#~ msgstr "Erişim kodu geçerliliği" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "Erişim kodu geçerliliği" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "Erişim belirteci URL'si" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "Erişim belirteci geçerliliği" +#~ msgid "Access token validity" +#~ msgstr "Erişim belirteci geçerliliği" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -466,6 +478,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "Uygulama" @@ -625,6 +638,7 @@ msgstr "İddeler boş" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "Uygulamaya atanmış" @@ -640,6 +654,10 @@ msgstr "{0} nesneye atanır." msgid "Attempted to log in as {0}" msgstr "{0} olarak oturum açmaya çalışıldı" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "SAML Onaylamaları için kullanılan öznitelik adı. URN OID, şema referansı veya başka bir dize olabilir. Bu özellik eşlemesi NameID özelliği için kullanılıyorsa, bu alan atılır." @@ -681,6 +699,7 @@ msgstr "Kimlik Doğrulama Türü" msgid "Authentication URL" msgstr "Kimlik Doğrulama URL'si" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -919,8 +938,8 @@ msgid "Branding shown in page title and several other places." msgstr "Markalama sayfa başlığında ve başka yerlerde gösterilir." #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "Tarayıcı" +#~ msgid "Browser" +#~ msgstr "Tarayıcı" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1072,7 +1091,9 @@ msgstr "Parolanızı değiştirin" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1230,12 +1251,18 @@ msgstr "Müşteri Kimliği" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "İstemci IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "Müşteri Sırrı" @@ -1304,16 +1331,21 @@ msgstr "" #~ msgid "Configure WebAuthn" #~ msgstr "WebAuthn'i Yapılandır" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "Erişim kodlarının ne kadar süreyle geçerli olduğunu yapılandırın." +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "Erişim kodlarının ne kadar süreyle geçerli olduğunu yapılandırın." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "Erişim belirteçlerinin ne kadar süreyle geçerli olduğunu yapılandırın." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "Yenileme belirteçlerinin ve id_tokenlerinin ne kadar süreyle geçerli olduğunu yapılandırın." +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "Yenileme belirteçlerinin ve id_tokenlerinin ne kadar süreyle geçerli olduğunu yapılandırın." + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1724,6 +1756,10 @@ msgstr "" msgid "Create {0}" msgstr "Oluştur {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "Tarafından yaratıldı" @@ -1941,8 +1977,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "Oturumun ne kadar süreceğini belirler. Varsayılan 0 saniye, oturumların tarayıcı kapanana kadar sürdüğü anlamına gelir." #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "Cihaz" +#~ msgid "Device" +#~ msgstr "Cihaz" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1968,6 +2004,10 @@ msgstr "Aygıt (ler)" msgid "Diagram" msgstr "Diyagram" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2064,6 +2104,10 @@ msgstr "Indir Özel anahtar" msgid "Download signing certificate" msgstr "İmzalama sertifikasını indirme" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2138,7 +2182,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2310,22 +2356,34 @@ msgstr "Hata: desteklenmeyen kaynak ayarları: {0}" #~ msgstr "Hata: desteklenmeyen aşama alanı ayarları: {0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "Plana göre değerlendirin" +#~ msgid "Evaluate on plan" +#~ msgstr "Plana göre değerlendirin" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "Aşama kullanıcıya sunulmadan önce ilkeleri değerlendirin." #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "Akış planlama sürecinde ilkeleri değerlendir. Bunu giriş tabanlı ilkeler için devre dışı bırakın. Her iki seçenek de devre dışı bırakılırken olduğu gibi 'İlkeleri yeniden değerlendirme' ile birlikte kullanılmalıdır, ilkeler **değil** değerlendirilir." +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "Akış planlama sürecinde ilkeleri değerlendir. Bunu giriş tabanlı ilkeler için devre dışı bırakın. Her iki seçenek de devre dışı bırakılırken olduğu gibi 'İlkeleri yeniden değerlendirme' ile birlikte kullanılmalıdır, ilkeler **değil** değerlendirilir." + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "Olay Günlüğü" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "Olay bilgileri" @@ -2339,7 +2397,7 @@ msgstr "Olay bilgileri" msgid "Event retention" msgstr "Etkinliği saklama" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "Olay {0}" @@ -2366,6 +2424,10 @@ msgstr "" msgid "Exception" msgstr "Hata" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "Yürütme" @@ -2400,6 +2462,7 @@ msgid "Expires" msgstr "Süresi Doluyor" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "Geçerlilik süresi" @@ -2408,6 +2471,7 @@ msgid "Expires?" msgstr "Son kullanma tarihi mi?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2449,6 +2513,7 @@ msgstr "Akışı aktar" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "İfade" @@ -2460,6 +2525,7 @@ msgstr "İfade" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "Python kullanarak ifade." @@ -2489,6 +2555,10 @@ msgstr "" msgid "External host" msgstr "Harici ana bilgisayar" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2507,8 +2577,8 @@ msgid "Failed login" msgstr "Başarısız oturum açma" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "Başarısız kaynaklar" +#~ msgid "Failed sources" +#~ msgstr "Başarısız kaynaklar" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2647,8 +2717,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "Bu Aşama'yı yapılandırmak için kimliği doğrulanmış bir kullanıcı tarafından kullanılan akış. Boşsa, kullanıcı bu aşamayı yapılandıramaz." #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "Kullanıcıların kimlik doğrulaması için kullanılan akış. Şu anda yalnızca kimlik ve parola aşamaları desteklenmektedir." +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "Kullanıcıların kimlik doğrulaması için kullanılan akış. Şu anda yalnızca kimlik ve parola aşamaları desteklenmektedir." #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2808,6 +2883,7 @@ msgstr "Önceki sayfaya git" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2817,6 +2893,7 @@ msgstr "Grup" msgid "Group Info" msgstr "" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "Grup Özellik Eşlemeleri" @@ -2849,7 +2926,6 @@ msgstr "Grup (ler)" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "Gruplar" @@ -2891,13 +2967,17 @@ msgstr "" msgid "Health and Version" msgstr "Sağlık ve Versiyon" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "Sağlıklı üsler" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "Sağlıklı kaynaklar" +#~ msgid "Healthy sources" +#~ msgstr "Sağlıklı kaynaklar" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2922,6 +3002,8 @@ msgstr "Hizmet hesaplarını gizle" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2987,8 +3069,10 @@ msgstr "Tarayıcı sekmesinde gösterilen simge." #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "Tanımlayıcı" @@ -3040,6 +3124,10 @@ msgstr "" #~ "and show a notice." #~ msgstr "" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3061,12 +3149,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "Bu bayrak ayarlanırsa, Davet verilmediğinde bu Aşama bir sonraki Aşama'ya atlanır. Varsayılan olarak bu Aşama , davet verilmediğinde Akışı iptal eder." #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "Bu seçilirse, belirteç süresi dolacaktır. Süresi dolduktan sonra, belirteç döndürülür." #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "Kapalı, istemci tarafı akışı (belirteç bitiş noktasının kullanılmadığı) kullanıyorsanız, muhtemelen bu süreyi artırmak istersiniz." +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "Kapalı, istemci tarafı akışı (belirteç bitiş noktasının kullanılmadığı) kullanıyorsanız, muhtemelen bu süreyi artırmak istersiniz." #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3313,9 +3402,14 @@ msgstr "LDAP Öznitelik eşlemesi" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "Bağlama istekleri ve arama istekleri altında yapılabilen LDAP DN." +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP Eşitleme durumu" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP Eşitleme durumu" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3415,12 +3509,20 @@ msgstr "Daveti kullanmak için bağlantı." msgid "Link users on unique identifier" msgstr "Kullanıcıları benzersiz tanımlayıcıya bağlama" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "Sunucuları yükle" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3445,6 +3547,7 @@ msgstr "Sunucuları yükle" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3460,15 +3563,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3477,8 +3580,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "Yükleniyor..." @@ -3645,7 +3750,6 @@ msgstr "Eşleştirme, etki alanı sonekine göre yapılır, bu nedenle domain.tl msgid "Maximum age (in days)" msgstr "Maksimum yaş (gün olarak)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3776,6 +3880,7 @@ msgstr "Uygulamalarım" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3784,9 +3889,13 @@ msgstr "Uygulamalarım" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3942,6 +4051,7 @@ msgstr "Nginx (bağımsız)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "Hayır" @@ -3972,6 +4082,10 @@ msgstr "Ek veri yok." msgid "No additional setup is required." msgstr "Ek kurulum gerekmez." +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4076,6 +4190,7 @@ msgstr "Başka bir nesne tarafından kullanılmaz." #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "Sen değil mi?" @@ -4127,8 +4242,12 @@ msgstr "Numara SMS gönderilecektir." #~ msgstr "OAuth Yetkilendirme Kodları" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth Yenile Kodları" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth Yenile Kodları" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4198,6 +4317,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4215,6 +4335,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "Yalnızca bir kez bildirim gönderin, örneğin bir sohbet kanalına web kancası gönderirken." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "API Tarayıcısını aç" @@ -4279,8 +4403,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "" #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "İsteğe bağlı olarak giriş değerini önceden doldurun" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "İsteğe bağlı olarak giriş değerini önceden doldurun" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4363,7 +4494,9 @@ msgstr "Outposts, ters proxy'ler gibi farklı ortamları ve protokolleri destekl #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4664,6 +4797,7 @@ msgstr "Özellik Eşleştirmeleri" msgid "Property mappings" msgstr "Özellik eşlemeleri" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "Grup oluşturma için kullanılan özellik eşlemeleri." @@ -4672,13 +4806,19 @@ msgstr "Grup oluşturma için kullanılan özellik eşlemeleri." msgid "Property mappings used to user creation." msgstr "Kullanıcı oluşturma için kullanılan özellik eşlemeleri." +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "Protokol Ayarları" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4795,6 +4935,14 @@ msgstr "Hızlı eylemler" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4804,8 +4952,8 @@ msgid "Re-authenticate with plex" msgstr "plex ile yeniden kimlik doğrulama" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "İlkeleri yeniden değerlendirin" +#~ msgid "Re-evaluate policies" +#~ msgstr "İlkeleri yeniden değerlendirin" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4869,8 +5017,16 @@ msgstr "Yenile" #~ msgstr "Kodu Yenile" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "Kodları Yenile" +#~ msgid "Refresh Code(s)" +#~ msgstr "Kodları Yenile" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5060,6 +5216,7 @@ msgstr "İptal mi edildi?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "Eşzamanlamayı tekrar çalıştır" @@ -5090,6 +5247,19 @@ msgstr "" #~ msgid "SAML details (import from metadata)" #~ msgstr "" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5243,10 +5413,15 @@ msgstr "Güvenlik anahtarı kimlik doğrulayıcısı" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "Tüm değişkenlerin listesi için belgelere bakın." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5255,6 +5430,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5472,6 +5651,10 @@ msgstr "Kurulum" msgid "Severity" msgstr "Önem derecesi" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "Kullanıcıya rastgele giriş alanlarını göster, örneğin kayıt sırasında. Veriler akış bağlamında 'prompt_data' değişkeni altında kaydedilir." @@ -5748,6 +5931,14 @@ msgstr "Durum" #~ msgid "Status: Enabled" #~ msgstr "Durum: Etkin" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "Taklitçiliği durdurun" @@ -5837,6 +6028,7 @@ msgstr "Davet başarıyla oluşturuldu." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "Eşleme başarıyla oluşturuldu." @@ -5861,7 +6053,9 @@ msgstr "Başarıyla komut istemi oluşturuldu." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "Sağlayıcı başarıyla oluşturuldu." @@ -6014,6 +6208,7 @@ msgstr "Davet başarıyla güncellendi." #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "Eşleme başarıyla güncellendi." @@ -6042,7 +6237,9 @@ msgstr "İstemi başarıyla güncellendi." #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "Sağlayıcı başarıyla güncellendi." @@ -6139,9 +6336,15 @@ msgstr "Sembol karakter seti" msgid "Sync groups" msgstr "Grupları eşle" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "Üst grubu senkronize et" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "Durumu senkronize et" @@ -6223,6 +6426,7 @@ msgstr "Şablon" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "Sakin" @@ -6235,6 +6439,10 @@ msgstr "Sakin(ler)" msgid "Tenants" msgstr "Sakinler" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6253,6 +6461,14 @@ msgstr "Sınama Özellik Eşlemesi" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "Metin (salt okunur): Basit Metin girişi, ancak düzenlenemez." +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "Metin: Basit Metin girişi" @@ -6485,8 +6701,9 @@ msgstr "Kullanıcının parolasını doğrudan sıfırlamasına izin vermek içi msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "Bunun yerine SSL kullanmak için 'ldaps: //' kullanın ve bu seçeneği devre dışı bırakın." -#~ msgid "Token" -#~ msgstr "Belirteç" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "Belirteç" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6505,7 +6722,10 @@ msgstr "Belirteç son kullanma tarihi" msgid "Token is managed by authentik." msgstr "Token authentik tarafından yönetilir." -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "Belirteç geçerliliği" @@ -6639,6 +6859,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6768,9 +6990,13 @@ msgstr "" msgid "Unread notifications" msgstr "Okunmamış bildirimler" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "Eşitlenmemiş kaynaklar" +#~ msgid "Unsynced sources" +#~ msgstr "Eşitlenmemiş kaynaklar" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6801,7 +7027,9 @@ msgstr "Güncel!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6859,6 +7087,7 @@ msgid "Update Invitation" msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "LDAP Sağlayıcısını Güncelle" @@ -6898,6 +7127,10 @@ msgstr "Güncelleme İstemi" msgid "Update Proxy Provider" msgstr "Proxy Sağlayıcıyı Güncelle" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "SAML Sağlayıcısını Güncelle" @@ -7033,6 +7266,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7053,6 +7287,7 @@ msgstr "Kullanıcı" msgid "User Info" msgstr "Kullanıcı Bilgileri" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "Kullanıcı Özellik Eşlemeleri" @@ -7087,6 +7322,10 @@ msgstr "Kullanıcı olayları" msgid "User fields" msgstr "Kullanıcı alanları" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7433,6 +7672,10 @@ msgstr "TLS ile bir LDAP Sunucusuna bağlanırken, sertifikalar varsayılan olar msgid "When connecting via SSH, this keypair is used for authentication." msgstr "SSH üzerinden bağlanırken, bu anahtar çifti kimlik doğrulama için kullanılır." +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7562,6 +7805,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Evet" diff --git a/web/src/locales/zh-Hans.po b/web/src/locales/zh-Hans.po index d962e84ffd3..2376c862497 100644 --- a/web/src/locales/zh-Hans.po +++ b/web/src/locales/zh-Hans.po @@ -22,6 +22,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "(格式:days=-1;minutes=-2;seconds=-3)。" @@ -39,6 +43,8 @@ msgstr "(格式:hours=1;minutes=2;seconds=3)。" #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -182,26 +188,32 @@ msgid "API request failed" msgstr "API 请求失败" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "关于应用" +#~ msgid "About applications" +#~ msgstr "关于应用" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "访问密钥" -#~ msgid "Access code validity" -#~ msgstr "访问代码有效性" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "访问代码有效性" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "访问令牌 URL" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "访问令牌有效性" +#~ msgid "Access token validity" +#~ msgstr "访问令牌有效性" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -472,6 +484,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "应用" @@ -631,6 +644,7 @@ msgstr "断言为空" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "分配给应用程序" @@ -646,6 +660,10 @@ msgstr "已分配给 {0} 个对象。" msgid "Attempted to log in as {0}" msgstr "已尝试以 {0} 身份登录" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "用于 SAML 断言的属性名称。可以是 URN OID、Schema Reference 或任何其他字符串。如果此属性映射用于 NameID 属性,则会丢弃此字段。" @@ -687,6 +705,7 @@ msgstr "身份验证类型" msgid "Authentication URL" msgstr "身份验证 URL" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -925,8 +944,8 @@ msgid "Branding shown in page title and several other places." msgstr "品牌信息显示在页面标题和其他几个地方。" #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "浏览器" +#~ msgid "Browser" +#~ msgstr "浏览器" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1078,7 +1097,9 @@ msgstr "更改您的密码" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1238,12 +1259,18 @@ msgstr "客户端 ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "客户端 IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "客户端 Secret" @@ -1312,16 +1339,21 @@ msgstr "配置阶段" #~ msgid "Configure WebAuthn" #~ msgstr "配置 WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "配置访问代码的有效期限。" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "配置访问代码的有效期限。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "配置访问令牌的有效期限。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "配置刷新令牌及其 id_tokens 的有效期限。" +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "配置刷新令牌及其 id_tokens 的有效期限。" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1732,6 +1764,10 @@ msgstr "" msgid "Create {0}" msgstr "创建 {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "创建者" @@ -1949,8 +1985,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "确定会话持续多长时间。默认为 0 秒意味着会话持续到浏览器关闭为止。" #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "设备" +#~ msgid "Device" +#~ msgstr "设备" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1976,6 +2012,10 @@ msgstr "设备" msgid "Diagram" msgstr "流程图" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2072,6 +2112,10 @@ msgstr "下载私钥" msgid "Download signing certificate" msgstr "下载签名证书" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2146,7 +2190,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2318,22 +2364,34 @@ msgstr "错误:不支持的源设置:{0}" #~ msgstr "错误:不支持的阶段设置:{0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "规划时进行评估" +#~ msgid "Evaluate on plan" +#~ msgstr "规划时进行评估" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "在阶段即将呈现给用户时评估策略。" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与“重新评估策略”结合使用,因为如果同时禁用这两个选项,则**不**评估策略。" +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与“重新评估策略”结合使用,因为如果同时禁用这两个选项,则**不**评估策略。" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "事件日志" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "事件信息" @@ -2347,7 +2405,7 @@ msgstr "事件信息" msgid "Event retention" msgstr "事件保留" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "事件 {0}" @@ -2374,6 +2432,10 @@ msgstr "" msgid "Exception" msgstr "异常" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "执行" @@ -2408,6 +2470,7 @@ msgid "Expires" msgstr "过期" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "过期时间" @@ -2416,6 +2479,7 @@ msgid "Expires?" msgstr "过期?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2457,6 +2521,7 @@ msgstr "导出流程" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "表达式" @@ -2468,6 +2533,7 @@ msgstr "表达式" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "使用 Python 的表达式。" @@ -2497,6 +2563,10 @@ msgstr "" msgid "External host" msgstr "外部主机" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2515,8 +2585,8 @@ msgid "Failed login" msgstr "登录失败" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "失败的源" +#~ msgid "Failed sources" +#~ msgstr "失败的源" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2655,8 +2725,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "经过身份验证的用户用来配置此阶段的流程。如果为空,用户将无法配置此阶段。" #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "用于用户进行身份验证的流程。目前仅支持身份识别和密码阶段。" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "用于用户进行身份验证的流程。目前仅支持身份识别和密码阶段。" #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2816,6 +2891,7 @@ msgstr "前往上一页" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2825,6 +2901,7 @@ msgstr "组" msgid "Group Info" msgstr "组信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "组属性映射" @@ -2857,7 +2934,6 @@ msgstr "组" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "组" @@ -2899,13 +2975,17 @@ msgstr "" msgid "Health and Version" msgstr "健康状态与版本" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "健康的前哨" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "健康的源" +#~ msgid "Healthy sources" +#~ msgstr "健康的源" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2930,6 +3010,8 @@ msgstr "隐藏服务账户" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2995,8 +3077,10 @@ msgstr "浏览器选项卡中显示的图标。" #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "标识符" @@ -3048,6 +3132,10 @@ msgstr "如果未指定显式重定向 URI,则将保存第一个成功使用 #~ "and show a notice." #~ msgstr "如果密码已经超过 X 天未更改,使该用户的密码失效并显示提醒。 " +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3069,12 +3157,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "如果设置了此标志,则当没有发出邀请时,此阶段将跳转到下一个阶段。默认情况下,当没有发出邀请时,此阶段将取消流程。" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "如果选择此选项,令牌将能够过期。过期时,令牌将被轮换。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "如果您使用的是隐式的客户端流程(不使用令牌端点),您可能想增加此时间。" +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "如果您使用的是隐式的客户端流程(不使用令牌端点),您可能想增加此时间。" #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3321,9 +3410,14 @@ msgstr "LDAP 属性映射" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "可以发出绑定请求和搜索请求的 LDAP DN。" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP 同步状态" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP 同步状态" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3423,12 +3517,20 @@ msgstr "使用邀请的链接。" msgid "Link users on unique identifier" msgstr "使用唯一标识符链接用户" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "加载服务器" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3453,6 +3555,7 @@ msgstr "加载服务器" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3468,15 +3571,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3485,8 +3588,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "正在加载……" @@ -3653,7 +3758,6 @@ msgstr "根据域名后缀完成匹配,因此,如果您输入 domain.tld,f msgid "Maximum age (in days)" msgstr "最长使用期限(单位为天)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3784,6 +3888,7 @@ msgstr "我的应用" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3792,9 +3897,13 @@ msgstr "我的应用" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3950,6 +4059,7 @@ msgstr "Nginx(独立)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "否" @@ -3980,6 +4090,10 @@ msgstr "没有可用的额外数据。" msgid "No additional setup is required." msgstr "无需进行额外设置。" +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4084,6 +4198,7 @@ msgstr "不被任何其他对象使用。" #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "不是您?" @@ -4135,8 +4250,12 @@ msgstr "短信的发信人号码。" #~ msgstr "OAuth 授权代码" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth 刷新代码" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth 刷新代码" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4206,6 +4325,7 @@ msgstr "同意过期后的偏移。" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4223,6 +4343,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "仅发送一次通知,例如在向聊天频道发送 Webhook 时。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "打开 API 浏览器" @@ -4287,8 +4411,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "输入可选的分组名称。分组相同的应用程序会显示在一起。 " #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "可选,预先填充输入值" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "可选,预先填充输入值" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4371,7 +4502,9 @@ msgstr "前哨是对 authentik 组件的部署,用于支持不同的环境和 #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4672,6 +4805,7 @@ msgstr "属性映射" msgid "Property mappings" msgstr "属性映射" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "用于创建组的属性映射。" @@ -4680,13 +4814,19 @@ msgstr "用于创建组的属性映射。" msgid "Property mappings used to user creation." msgstr "用于创建用户的属性映射。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "协议设置" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4803,6 +4943,14 @@ msgstr "快速操作" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "原始 JWKS 数据。" @@ -4812,8 +4960,8 @@ msgid "Re-authenticate with plex" msgstr "使用 Plex 重新验证身份" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "重新评估策略" +#~ msgid "Re-evaluate policies" +#~ msgstr "重新评估策略" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4877,8 +5025,16 @@ msgstr "刷新" #~ msgstr "刷新代码" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "刷新代码" +#~ msgid "Refresh Code(s)" +#~ msgstr "刷新代码" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5068,6 +5224,7 @@ msgstr "已吊销?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "再次运行同步" @@ -5098,6 +5255,19 @@ msgstr "SAML 详情" #~ msgid "SAML details (import from metadata)" #~ msgstr "SAML 详情(从元数据导入)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5251,10 +5421,15 @@ msgstr "安全密钥身份验证器" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "请阅读文档了解完整变量列表。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5263,6 +5438,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5480,6 +5659,10 @@ msgstr "设置" msgid "Severity" msgstr "严重程度" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "向用户显示任意输入字段,例如在注册期间。数据保存在流程上下文中的 'prompt_data' 变量下。" @@ -5756,6 +5939,14 @@ msgstr "状态" #~ msgid "Status: Enabled" #~ msgstr "状态:已启用" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "停止模拟身份" @@ -5845,6 +6036,7 @@ msgstr "已成功创建邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "已成功创建映射。" @@ -5869,7 +6061,9 @@ msgstr "已成功创建输入项。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "已成功创建提供程序。" @@ -6022,6 +6216,7 @@ msgstr "已成功更新邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "已成功更新映射。" @@ -6050,7 +6245,9 @@ msgstr "已成功更新输入项。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "已成功更新提供程序。" @@ -6147,9 +6344,15 @@ msgstr "符号字符集" msgid "Sync groups" msgstr "同步组" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "同步父组" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "同步状态" @@ -6231,6 +6434,7 @@ msgstr "模板" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "租户" @@ -6243,6 +6447,10 @@ msgstr "租户" msgid "Tenants" msgstr "租户" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6261,6 +6469,14 @@ msgstr "测试属性映射" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "文本(只读):简单文本输入,但无法编辑。" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "文本:简单文本输入" @@ -6493,8 +6709,9 @@ msgstr "要让用户直接重置密码,请在当前活动的租户上配置恢 msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "要改用 SSL,请使用 'ldaps: //' 并禁用此选项。" -#~ msgid "Token" -#~ msgstr "令牌" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "令牌" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6513,7 +6730,10 @@ msgstr "令牌过期" msgid "Token is managed by authentik." msgstr "令牌由 authentik 管理。" -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "令牌有效性" @@ -6647,6 +6867,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6776,9 +6998,13 @@ msgstr "" msgid "Unread notifications" msgstr "未读通知" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "未同步的源" +#~ msgid "Unsynced sources" +#~ msgstr "未同步的源" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6809,7 +7035,9 @@ msgstr "最新!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6867,6 +7095,7 @@ msgid "Update Invitation" msgstr "更新邀请" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "更新 LDAP 提供程序" @@ -6906,6 +7135,10 @@ msgstr "更新输入项" msgid "Update Proxy Provider" msgstr "更新代理提供程序" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "更新 SAML 提供程序" @@ -7041,6 +7274,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7061,6 +7295,7 @@ msgstr "用户" msgid "User Info" msgstr "用户信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "用户属性映射" @@ -7095,6 +7330,10 @@ msgstr "用户事件" msgid "User fields" msgstr "用户字段" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7443,6 +7682,10 @@ msgstr "使用 TLS 连接到 LDAP 服务器时,默认情况下不检查证书 msgid "When connecting via SSH, this keypair is used for authentication." msgstr "通过 SSH 连接时,此密钥对用于身份验证。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7572,6 +7815,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "是" diff --git a/web/src/locales/zh-Hant.po b/web/src/locales/zh-Hant.po index 7315067b5f1..c19a5a11d97 100644 --- a/web/src/locales/zh-Hant.po +++ b/web/src/locales/zh-Hant.po @@ -22,6 +22,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -39,6 +43,8 @@ msgstr "(格式: hours=1;minutes=2;seconds=3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -182,26 +188,32 @@ msgid "API request failed" msgstr "API 请求失败" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "关于应用" +#~ msgid "About applications" +#~ msgstr "关于应用" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "访问密钥" -#~ msgid "Access code validity" -#~ msgstr "访问代码有效性" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "访问代码有效性" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "访问令牌 URL" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "访问令牌有效性" +#~ msgid "Access token validity" +#~ msgstr "访问令牌有效性" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -472,6 +484,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -631,6 +644,7 @@ msgstr "断言为空" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "分配给应用程序" @@ -646,6 +660,10 @@ msgstr "已分配给 {0} 个对象。" msgid "Attempted to log in as {0}" msgstr "已尝试以 {0} 身份登入" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "用于 SAML 断言的属性名称。可以是 URN OID, 模式引用或任何其他字符串。如果此属性映射用于 NameID 属性,则会丢弃此字段。" @@ -687,6 +705,7 @@ msgstr "身份验证类型" msgid "Authentication URL" msgstr "身份验证 URL" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -925,8 +944,8 @@ msgid "Branding shown in page title and several other places." msgstr "品牌信息显示在页面标题和其他几个地方。" #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "浏览器" +#~ msgid "Browser" +#~ msgstr "浏览器" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1078,7 +1097,9 @@ msgstr "更改你的密码" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1238,12 +1259,18 @@ msgstr "客户端 ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "客户端 IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "客户端密钥" @@ -1312,16 +1339,21 @@ msgstr "配置阶段" #~ msgid "Configure WebAuthn" #~ msgstr "配置 WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "配置访问代码的有效期限。" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "配置访问代码的有效期限。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "配置访问令牌的有效时间。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "配置刷新令牌及其 id_tokens 的有效期限。" +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "配置刷新令牌及其 id_tokens 的有效期限。" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1732,6 +1764,10 @@ msgstr "" msgid "Create {0}" msgstr "创建 {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "由... 创建" @@ -1949,8 +1985,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "确定会话持续多长时间。默认为 0 秒意味着会话持续到浏览器关闭为止。" #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "设备" +#~ msgid "Device" +#~ msgstr "设备" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1976,6 +2012,10 @@ msgstr "设备" msgid "Diagram" msgstr "示意图" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2072,6 +2112,10 @@ msgstr "下载私钥" msgid "Download signing certificate" msgstr "下载签名证书" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2146,7 +2190,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2318,22 +2364,34 @@ msgstr "错误:不支持的源设置:{0}" #~ msgstr "错误:不支持的阶段设置:{0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "按计划进行评估" +#~ msgid "Evaluate on plan" +#~ msgstr "按计划进行评估" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "在阶段呈现给用户之前评估策略。" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与 “重新评估策略” 结合使用,因为禁用了这两个选项,则**不**评估策略。" +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与 “重新评估策略” 结合使用,因为禁用了这两个选项,则**不**评估策略。" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "事件日志" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "事件信息" @@ -2347,7 +2405,7 @@ msgstr "事件信息" msgid "Event retention" msgstr "事件保留" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "事件 {0}" @@ -2374,6 +2432,10 @@ msgstr "" msgid "Exception" msgstr "例外" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "执行" @@ -2408,6 +2470,7 @@ msgid "Expires" msgstr "过期" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "过期时间" @@ -2416,6 +2479,7 @@ msgid "Expires?" msgstr "过期?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2457,6 +2521,7 @@ msgstr "出口流程" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "表情" @@ -2468,6 +2533,7 @@ msgstr "表情" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "使用 Python 的表达式。" @@ -2497,6 +2563,10 @@ msgstr "" msgid "External host" msgstr "外部主机" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2515,8 +2585,8 @@ msgid "Failed login" msgstr "登入失败" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "失败的源" +#~ msgid "Failed sources" +#~ msgstr "失败的源" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2655,8 +2725,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "经过身份验证的用户用来配置此阶段的流程。如果为空,用户将无法配置此阶段。" #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "用于用户进行身份验证的流程。目前仅支持标识和密码阶段。" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "用于用户进行身份验证的流程。目前仅支持标识和密码阶段。" #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2816,6 +2891,7 @@ msgstr "转到上一页" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2825,6 +2901,7 @@ msgstr "组" msgid "Group Info" msgstr "组信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "组属性映射" @@ -2857,7 +2934,6 @@ msgstr "组" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "组" @@ -2899,13 +2975,17 @@ msgstr "" msgid "Health and Version" msgstr "运行状况和版本" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "健康的 Outposts" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "健康的源" +#~ msgid "Healthy sources" +#~ msgstr "健康的源" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2930,6 +3010,8 @@ msgstr "隐藏服务账户" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2995,8 +3077,10 @@ msgstr "浏览器选项卡中显示的图标。" #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "标识符" @@ -3048,6 +3132,10 @@ msgstr "如果未指定显式重定向 URI,则将保存第一个成功使用 #~ "and show a notice." #~ msgstr "如果密码已经超过 X 天未更改,使该用户的密码失效并显示提醒。 " +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3069,12 +3157,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "如果设置了此标志,则当没有发出邀请时,此舞台将跳转到下一个阶段。默认情况下,当没有发出邀请时,此阶段将取消流程。" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "如果选择此选项,令牌将过期。到期后,令牌将被轮换。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "如果你使用的是隐式的客户端流(其中不使用令牌端点),那么这次你可能想增加。" +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "如果你使用的是隐式的客户端流(其中不使用令牌端点),那么这次你可能想增加。" #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3321,9 +3410,14 @@ msgstr "LDAP 属性映射" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "可以发出绑定请求和搜索请求的 LDAP DN。" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP 同步状态" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP 同步状态" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3423,12 +3517,20 @@ msgstr "使用邀请的链接。" msgid "Link users on unique identifier" msgstr "使用唯一标识符链接用户" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "加载服务器" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3453,6 +3555,7 @@ msgstr "加载服务器" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3468,15 +3571,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3485,8 +3588,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "载入中……" @@ -3653,7 +3758,6 @@ msgstr "匹配是根据域名后缀完成的,因此,如果您输入 domain.t msgid "Maximum age (in days)" msgstr "最长使用期限(以天为单位)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3784,6 +3888,7 @@ msgstr "我的应用" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3792,9 +3897,13 @@ msgstr "我的应用" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3950,6 +4059,7 @@ msgstr "Nginx (standalone)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "No" @@ -3980,6 +4090,10 @@ msgstr "没有其他可用数据。" msgid "No additional setup is required." msgstr "无需进行其他设置。" +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4084,6 +4198,7 @@ msgstr "不被任何其他对象使用。" #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "不是你?" @@ -4135,8 +4250,12 @@ msgstr "发送短信的来源号码。" #~ msgstr "OAuth 授权码" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth 刷新代码" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth 刷新代码" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4206,6 +4325,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4223,6 +4343,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "仅发送一次通知,例如在向聊天频道发送 Webhook 时。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "打开 API 浏览器" @@ -4287,8 +4411,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "输入可选的分组名称。分组相同的应用程序会显示在一起。 " #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "(可选)预先填充输入值" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "(可选)预先填充输入值" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4371,7 +4502,9 @@ msgstr "Outpost 是对 authentik 组件的部署,以支持不同的环境和 #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4672,6 +4805,7 @@ msgstr "属性映射" msgid "Property mappings" msgstr "属性映射" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "用于组创建的属性映射。" @@ -4680,13 +4814,19 @@ msgstr "用于组创建的属性映射。" msgid "Property mappings used to user creation." msgstr "用于创建用户的属性映射。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "协议设置" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4803,6 +4943,14 @@ msgstr "快速行动" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4812,8 +4960,8 @@ msgid "Re-authenticate with plex" msgstr "使用 plex 重新进行身份验证" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "重新评估策略" +#~ msgid "Re-evaluate policies" +#~ msgstr "重新评估策略" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4877,8 +5025,16 @@ msgstr "刷新" #~ msgstr "刷新代码" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "刷新代码" +#~ msgid "Refresh Code(s)" +#~ msgstr "刷新代码" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5068,6 +5224,7 @@ msgstr "已吊销?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "再次运行同步" @@ -5098,6 +5255,19 @@ msgstr "SAML 详情" #~ msgid "SAML details (import from metadata)" #~ msgstr "SAML 详情(从元数据导入)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5251,10 +5421,15 @@ msgstr "安全密钥身份验证器" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "有关所有变量的列表,请参阅文档。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5263,6 +5438,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5480,6 +5659,10 @@ msgstr "设置" msgid "Severity" msgstr "严重程度" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "向用户显示任意输入字段,例如在注册期间。数据保存在流程上下文中的 “prompt_data” 变量下。" @@ -5756,6 +5939,14 @@ msgstr "状态" #~ msgid "Status: Enabled" #~ msgstr "状态:已启用" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "停止模拟" @@ -5845,6 +6036,7 @@ msgstr "已成功创建邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "已成功创建映射。" @@ -5869,7 +6061,9 @@ msgstr "已成功创建提示。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "已成功创建提供商。" @@ -6022,6 +6216,7 @@ msgstr "已成功更新邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "已成功更新映射。" @@ -6050,7 +6245,9 @@ msgstr "已成功更新提示。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "已成功更新提供程序。" @@ -6147,9 +6344,15 @@ msgstr "符号字符集" msgid "Sync groups" msgstr "同步组" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "同步父组" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "同步状态" @@ -6231,6 +6434,7 @@ msgstr "“模板”" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "租户" @@ -6243,6 +6447,10 @@ msgstr "租户" msgid "Tenants" msgstr "租户" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6261,6 +6469,14 @@ msgstr "测试属性映射" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "文本(只读):简单文本输入,但无法编辑。" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "文本:简单文本输入" @@ -6493,8 +6709,9 @@ msgstr "要让用户直接重置密码,请在当前活动的租户上配置恢 msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "要改用 SSL,请使用 'ldaps: //' 并禁用此选项。" -#~ msgid "Token" -#~ msgstr "令牌" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "令牌" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6513,7 +6730,10 @@ msgstr "令牌到期" msgid "Token is managed by authentik." msgstr "令牌由 authentik 管理。" -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "令牌有效性" @@ -6647,6 +6867,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6776,9 +6998,13 @@ msgstr "" msgid "Unread notifications" msgstr "未读通知" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "未同步的源" +#~ msgid "Unsynced sources" +#~ msgstr "未同步的源" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6809,7 +7035,9 @@ msgstr "最新!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6867,6 +7095,7 @@ msgid "Update Invitation" msgstr "更新邀请" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "更新 LDAP 提供程序" @@ -6906,6 +7135,10 @@ msgstr "更新提示" msgid "Update Proxy Provider" msgstr "更新代理提供程序" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "更新 SAML 提供程序" @@ -7041,6 +7274,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7061,6 +7295,7 @@ msgstr "用户" msgid "User Info" msgstr "用户信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "用户属性映射" @@ -7095,6 +7330,10 @@ msgstr "用户事件" msgid "User fields" msgstr "用户字段" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7443,6 +7682,10 @@ msgstr "使用 TLS 连接到 LDAP 服务器时,默认情况下不检查证书 msgid "When connecting via SSH, this keypair is used for authentication." msgstr "通过 SSH 连接时,此密钥对用于身份验证。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7572,6 +7815,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Yes" diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index b5f67faa494..1952d319c5e 100644 --- a/web/src/locales/zh_TW.po +++ b/web/src/locales/zh_TW.po @@ -22,6 +22,10 @@ msgstr "" #~ msgid "#/identity/users/{0}" #~ msgstr "#/identity/users/{0}" +#: src/elements/user/SessionList.ts +msgid "(Current session)" +msgstr "" + #~ msgid "(Format: days=-1;minutes=-2;seconds=-3)." #~ msgstr "" @@ -39,6 +43,8 @@ msgstr "(格式: hours=1;minutes=2;seconds=3)." #: src/admin/applications/ApplicationListPage.ts #: src/admin/events/EventListPage.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/groups/GroupListPage.ts #: src/admin/groups/MemberSelectModal.ts #: src/admin/groups/RelatedGroupList.ts @@ -182,26 +188,32 @@ msgid "API request failed" msgstr "API 请求失败" #: src/admin/applications/ApplicationListPage.ts -msgid "About applications" -msgstr "关于应用" +#~ msgid "About applications" +#~ msgstr "关于应用" #: src/admin/sources/oauth/OAuthSourceViewPage.ts msgid "Access Key" msgstr "访问密钥" -#~ msgid "Access code validity" -#~ msgstr "访问代码有效性" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access Token validity" +msgstr "" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Access code validity" +msgstr "访问代码有效性" #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Access token URL" msgstr "访问令牌 URL" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Access token validity" -msgstr "访问令牌有效性" +#~ msgid "Access token validity" +#~ msgstr "访问令牌有效性" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts @@ -472,6 +484,7 @@ msgid "Any policy must match to grant access" msgstr "" #: src/admin/events/EventInfo.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts msgid "App" msgstr "App" @@ -631,6 +644,7 @@ msgstr "断言为空" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Assigned to application" msgstr "分配给应用程序" @@ -646,6 +660,10 @@ msgstr "已分配给 {0} 个对象。" msgid "Attempted to log in as {0}" msgstr "已尝试以 {0} 身份登入" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Attribute mapping" +msgstr "" + #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded." msgstr "用于 SAML 断言的属性名称。可以是 URN OID, 模式引用或任何其他字符串。如果此属性映射用于 NameID 属性,则会丢弃此字段。" @@ -687,6 +705,7 @@ msgstr "身份验证类型" msgid "Authentication URL" msgstr "身份验证 URL" +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -925,8 +944,8 @@ msgid "Branding shown in page title and several other places." msgstr "品牌信息显示在页面标题和其他几个地方。" #: src/elements/user/SessionList.ts -msgid "Browser" -msgstr "浏览器" +#~ msgid "Browser" +#~ msgstr "浏览器" #: src/admin/admin-overview/cards/VersionStatusCard.ts #~ msgid "Build hash:" @@ -1078,7 +1097,9 @@ msgstr "更改你的密码" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -1238,12 +1259,18 @@ msgstr "客户端 ID" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "Client IP" msgstr "客户端 IP" +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Client Networks" +msgstr "" + #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Client Secret" msgstr "客户端密钥" @@ -1312,16 +1339,21 @@ msgstr "配置阶段" #~ msgid "Configure WebAuthn" #~ msgstr "配置 WebAuthn" -#~ msgid "Configure how long access codes are valid for." -#~ msgstr "配置访问代码的有效期限。" +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long access codes are valid for." +msgstr "配置访问代码的有效期限。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts msgid "Configure how long access tokens are valid for." msgstr "配置访问令牌的有效时间。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "Configure how long refresh tokens and their id_tokens are valid for." -msgstr "配置刷新令牌及其 id_tokens 的有效期限。" +#~ msgid "Configure how long refresh tokens and their id_tokens are valid for." +#~ msgstr "配置刷新令牌及其 id_tokens 的有效期限。" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Configure how long refresh tokens are valid for." +msgstr "" #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Configure how long tokens are valid for." @@ -1732,6 +1764,10 @@ msgstr "" msgid "Create {0}" msgstr "创建 {0}" +#: src/admin/events/EventViewPage.ts +msgid "Created" +msgstr "" + #: src/admin/stages/invitation/InvitationListPage.ts msgid "Created by" msgstr "由... 创建" @@ -1949,8 +1985,8 @@ msgid "Determines how long a session lasts. Default of 0 seconds means that the msgstr "确定会话持续多长时间。默认为 0 秒意味着会话持续到浏览器关闭为止。" #: src/elements/user/SessionList.ts -msgid "Device" -msgstr "设备" +#~ msgid "Device" +#~ msgstr "设备" #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts msgid "Device classes" @@ -1976,6 +2012,10 @@ msgstr "设备" msgid "Diagram" msgstr "示意图" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Different browsers handle session cookies differently, and might not remove them even when the browser is closed." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts msgid "Digest algorithm" @@ -2072,6 +2112,10 @@ msgstr "下载私钥" msgid "Download signing certificate" msgstr "下载签名证书" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Dropdown (fixed choice)" +msgstr "" + #: src/admin/providers/ldap/LDAPProviderForm.ts msgid "Due to protocol limitations, this certificate is only used when the outpost has a single provider, or all providers use the same certificate." msgstr "" @@ -2146,7 +2190,9 @@ msgstr "" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -2318,22 +2364,34 @@ msgstr "错误:不支持的源设置:{0}" #~ msgstr "错误:不支持的阶段设置:{0}" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate on plan" -msgstr "按计划进行评估" +#~ msgid "Evaluate on plan" +#~ msgstr "按计划进行评估" #: src/admin/flows/StageBindingForm.ts msgid "Evaluate policies before the Stage is present to the user." msgstr "在阶段呈现给用户之前评估策略。" #: src/admin/flows/StageBindingForm.ts -msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." -msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与 “重新评估策略” 结合使用,因为禁用了这两个选项,则**不**评估策略。" +msgid "Evaluate policies during the Flow planning process." +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +#~ msgid "Evaluate policies during the Flow planning process. Disable this for input-based policies. Should be used in conjunction with 'Re-evaluate policies', as with both options disabled, policies are **not** evaluated." +#~ msgstr "在流程规划过程中评估策略。对于基于输入的策略,请禁用此选项。应与 “重新评估策略” 结合使用,因为禁用了这两个选项,则**不**评估策略。" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when flow is planned" +msgstr "" + +#: src/admin/flows/StageBindingForm.ts +msgid "Evaluate when stage is run" +msgstr "" #: src/admin/events/EventListPage.ts msgid "Event Log" msgstr "事件日志" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event info" msgstr "事件信息" @@ -2347,7 +2405,7 @@ msgstr "事件信息" msgid "Event retention" msgstr "事件保留" -#: src/admin/events/EventInfoPage.ts +#: src/admin/events/EventViewPage.ts msgid "Event {0}" msgstr "事件 {0}" @@ -2374,6 +2432,10 @@ msgstr "" msgid "Exception" msgstr "例外" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Exclude service accounts" +msgstr "" + #~ msgid "Execute" #~ msgstr "执行" @@ -2408,6 +2470,7 @@ msgid "Expires" msgstr "过期" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "Expires on" msgstr "过期时间" @@ -2416,6 +2479,7 @@ msgid "Expires?" msgstr "过期?" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts #: src/user/user-settings/tokens/UserTokenList.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Expiring" @@ -2457,6 +2521,7 @@ msgstr "出口流程" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression" msgstr "表情" @@ -2468,6 +2533,7 @@ msgstr "表情" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Expression using Python." msgstr "使用 Python 的表达式。" @@ -2497,6 +2563,10 @@ msgstr "" msgid "External host" msgstr "外部主机" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Failed" +msgstr "" + #: src/admin/admin-overview/charts/AdminLoginAuthorizeChart.ts #: src/admin/users/UserChart.ts msgid "Failed Logins" @@ -2515,8 +2585,8 @@ msgid "Failed login" msgstr "登入失败" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Failed sources" -msgstr "失败的源" +#~ msgid "Failed sources" +#~ msgstr "失败的源" #: src/admin/flows/FlowListPage.ts msgid "Failed to delete flow cache" @@ -2655,8 +2725,13 @@ msgid "Flow used by an authenticated user to configure this Stage. If empty, use msgstr "经过身份验证的用户用来配置此阶段的流程。如果为空,用户将无法配置此阶段。" #: src/admin/providers/ldap/LDAPProviderForm.ts -msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." -msgstr "用于用户进行身份验证的流程。目前仅支持标识和密码阶段。" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Flow used for users to authenticate." +msgstr "" + +#: src/admin/providers/ldap/LDAPProviderForm.ts +#~ msgid "Flow used for users to authenticate. Currently only identification and password stages are supported." +#~ msgstr "用于用户进行身份验证的流程。目前仅支持标识和密码阶段。" #: src/admin/tenants/TenantForm.ts msgid "Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used." @@ -2816,6 +2891,7 @@ msgstr "转到上一页" #: src/admin/events/RuleForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/user_write/UserWriteStageForm.ts msgid "Group" @@ -2825,6 +2901,7 @@ msgstr "组" msgid "Group Info" msgstr "组信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Group Property Mappings" msgstr "组属性映射" @@ -2857,7 +2934,6 @@ msgstr "组" #: src/admin/AdminInterface.ts #: src/admin/groups/GroupListPage.ts -#: src/admin/users/UserForm.ts #: src/admin/users/UserViewPage.ts msgid "Groups" msgstr "组" @@ -2899,13 +2975,17 @@ msgstr "" msgid "Health and Version" msgstr "运行状况和版本" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Healthy" +msgstr "" + #: src/admin/admin-overview/charts/OutpostStatusChart.ts msgid "Healthy outposts" msgstr "健康的 Outposts" #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Healthy sources" -msgstr "健康的源" +#~ msgid "Healthy sources" +#~ msgstr "健康的源" #: src/admin/stages/prompt/PromptForm.ts msgid "Help text" @@ -2930,6 +3010,8 @@ msgstr "隐藏服务账户" #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts @@ -2995,8 +3077,10 @@ msgstr "浏览器选项卡中显示的图标。" #: src/admin/system-tasks/SystemTaskListPage.ts #: src/admin/tokens/TokenForm.ts #: src/admin/tokens/TokenListPage.ts +#: src/admin/tokens/TokenListPage.ts #: src/user/user-settings/tokens/UserTokenForm.ts #: src/user/user-settings/tokens/UserTokenList.ts +#: src/user/user-settings/tokens/UserTokenList.ts msgid "Identifier" msgstr "标识符" @@ -3048,6 +3132,10 @@ msgstr "如果未指定显式重定向 URI,则将保存第一个成功使用 #~ "and show a notice." #~ msgstr "如果密码已经超过 X 天未更改,使该用户的密码失效并显示提醒。 " +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "If set to a duration above 0, the user will have the option to choose to \"stay signed in\", which will extend their session by the time specified here." +msgstr "" + #: src/admin/tenants/TenantForm.ts msgid "If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code." msgstr "" @@ -3069,12 +3157,13 @@ msgid "If this flag is set, this Stage will jump to the next Stage when no Invit msgstr "如果设置了此标志,则当没有发出邀请时,此舞台将跳转到下一个阶段。默认情况下,当没有发出邀请时,此阶段将取消流程。" #: src/admin/tokens/TokenForm.ts +#: src/admin/users/ServiceAccountForm.ts msgid "If this is selected, the token will expire. Upon expiration, the token will be rotated." msgstr "如果选择此选项,令牌将过期。到期后,令牌将被轮换。" #: src/admin/providers/oauth2/OAuth2ProviderForm.ts -msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." -msgstr "如果你使用的是隐式的客户端流(其中不使用令牌端点),那么这次你可能想增加。" +#~ msgid "If you are using an Implicit, client-side flow (where the token-endpoint isn't used), you probably want to increase this time." +#~ msgstr "如果你使用的是隐式的客户端流(其中不使用令牌端点),那么这次你可能想增加。" #: src/admin/outposts/OutpostDeploymentModal.ts msgid "If your authentik Instance is using a self-signed certificate, set this value." @@ -3321,9 +3410,14 @@ msgstr "LDAP 属性映射" msgid "LDAP DN under which bind requests and search requests can be made." msgstr "可以发出绑定请求和搜索请求的 LDAP DN。" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "LDAP Source" +msgstr "" + #: src/admin/admin-overview/AdminOverviewPage.ts -msgid "LDAP Sync status" -msgstr "LDAP 同步状态" +#~ msgid "LDAP Sync status" +#~ msgstr "LDAP 同步状态" #: src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts msgid "LDAP details" @@ -3423,12 +3517,20 @@ msgstr "使用邀请的链接。" msgid "Link users on unique identifier" msgstr "使用唯一标识符链接用户" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "" +"List of CIDRs (comma-seperated) that clients can connect from. A more specific\n" +"CIDR will match before a looser one. Clients connecting from a non-specified CIDR\n" +"will be dropped." +msgstr "" + #: src/admin/sources/plex/PlexSourceForm.ts msgid "Load servers" msgstr "加载服务器" #: src/admin/applications/ApplicationViewPage.ts #: src/admin/applications/ApplicationViewPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/table/Table.ts #: src/flow/FlowExecutor.ts #: src/flow/FlowExecutor.ts @@ -3453,6 +3555,7 @@ msgstr "加载服务器" #: src/flow/stages/identification/IdentificationStage.ts #: src/flow/stages/password/PasswordStage.ts #: src/flow/stages/prompt/PromptStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/LibraryPage.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts #: src/user/user-settings/details/UserSettingsFlowExecutor.ts @@ -3468,15 +3571,15 @@ msgstr "" #: src/admin/events/RuleForm.ts #: src/admin/flows/StageBindingForm.ts -#: src/admin/groups/GroupForm.ts #: src/admin/outposts/OutpostForm.ts #: src/admin/policies/event_matcher/EventMatcherPolicyForm.ts -#: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/stages/authenticator_validate/AuthenticatorValidateStageForm.ts @@ -3485,8 +3588,10 @@ msgstr "" #: src/admin/stages/invitation/InvitationListLink.ts #: src/admin/stages/prompt/PromptStageForm.ts #: src/admin/stages/prompt/PromptStageForm.ts -#: src/admin/users/UserForm.ts #: src/elements/Spinner.ts +#: src/elements/forms/SearchSelect.ts +#: src/standalone/loading/index.ts +#: src/standalone/loading/index.ts msgid "Loading..." msgstr "载入中……" @@ -3653,7 +3758,6 @@ msgstr "匹配是根据域名后缀完成的,因此,如果您输入 domain.t msgid "Maximum age (in days)" msgstr "最长使用期限(以天为单位)" -#: src/admin/groups/GroupForm.ts #: src/admin/groups/GroupListPage.ts #: src/admin/users/GroupSelectModal.ts msgid "Members" @@ -3784,6 +3888,7 @@ msgstr "我的应用" #: src/admin/property-mappings/PropertyMappingListPage.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts #: src/admin/providers/ProviderListPage.ts #: src/admin/providers/ldap/LDAPProviderForm.ts @@ -3792,9 +3897,13 @@ msgstr "我的应用" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderForm.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderForm.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/providers/saml/SAMLProviderImportForm.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceForm.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -3950,6 +4059,7 @@ msgstr "Nginx (standalone)" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "No" msgstr "No" @@ -3980,6 +4090,10 @@ msgstr "没有其他可用数据。" msgid "No additional setup is required." msgstr "无需进行其他设置。" +#: src/admin/providers/ProviderListPage.ts +msgid "No application required." +msgstr "" + #: src/elements/forms/ModalForm.ts #: src/elements/forms/ModalForm.ts #: src/elements/wizard/FormWizardPage.ts @@ -4084,6 +4198,7 @@ msgstr "不被任何其他对象使用。" #: src/flow/stages/captcha/CaptchaStage.ts #: src/flow/stages/consent/ConsentStage.ts #: src/flow/stages/password/PasswordStage.ts +#: src/flow/stages/user_login/UserLoginStage.ts msgid "Not you?" msgstr "不是你?" @@ -4135,8 +4250,12 @@ msgstr "发送短信的来源号码。" #~ msgstr "OAuth 授权码" #: src/admin/users/UserViewPage.ts -msgid "OAuth Refresh Codes" -msgstr "OAuth 刷新代码" +#~ msgid "OAuth Refresh Codes" +#~ msgstr "OAuth 刷新代码" + +#: src/admin/users/UserViewPage.ts +msgid "OAuth Refresh Tokens" +msgstr "" #: src/admin/sources/oauth/OAuthSourceDiagram.ts msgid "OAuth Source {0}" @@ -4206,6 +4325,7 @@ msgstr "" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/elements/events/ObjectChangelog.ts #: src/elements/events/UserEvents.ts msgid "On behalf of {0}" @@ -4223,6 +4343,10 @@ msgstr "" msgid "Only send notification once, for example when sending a webhook into a chat channel." msgstr "仅发送一次通知,例如在向聊天频道发送 Webhook 时。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Only sync users within the selected group." +msgstr "" + #: src/elements/notifications/APIDrawer.ts msgid "Open API Browser" msgstr "打开 API 浏览器" @@ -4287,8 +4411,15 @@ msgid "Optionally enter a group name. Applications with identical groups are sho msgstr "输入可选的分组名称。分组相同的应用程序会显示在一起。 " #: src/admin/stages/prompt/PromptForm.ts -msgid "Optionally pre-fill the input value" -msgstr "(可选)预先填充输入值" +#~ msgid "Optionally pre-fill the input value" +#~ msgstr "(可选)预先填充输入值" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "" +"Optionally pre-fill the input value.\n" +"When creating a \"Radio Button Group\" or \"Dropdown\", enable interpreting as\n" +"expression and return a list to return multiple choices." +msgstr "" #: src/admin/property-mappings/PropertyMappingSAMLForm.ts msgid "Optionally set the 'FriendlyName' value of the Assertion attribute." @@ -4371,7 +4502,9 @@ msgstr "Outpost 是对 authentik 组件的部署,以支持不同的环境和 #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts #: src/admin/sources/plex/PlexSourceViewPage.ts @@ -4672,6 +4805,7 @@ msgstr "属性映射" msgid "Property mappings" msgstr "属性映射" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "Property mappings used to group creation." msgstr "用于组创建的属性映射。" @@ -4680,13 +4814,19 @@ msgstr "用于组创建的属性映射。" msgid "Property mappings used to user creation." msgstr "用于创建用户的属性映射。" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Property mappings used to user mapping." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderViewPage.ts msgid "Protocol Settings" msgstr "协议设置" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/oauth/OAuthSourceForm.ts #: src/admin/sources/plex/PlexSourceForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts @@ -4803,6 +4943,14 @@ msgstr "快速行动" #~ msgid "RSA-SHA512" #~ msgstr "RSA-SHA512" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Radio Button Group (fixed choice)" +msgstr "" + +#: src/admin/outposts/OutpostListPage.ts +msgid "Radius" +msgstr "" + #: src/admin/sources/oauth/OAuthSourceForm.ts msgid "Raw JWKS data." msgstr "" @@ -4812,8 +4960,8 @@ msgid "Re-authenticate with plex" msgstr "使用 plex 重新进行身份验证" #: src/admin/flows/StageBindingForm.ts -msgid "Re-evaluate policies" -msgstr "重新评估策略" +#~ msgid "Re-evaluate policies" +#~ msgstr "重新评估策略" #: src/flow/stages/authenticator_validate/AuthenticatorValidateStage.ts msgid "Receive a push notification on your device." @@ -4877,8 +5025,16 @@ msgstr "刷新" #~ msgstr "刷新代码" #: src/elements/oauth/UserRefreshList.ts -msgid "Refresh Code(s)" -msgstr "刷新代码" +#~ msgid "Refresh Code(s)" +#~ msgstr "刷新代码" + +#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +msgid "Refresh Token validity" +msgstr "" + +#: src/elements/oauth/UserRefreshList.ts +msgid "Refresh Tokens(s)" +msgstr "" #: src/flow/stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage.ts msgid "Register device" @@ -5068,6 +5224,7 @@ msgstr "已吊销?" msgid "Root" msgstr "" +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Run sync again" msgstr "再次运行同步" @@ -5098,6 +5255,19 @@ msgstr "SAML 详情" #~ msgid "SAML details (import from metadata)" #~ msgstr "SAML 详情(从元数据导入)" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "SCIM Provider" +msgstr "" + +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "SCIM base url, usually ends in /v2." +msgstr "" + +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "SCIM provider is in preview." +msgstr "" + #: src/admin/providers/saml/SAMLProviderForm.ts #: src/admin/sources/saml/SAMLSourceForm.ts #~ msgid "SHA1" @@ -5251,10 +5421,15 @@ msgstr "安全密钥身份验证器" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "See documentation for a list of all variables." msgstr "有关所有变量的列表,请参阅文档。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "See here." +msgstr "" + #: src/admin/blueprints/BlueprintForm.ts msgid "See more about OCI support here:" msgstr "" @@ -5263,6 +5438,10 @@ msgstr "" msgid "See more here:" msgstr "" +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Select Yes to reduce the number of times you're asked to sign in." +msgstr "" + #: src/admin/applications/ApplicationForm.ts msgid "Select a provider that this application should use." msgstr "" @@ -5480,6 +5659,10 @@ msgstr "设置" msgid "Severity" msgstr "严重程度" +#: src/admin/providers/radius/RadiusProviderForm.ts +msgid "Shared secret" +msgstr "" + #: src/admin/stages/prompt/PromptStageForm.ts msgid "Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable." msgstr "向用户显示任意输入字段,例如在注册期间。数据保存在流程上下文中的 “prompt_data” 变量下。" @@ -5756,6 +5939,14 @@ msgstr "状态" #~ msgid "Status: Enabled" #~ msgstr "状态:已启用" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Stay signed in offset" +msgstr "" + +#: src/flow/stages/user_login/UserLoginStage.ts +msgid "Stay signed in?" +msgstr "" + #: src/user/UserInterface.ts msgid "Stop impersonation" msgstr "停止模拟" @@ -5845,6 +6036,7 @@ msgstr "已成功创建邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully created mapping." msgstr "已成功创建映射。" @@ -5869,7 +6061,9 @@ msgstr "已成功创建提示。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully created provider." msgstr "已成功创建提供商。" @@ -6022,6 +6216,7 @@ msgstr "已成功更新邀请。" #: src/admin/property-mappings/PropertyMappingLDAPForm.ts #: src/admin/property-mappings/PropertyMappingNotification.ts #: src/admin/property-mappings/PropertyMappingSAMLForm.ts +#: src/admin/property-mappings/PropertyMappingSCIMForm.ts #: src/admin/property-mappings/PropertyMappingScopeForm.ts msgid "Successfully updated mapping." msgstr "已成功更新映射。" @@ -6050,7 +6245,9 @@ msgstr "已成功更新提示。" #: src/admin/providers/ldap/LDAPProviderForm.ts #: src/admin/providers/oauth2/OAuth2ProviderForm.ts #: src/admin/providers/proxy/ProxyProviderForm.ts +#: src/admin/providers/radius/RadiusProviderForm.ts #: src/admin/providers/saml/SAMLProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts msgid "Successfully updated provider." msgstr "已成功更新提供程序。" @@ -6147,9 +6344,15 @@ msgstr "符号字符集" msgid "Sync groups" msgstr "同步组" +#: src/admin/providers/scim/SCIMProviderViewPage.ts +msgid "Sync not run yet." +msgstr "" + #~ msgid "Sync parent group" #~ msgstr "同步父组" +#: src/admin/admin-overview/AdminOverviewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts msgid "Sync status" msgstr "同步状态" @@ -6231,6 +6434,7 @@ msgstr "“模板”" #: src/admin/admin-overview/cards/RecentEventsCard.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts msgid "Tenant" msgstr "租户" @@ -6243,6 +6447,10 @@ msgstr "租户" msgid "Tenants" msgstr "租户" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "Terminate other sessions" +msgstr "" + #: src/admin/applications/ApplicationViewPage.ts #: src/admin/policies/PolicyListPage.ts #: src/admin/property-mappings/PropertyMappingListPage.ts @@ -6261,6 +6469,14 @@ msgstr "测试属性映射" msgid "Text (read-only): Simple Text input, but cannot be edited." msgstr "文本(只读):简单文本输入,但无法编辑。" +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area (read-only): Multiline text input, but cannot be edited." +msgstr "" + +#: src/admin/stages/prompt/PromptForm.ts +msgid "Text Area: Multiline text input" +msgstr "" + #: src/admin/stages/prompt/PromptForm.ts msgid "Text: Simple Text input" msgstr "文本:简单文本输入" @@ -6493,8 +6709,9 @@ msgstr "要让用户直接重置密码,请在当前活动的租户上配置恢 msgid "To use SSL instead, use 'ldaps://' and disable this option." msgstr "要改用 SSL,请使用 'ldaps: //' 并禁用此选项。" -#~ msgid "Token" -#~ msgstr "令牌" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token" +msgstr "令牌" #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6513,7 +6730,10 @@ msgstr "令牌到期" msgid "Token is managed by authentik." msgstr "令牌由 authentik 管理。" -#: src/admin/providers/oauth2/OAuth2ProviderForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "Token to authenticate with. Currently only bearer authentication is supported." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "Token validity" msgstr "令牌有效性" @@ -6647,6 +6867,8 @@ msgid "UPN" msgstr "UPN" #: src/admin/blueprints/BlueprintForm.ts +#: src/admin/providers/scim/SCIMProviderForm.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "URL" msgstr "" @@ -6776,9 +6998,13 @@ msgstr "" msgid "Unread notifications" msgstr "未读通知" +#: src/admin/admin-overview/charts/SyncStatusChart.ts +msgid "Unsynced / N/A" +msgstr "" + #: src/admin/admin-overview/charts/LDAPSyncStatusChart.ts -msgid "Unsynced sources" -msgstr "未同步的源" +#~ msgid "Unsynced sources" +#~ msgstr "未同步的源" #: src/admin/admin-overview/cards/VersionStatusCard.ts msgid "Up-to-date!" @@ -6809,7 +7035,9 @@ msgstr "最新!" #: src/admin/providers/ldap/LDAPProviderViewPage.ts #: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts #: src/admin/providers/proxy/ProxyProviderViewPage.ts +#: src/admin/providers/radius/RadiusProviderViewPage.ts #: src/admin/providers/saml/SAMLProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts #: src/admin/sources/SourceListPage.ts #: src/admin/sources/ldap/LDAPSourceViewPage.ts #: src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -6867,6 +7095,7 @@ msgid "Update Invitation" msgstr "更新邀请" #: src/admin/providers/ldap/LDAPProviderViewPage.ts +#: src/admin/providers/scim/SCIMProviderViewPage.ts msgid "Update LDAP Provider" msgstr "更新 LDAP 提供程序" @@ -6906,6 +7135,10 @@ msgstr "更新提示" msgid "Update Proxy Provider" msgstr "更新代理提供程序" +#: src/admin/providers/radius/RadiusProviderViewPage.ts +msgid "Update Radius Provider" +msgstr "" + #: src/admin/providers/saml/SAMLProviderViewPage.ts msgid "Update SAML Provider" msgstr "更新 SAML 提供程序" @@ -7041,6 +7274,7 @@ msgstr "" #: src/admin/applications/ApplicationCheckAccessForm.ts #: src/admin/events/EventInfo.ts #: src/admin/events/EventListPage.ts +#: src/admin/events/EventViewPage.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyBindingForm.ts #: src/admin/policies/PolicyTestForm.ts @@ -7061,6 +7295,7 @@ msgstr "用户" msgid "User Info" msgstr "用户信息" +#: src/admin/providers/scim/SCIMProviderForm.ts #: src/admin/sources/ldap/LDAPSourceForm.ts msgid "User Property Mappings" msgstr "用户属性映射" @@ -7095,6 +7330,10 @@ msgstr "用户事件" msgid "User fields" msgstr "用户字段" +#: src/admin/providers/scim/SCIMProviderForm.ts +msgid "User filtering" +msgstr "" + #: src/admin/users/UserListPage.ts msgid "User folders" msgstr "" @@ -7443,6 +7682,10 @@ msgstr "使用 TLS 连接到 LDAP 服务器时,默认情况下不检查证书 msgid "When connecting via SSH, this keypair is used for authentication." msgstr "通过 SSH 连接时,此密钥对用于身份验证。" +#: src/admin/stages/user_login/UserLoginStageForm.ts +msgid "When enabled, all previous sessions of the user will be terminated." +msgstr "" + #: src/admin/providers/proxy/ProxyProviderForm.ts msgid "When enabled, authentik will intercept the Authorization header to authenticate the request." msgstr "" @@ -7572,6 +7815,7 @@ msgstr "" #: src/admin/users/UserListPage.ts #: src/elements/oauth/UserRefreshList.ts #: src/elements/user/UserDevicesList.ts +#: src/flow/stages/user_login/UserLoginStage.ts #: src/user/user-settings/tokens/UserTokenList.ts msgid "Yes" msgstr "Yes" diff --git a/website/docs/outposts/manual-deploy-docker-compose.md b/website/docs/outposts/manual-deploy-docker-compose.md index 814122f2ca7..d1e84197401 100644 --- a/website/docs/outposts/manual-deploy-docker-compose.md +++ b/website/docs/outposts/manual-deploy-docker-compose.md @@ -19,11 +19,8 @@ services: # networks: # - foo ports: - - 4180:4180 - - 4443:4443 - # Starting in authentik 2021.9, use the ports below - # - 9000:9000 - # - 9443:9443 + - 9000:9000 + - 9443:9443 environment: AUTHENTIK_HOST: https://your-authentik.tld AUTHENTIK_INSECURE: "false" diff --git a/website/docs/providers/radius.md b/website/docs/providers/radius.md new file mode 100644 index 00000000000..4065d5acb6b --- /dev/null +++ b/website/docs/providers/radius.md @@ -0,0 +1,33 @@ +--- +title: Radius Provider +--- + +:::info +This feature is still in technical preview, so please report any Bugs you run into on [GitHub](https://github.com/goauthentik/authentik/issues) +::: + +You can configure a Radius Provider for applications that don't support any other protocols or require Radius. + +:::info +Note: This provider requires the deployment of the [Radius Outpost](../outposts/) +::: + +Currently, only authentication requests are supported. + +Authentication requests against the Radius Server use a flow in the background. This allows you to use the same policies and flows as you do for web-based logins. + +The following stages are supported: + +- [Identification](../flow/stages/identification/index.md) +- [Password](../flow/stages/password/index.md) +- [Authenticator validation](../flow/stages/authenticator_validate/index.md) + + Note: Authenticator validation currently only supports DUO, TOTP and static authenticators. + + For code-based authenticators, the code must be given as part of the bind password, separated by a semicolon. For example for the password `example-password` and the code `123456`, the input must be `example-password;123456`. + + SMS-based authenticators are not supported as they require a code to be sent from authentik, which is not possible during the bind. + +- [User Logout](../flow/stages/user_logout.md) +- [User Login](../flow/stages/user_login/index.md) +- [Deny](../flow/stages/deny.md) diff --git a/website/sidebars.js b/website/sidebars.js index 250d298fc6c..882ac34541b 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -55,6 +55,7 @@ module.exports = { ], }, "providers/saml", + "providers/radius", { type: "category", label: "Proxy Provider",