providers: add preview for mappings (#4254)
* preview Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web/admin: show provider page on application page Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * use oauth2 end session url instead of direct interface Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * dont show provider page on application page for now Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add UI for preview Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * translate and release notes Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * fix lint Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * separate saml api files Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * add api tests Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
0181a90d98
commit
609f95ac97
|
@ -49,11 +49,12 @@ from authentik.policies.hibp.api import HaveIBeenPwendPolicyViewSet
|
||||||
from authentik.policies.password.api import PasswordPolicyViewSet
|
from authentik.policies.password.api import PasswordPolicyViewSet
|
||||||
from authentik.policies.reputation.api import ReputationPolicyViewSet, ReputationViewSet
|
from authentik.policies.reputation.api import ReputationPolicyViewSet, ReputationViewSet
|
||||||
from authentik.providers.ldap.api import LDAPOutpostConfigViewSet, LDAPProviderViewSet
|
from authentik.providers.ldap.api import LDAPOutpostConfigViewSet, LDAPProviderViewSet
|
||||||
from authentik.providers.oauth2.api.provider import OAuth2ProviderViewSet
|
from authentik.providers.oauth2.api.providers import OAuth2ProviderViewSet
|
||||||
from authentik.providers.oauth2.api.scope import ScopeMappingViewSet
|
from authentik.providers.oauth2.api.scopes import ScopeMappingViewSet
|
||||||
from authentik.providers.oauth2.api.tokens import AuthorizationCodeViewSet, RefreshTokenViewSet
|
from authentik.providers.oauth2.api.tokens import AuthorizationCodeViewSet, RefreshTokenViewSet
|
||||||
from authentik.providers.proxy.api import ProxyOutpostConfigViewSet, ProxyProviderViewSet
|
from authentik.providers.proxy.api import ProxyOutpostConfigViewSet, ProxyProviderViewSet
|
||||||
from authentik.providers.saml.api import SAMLPropertyMappingViewSet, SAMLProviderViewSet
|
from authentik.providers.saml.api.property_mapping import SAMLPropertyMappingViewSet
|
||||||
|
from authentik.providers.saml.api.providers import SAMLProviderViewSet
|
||||||
from authentik.sources.ldap.api import LDAPPropertyMappingViewSet, LDAPSourceViewSet
|
from authentik.sources.ldap.api import LDAPPropertyMappingViewSet, LDAPSourceViewSet
|
||||||
from authentik.sources.oauth.api.source import OAuthSourceViewSet
|
from authentik.sources.oauth.api.source import OAuthSourceViewSet
|
||||||
from authentik.sources.oauth.api.source_connection import UserOAuthSourceConnectionViewSet
|
from authentik.sources.oauth.api.source_connection import UserOAuthSourceConnectionViewSet
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from django.db.models import Model
|
from django.db.models import Model
|
||||||
from rest_framework.fields import CharField, IntegerField
|
from rest_framework.fields import CharField, IntegerField, JSONField
|
||||||
from rest_framework.serializers import Serializer, SerializerMethodField, ValidationError
|
from rest_framework.serializers import Serializer, SerializerMethodField, ValidationError
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,6 +23,12 @@ class PassiveSerializer(Serializer):
|
||||||
return Model()
|
return Model()
|
||||||
|
|
||||||
|
|
||||||
|
class PropertyMappingPreviewSerializer(PassiveSerializer):
|
||||||
|
"""Preview how the current user is mapped via the property mappings selected in a provider"""
|
||||||
|
|
||||||
|
preview = JSONField(read_only=True)
|
||||||
|
|
||||||
|
|
||||||
class MetaNameSerializer(PassiveSerializer):
|
class MetaNameSerializer(PassiveSerializer):
|
||||||
"""Add verbose names to response"""
|
"""Add verbose names to response"""
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,12 @@ from rest_framework.request import Request
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.viewsets import ModelViewSet
|
from rest_framework.viewsets import ModelViewSet
|
||||||
|
|
||||||
|
from authentik.api.decorators import permission_required
|
||||||
from authentik.core.api.providers import ProviderSerializer
|
from authentik.core.api.providers import ProviderSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import PassiveSerializer
|
from authentik.core.api.utils import PassiveSerializer, PropertyMappingPreviewSerializer
|
||||||
from authentik.core.models import Provider
|
from authentik.core.models import Provider
|
||||||
from authentik.providers.oauth2.models import OAuth2Provider
|
from authentik.providers.oauth2.models import OAuth2Provider, RefreshToken, ScopeMapping
|
||||||
|
|
||||||
|
|
||||||
class OAuth2ProviderSerializer(ProviderSerializer):
|
class OAuth2ProviderSerializer(ProviderSerializer):
|
||||||
|
@ -115,7 +116,7 @@ class OAuth2ProviderViewSet(UsedByMixin, ModelViewSet):
|
||||||
)
|
)
|
||||||
data["logout"] = request.build_absolute_uri(
|
data["logout"] = request.build_absolute_uri(
|
||||||
reverse(
|
reverse(
|
||||||
"authentik_core:if-session-end",
|
"authentik_providers_oauth2:end-session",
|
||||||
kwargs={"application_slug": provider.application.slug},
|
kwargs={"application_slug": provider.application.slug},
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -128,3 +129,28 @@ class OAuth2ProviderViewSet(UsedByMixin, ModelViewSet):
|
||||||
except Provider.application.RelatedObjectDoesNotExist: # pylint: disable=no-member
|
except Provider.application.RelatedObjectDoesNotExist: # pylint: disable=no-member
|
||||||
pass
|
pass
|
||||||
return Response(data)
|
return Response(data)
|
||||||
|
|
||||||
|
@permission_required(
|
||||||
|
"authentik_providers_oauth2.view_oauth2provider",
|
||||||
|
)
|
||||||
|
@extend_schema(
|
||||||
|
responses={
|
||||||
|
200: PropertyMappingPreviewSerializer(),
|
||||||
|
400: OpenApiResponse(description="Bad request"),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
@action(detail=True, methods=["GET"])
|
||||||
|
# pylint: disable=invalid-name, unused-argument
|
||||||
|
def preview_user(self, request: Request, pk: int) -> Response:
|
||||||
|
"""Preview user data for provider"""
|
||||||
|
provider: OAuth2Provider = self.get_object()
|
||||||
|
temp_token = RefreshToken()
|
||||||
|
temp_token.scope = ScopeMapping.objects.filter(provider=provider).values_list(
|
||||||
|
"scope_name", flat=True
|
||||||
|
)
|
||||||
|
temp_token.provider = provider
|
||||||
|
temp_token.user = request.user
|
||||||
|
serializer = PropertyMappingPreviewSerializer(
|
||||||
|
instance={"preview": temp_token.create_id_token(request.user, request).to_dict()}
|
||||||
|
)
|
||||||
|
return Response(serializer.data)
|
|
@ -12,7 +12,7 @@ from rest_framework.viewsets import GenericViewSet
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.users import UserSerializer
|
from authentik.core.api.users import UserSerializer
|
||||||
from authentik.core.api.utils import MetaNameSerializer
|
from authentik.core.api.utils import MetaNameSerializer
|
||||||
from authentik.providers.oauth2.api.provider import OAuth2ProviderSerializer
|
from authentik.providers.oauth2.api.providers import OAuth2ProviderSerializer
|
||||||
from authentik.providers.oauth2.models import AuthorizationCode, RefreshToken
|
from authentik.providers.oauth2.models import AuthorizationCode, RefreshToken
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ class ScopeMapping(PropertyMapping):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def serializer(self) -> type[Serializer]:
|
def serializer(self) -> type[Serializer]:
|
||||||
from authentik.providers.oauth2.api.scope import ScopeMappingSerializer
|
from authentik.providers.oauth2.api.scopes import ScopeMappingSerializer
|
||||||
|
|
||||||
return ScopeMappingSerializer
|
return ScopeMappingSerializer
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ class OAuth2Provider(Provider):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def serializer(self) -> type[Serializer]:
|
def serializer(self) -> type[Serializer]:
|
||||||
from authentik.providers.oauth2.api.provider import OAuth2ProviderSerializer
|
from authentik.providers.oauth2.api.providers import OAuth2ProviderSerializer
|
||||||
|
|
||||||
return OAuth2ProviderSerializer
|
return OAuth2ProviderSerializer
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
"""Test OAuth2 API"""
|
||||||
|
from json import loads
|
||||||
|
|
||||||
|
from django.urls import reverse
|
||||||
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
|
from authentik.blueprints.tests import apply_blueprint
|
||||||
|
from authentik.core.models import Application
|
||||||
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
|
from authentik.lib.generators import generate_id, generate_key
|
||||||
|
from authentik.providers.oauth2.models import OAuth2Provider, ScopeMapping
|
||||||
|
|
||||||
|
|
||||||
|
class TestAPI(APITestCase):
|
||||||
|
"""Test api view"""
|
||||||
|
|
||||||
|
@apply_blueprint("system/providers-oauth2.yaml")
|
||||||
|
def setUp(self) -> None:
|
||||||
|
self.provider: OAuth2Provider = OAuth2Provider.objects.create(
|
||||||
|
name="test",
|
||||||
|
client_id=generate_id(),
|
||||||
|
client_secret=generate_key(),
|
||||||
|
authorization_flow=create_test_flow(),
|
||||||
|
redirect_uris="http://testserver",
|
||||||
|
)
|
||||||
|
self.provider.property_mappings.set(ScopeMapping.objects.all())
|
||||||
|
self.app = Application.objects.create(name="test", slug="test", provider=self.provider)
|
||||||
|
self.user = create_test_admin_user()
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
|
||||||
|
def test_preview(self):
|
||||||
|
"""Test Preview API Endpoint"""
|
||||||
|
response = self.client.get(
|
||||||
|
reverse("authentik_api:oauth2provider-preview-user", kwargs={"pk": self.provider.pk})
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
body = loads(response.content.decode())["preview"]
|
||||||
|
self.assertEqual(body["iss"], "http://testserver/application/o/test/")
|
||||||
|
|
||||||
|
def test_setup_urls(self):
|
||||||
|
"""Test Setup URLs API Endpoint"""
|
||||||
|
response = self.client.get(
|
||||||
|
reverse("authentik_api:oauth2provider-setup-urls", kwargs={"pk": self.provider.pk})
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
body = loads(response.content.decode())
|
||||||
|
self.assertEqual(body["issuer"], "http://testserver/application/o/test/")
|
|
@ -52,7 +52,7 @@ class ProviderInfoView(View):
|
||||||
),
|
),
|
||||||
"end_session_endpoint": self.request.build_absolute_uri(
|
"end_session_endpoint": self.request.build_absolute_uri(
|
||||||
reverse(
|
reverse(
|
||||||
"authentik_core:if-session-end",
|
"authentik_providers_oauth2:end-session",
|
||||||
kwargs={"application_slug": provider.application.slug},
|
kwargs={"application_slug": provider.application.slug},
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
"""SAML Property mappings API Views"""
|
||||||
|
from django_filters.filters import AllValuesMultipleFilter
|
||||||
|
from django_filters.filterset import FilterSet
|
||||||
|
from drf_spectacular.types import OpenApiTypes
|
||||||
|
from drf_spectacular.utils import extend_schema_field
|
||||||
|
from rest_framework.viewsets import ModelViewSet
|
||||||
|
|
||||||
|
from authentik.core.api.propertymappings import PropertyMappingSerializer
|
||||||
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
|
from authentik.providers.saml.models import SAMLPropertyMapping
|
||||||
|
|
||||||
|
|
||||||
|
class SAMLPropertyMappingSerializer(PropertyMappingSerializer):
|
||||||
|
"""SAMLPropertyMapping Serializer"""
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
|
||||||
|
model = SAMLPropertyMapping
|
||||||
|
fields = PropertyMappingSerializer.Meta.fields + [
|
||||||
|
"saml_name",
|
||||||
|
"friendly_name",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class SAMLPropertyMappingFilter(FilterSet):
|
||||||
|
"""Filter for SAMLPropertyMapping"""
|
||||||
|
|
||||||
|
managed = extend_schema_field(OpenApiTypes.STR)(AllValuesMultipleFilter(field_name="managed"))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = SAMLPropertyMapping
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
|
||||||
|
class SAMLPropertyMappingViewSet(UsedByMixin, ModelViewSet):
|
||||||
|
"""SAMLPropertyMapping Viewset"""
|
||||||
|
|
||||||
|
queryset = SAMLPropertyMapping.objects.all()
|
||||||
|
serializer_class = SAMLPropertyMappingSerializer
|
||||||
|
filterset_class = SAMLPropertyMappingFilter
|
||||||
|
search_fields = ["name"]
|
||||||
|
ordering = ["name"]
|
|
@ -7,15 +7,8 @@ from django.http.response import Http404, HttpResponse
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django_filters.filters import AllValuesMultipleFilter
|
|
||||||
from django_filters.filterset import FilterSet
|
|
||||||
from drf_spectacular.types import OpenApiTypes
|
from drf_spectacular.types import OpenApiTypes
|
||||||
from drf_spectacular.utils import (
|
from drf_spectacular.utils import OpenApiParameter, OpenApiResponse, extend_schema
|
||||||
OpenApiParameter,
|
|
||||||
OpenApiResponse,
|
|
||||||
extend_schema,
|
|
||||||
extend_schema_field,
|
|
||||||
)
|
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.fields import CharField, FileField, SerializerMethodField
|
from rest_framework.fields import CharField, FileField, SerializerMethodField
|
||||||
from rest_framework.parsers import MultiPartParser
|
from rest_framework.parsers import MultiPartParser
|
||||||
|
@ -28,15 +21,16 @@ from rest_framework.viewsets import ModelViewSet
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
|
||||||
from authentik.api.decorators import permission_required
|
from authentik.api.decorators import permission_required
|
||||||
from authentik.core.api.propertymappings import PropertyMappingSerializer
|
|
||||||
from authentik.core.api.providers import ProviderSerializer
|
from authentik.core.api.providers import ProviderSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.core.api.utils import PassiveSerializer
|
from authentik.core.api.utils import PassiveSerializer, PropertyMappingPreviewSerializer
|
||||||
from authentik.core.models import Provider
|
from authentik.core.models import Provider
|
||||||
from authentik.flows.models import Flow, FlowDesignation
|
from authentik.flows.models import Flow, FlowDesignation
|
||||||
from authentik.providers.saml.models import SAMLPropertyMapping, SAMLProvider
|
from authentik.providers.saml.models import SAMLProvider
|
||||||
|
from authentik.providers.saml.processors.assertion import AssertionProcessor
|
||||||
from authentik.providers.saml.processors.metadata import MetadataProcessor
|
from authentik.providers.saml.processors.metadata import MetadataProcessor
|
||||||
from authentik.providers.saml.processors.metadata_parser import ServiceProviderMetadataParser
|
from authentik.providers.saml.processors.metadata_parser import ServiceProviderMetadataParser
|
||||||
|
from authentik.providers.saml.processors.request_parser import AuthNRequest
|
||||||
from authentik.sources.saml.processors.constants import SAML_BINDING_POST, SAML_BINDING_REDIRECT
|
from authentik.sources.saml.processors.constants import SAML_BINDING_POST, SAML_BINDING_REDIRECT
|
||||||
|
|
||||||
LOGGER = get_logger()
|
LOGGER = get_logger()
|
||||||
|
@ -236,34 +230,31 @@ class SAMLProviderViewSet(UsedByMixin, ModelViewSet):
|
||||||
)
|
)
|
||||||
return Response(status=204)
|
return Response(status=204)
|
||||||
|
|
||||||
|
@permission_required(
|
||||||
class SAMLPropertyMappingSerializer(PropertyMappingSerializer):
|
"authentik_providers_saml.view_samlprovider",
|
||||||
"""SAMLPropertyMapping Serializer"""
|
)
|
||||||
|
@extend_schema(
|
||||||
class Meta:
|
responses={
|
||||||
|
200: PropertyMappingPreviewSerializer(),
|
||||||
model = SAMLPropertyMapping
|
400: OpenApiResponse(description="Bad request"),
|
||||||
fields = PropertyMappingSerializer.Meta.fields + [
|
},
|
||||||
"saml_name",
|
)
|
||||||
"friendly_name",
|
@action(detail=True, methods=["GET"])
|
||||||
]
|
# pylint: disable=invalid-name, unused-argument
|
||||||
|
def preview_user(self, request: Request, pk: int) -> Response:
|
||||||
|
"""Preview user data for provider"""
|
||||||
class SAMLPropertyMappingFilter(FilterSet):
|
provider: SAMLProvider = self.get_object()
|
||||||
"""Filter for SAMLPropertyMapping"""
|
processor = AssertionProcessor(provider, request._request, AuthNRequest())
|
||||||
|
attributes = processor.get_attributes()
|
||||||
managed = extend_schema_field(OpenApiTypes.STR)(AllValuesMultipleFilter(field_name="managed"))
|
name_id = processor.get_name_id()
|
||||||
|
data = []
|
||||||
class Meta:
|
for attribute in attributes:
|
||||||
model = SAMLPropertyMapping
|
item = {"Value": []}
|
||||||
fields = "__all__"
|
item.update(attribute.attrib)
|
||||||
|
for value in attribute:
|
||||||
|
item["Value"].append(value.text)
|
||||||
class SAMLPropertyMappingViewSet(UsedByMixin, ModelViewSet):
|
data.append(item)
|
||||||
"""SAMLPropertyMapping Viewset"""
|
serializer = PropertyMappingPreviewSerializer(
|
||||||
|
instance={"preview": {"attributes": data, "nameID": name_id.text}}
|
||||||
queryset = SAMLPropertyMapping.objects.all()
|
)
|
||||||
serializer_class = SAMLPropertyMappingSerializer
|
return Response(serializer.data)
|
||||||
filterset_class = SAMLPropertyMappingFilter
|
|
||||||
search_fields = ["name"]
|
|
||||||
ordering = ["name"]
|
|
|
@ -164,7 +164,7 @@ class SAMLProvider(Provider):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def serializer(self) -> type[Serializer]:
|
def serializer(self) -> type[Serializer]:
|
||||||
from authentik.providers.saml.api import SAMLProviderSerializer
|
from authentik.providers.saml.api.providers import SAMLProviderSerializer
|
||||||
|
|
||||||
return SAMLProviderSerializer
|
return SAMLProviderSerializer
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ class SAMLPropertyMapping(PropertyMapping):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def serializer(self) -> type[Serializer]:
|
def serializer(self) -> type[Serializer]:
|
||||||
from authentik.providers.saml.api import SAMLPropertyMappingSerializer
|
from authentik.providers.saml.api.property_mapping import SAMLPropertyMappingSerializer
|
||||||
|
|
||||||
return SAMLPropertyMappingSerializer
|
return SAMLPropertyMappingSerializer
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
"""SAML Provider API Tests"""
|
"""SAML Provider API Tests"""
|
||||||
|
from json import loads
|
||||||
from tempfile import TemporaryFile
|
from tempfile import TemporaryFile
|
||||||
|
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
|
from authentik.blueprints.tests import apply_blueprint
|
||||||
from authentik.core.models import Application
|
from authentik.core.models import Application
|
||||||
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
from authentik.core.tests.utils import create_test_admin_user, create_test_flow
|
||||||
from authentik.flows.models import FlowDesignation
|
from authentik.flows.models import FlowDesignation
|
||||||
from authentik.providers.saml.models import SAMLProvider
|
from authentik.providers.saml.models import SAMLPropertyMapping, SAMLProvider
|
||||||
from authentik.providers.saml.tests.test_metadata import METADATA_SIMPLE
|
from authentik.providers.saml.tests.test_metadata import METADATA_SIMPLE
|
||||||
|
|
||||||
|
|
||||||
|
@ -107,3 +109,24 @@ class TestSAMLProviderAPI(APITestCase):
|
||||||
format="multipart",
|
format="multipart",
|
||||||
)
|
)
|
||||||
self.assertEqual(400, response.status_code)
|
self.assertEqual(400, response.status_code)
|
||||||
|
|
||||||
|
@apply_blueprint("system/providers-saml.yaml")
|
||||||
|
def test_preview(self):
|
||||||
|
"""Test Preview API Endpoint"""
|
||||||
|
provider: SAMLProvider = SAMLProvider.objects.create(
|
||||||
|
name="test",
|
||||||
|
authorization_flow=create_test_flow(),
|
||||||
|
)
|
||||||
|
provider.property_mappings.set(SAMLPropertyMapping.objects.all())
|
||||||
|
Application.objects.create(name="test", provider=provider, slug="test")
|
||||||
|
response = self.client.get(
|
||||||
|
reverse("authentik_api:samlprovider-preview-user", kwargs={"pk": provider.pk})
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
body = loads(response.content.decode())["preview"]["attributes"]
|
||||||
|
self.assertEqual(
|
||||||
|
[x for x in body if x["Name"] == "http://schemas.goauthentik.io/2021/02/saml/username"][
|
||||||
|
0
|
||||||
|
]["Value"],
|
||||||
|
[self.user.username],
|
||||||
|
)
|
||||||
|
|
|
@ -8,7 +8,7 @@ from rest_framework.viewsets import ModelViewSet
|
||||||
|
|
||||||
from authentik.core.api.sources import SourceSerializer
|
from authentik.core.api.sources import SourceSerializer
|
||||||
from authentik.core.api.used_by import UsedByMixin
|
from authentik.core.api.used_by import UsedByMixin
|
||||||
from authentik.providers.saml.api import SAMLMetadataSerializer
|
from authentik.providers.saml.api.providers import SAMLMetadataSerializer
|
||||||
from authentik.sources.saml.models import SAMLSource
|
from authentik.sources.saml.models import SAMLSource
|
||||||
from authentik.sources.saml.processors.metadata import MetadataProcessor
|
from authentik.sources.saml.processors.metadata import MetadataProcessor
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-12-15 15:01+0000\n"
|
"POT-Creation-Date: 2022-12-20 23:41+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -988,11 +988,11 @@ msgstr ""
|
||||||
msgid "Proxy Providers"
|
msgid "Proxy Providers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: authentik/providers/saml/api.py:225
|
#: authentik/providers/saml/api.py:227
|
||||||
msgid "Invalid XML Syntax"
|
msgid "Invalid XML Syntax"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: authentik/providers/saml/api.py:235
|
#: authentik/providers/saml/api.py:237
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Failed to import Metadata: %(message)s"
|
msgid "Failed to import Metadata: %(message)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
73
schema.yml
73
schema.yml
|
@ -14663,6 +14663,36 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/GenericError'
|
$ref: '#/components/schemas/GenericError'
|
||||||
description: ''
|
description: ''
|
||||||
|
/providers/oauth2/{id}/preview_user/:
|
||||||
|
get:
|
||||||
|
operationId: providers_oauth2_preview_user_retrieve
|
||||||
|
description: Preview user data for provider
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: id
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: A unique integer value identifying this OAuth2/OpenID Provider.
|
||||||
|
required: true
|
||||||
|
tags:
|
||||||
|
- providers
|
||||||
|
security:
|
||||||
|
- authentik: []
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/PropertyMappingPreview'
|
||||||
|
description: ''
|
||||||
|
'400':
|
||||||
|
description: Bad request
|
||||||
|
'403':
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/GenericError'
|
||||||
|
description: ''
|
||||||
/providers/oauth2/{id}/setup_urls/:
|
/providers/oauth2/{id}/setup_urls/:
|
||||||
get:
|
get:
|
||||||
operationId: providers_oauth2_setup_urls_retrieve
|
operationId: providers_oauth2_setup_urls_retrieve
|
||||||
|
@ -15424,6 +15454,36 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/GenericError'
|
$ref: '#/components/schemas/GenericError'
|
||||||
description: ''
|
description: ''
|
||||||
|
/providers/saml/{id}/preview_user/:
|
||||||
|
get:
|
||||||
|
operationId: providers_saml_preview_user_retrieve
|
||||||
|
description: Preview user data for provider
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: id
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: A unique integer value identifying this SAML Provider.
|
||||||
|
required: true
|
||||||
|
tags:
|
||||||
|
- providers
|
||||||
|
security:
|
||||||
|
- authentik: []
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/PropertyMappingPreview'
|
||||||
|
description: ''
|
||||||
|
'400':
|
||||||
|
description: Bad request
|
||||||
|
'403':
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/GenericError'
|
||||||
|
description: ''
|
||||||
/providers/saml/{id}/used_by/:
|
/providers/saml/{id}/used_by/:
|
||||||
get:
|
get:
|
||||||
operationId: providers_saml_used_by_list
|
operationId: providers_saml_used_by_list
|
||||||
|
@ -35719,6 +35779,17 @@ components:
|
||||||
- pk
|
- pk
|
||||||
- verbose_name
|
- verbose_name
|
||||||
- verbose_name_plural
|
- verbose_name_plural
|
||||||
|
PropertyMappingPreview:
|
||||||
|
type: object
|
||||||
|
description: Preview how the current user is mapped via the property mappings
|
||||||
|
selected in a provider
|
||||||
|
properties:
|
||||||
|
preview:
|
||||||
|
type: object
|
||||||
|
additionalProperties: {}
|
||||||
|
readOnly: true
|
||||||
|
required:
|
||||||
|
- preview
|
||||||
PropertyMappingTestResult:
|
PropertyMappingTestResult:
|
||||||
type: object
|
type: object
|
||||||
description: Result of a Property-mapping test
|
description: Result of a Property-mapping test
|
||||||
|
@ -36455,6 +36526,8 @@ components:
|
||||||
minLength: 1
|
minLength: 1
|
||||||
authorization_flow:
|
authorization_flow:
|
||||||
type: string
|
type: string
|
||||||
|
minLength: 1
|
||||||
|
description: Visible in the URL.
|
||||||
file:
|
file:
|
||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
|
|
|
@ -57,7 +57,7 @@ class TestProviderOAuth2OAuth(SeleniumTestCase):
|
||||||
"GF_AUTH_GENERIC_OAUTH_API_URL": (self.url("authentik_providers_oauth2:userinfo")),
|
"GF_AUTH_GENERIC_OAUTH_API_URL": (self.url("authentik_providers_oauth2:userinfo")),
|
||||||
"GF_AUTH_SIGNOUT_REDIRECT_URL": (
|
"GF_AUTH_SIGNOUT_REDIRECT_URL": (
|
||||||
self.url(
|
self.url(
|
||||||
"authentik_core:if-session-end",
|
"authentik_providers_oauth2:end-session",
|
||||||
application_slug=self.app_slug,
|
application_slug=self.app_slug,
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
|
@ -192,7 +192,7 @@ export class ApplicationForm extends ModelForm<Application, string> {
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="pf-c-check__input"
|
class="pf-c-check__input"
|
||||||
?checked=${first(this.instance?.openInNewTab, true)}
|
?checked=${first(this.instance?.openInNewTab, false)}
|
||||||
/>
|
/>
|
||||||
<label class="pf-c-check__label"> ${t`Open in new tab`} </label>
|
<label class="pf-c-check__label"> ${t`Open in new tab`} </label>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -122,8 +122,13 @@ export class ApplicationViewPage extends AKElement {
|
||||||
<dd class="pf-c-description-list__description">
|
<dd class="pf-c-description-list__description">
|
||||||
<div class="pf-c-description-list__text">
|
<div class="pf-c-description-list__text">
|
||||||
<a
|
<a
|
||||||
href="#/core/providers/${this.application
|
href=${`#/core/applications/${
|
||||||
.providerObj?.pk}"
|
this.application.slug
|
||||||
|
};${encodeURIComponent(
|
||||||
|
JSON.stringify({
|
||||||
|
page: "page-provider",
|
||||||
|
}),
|
||||||
|
)}`}
|
||||||
>
|
>
|
||||||
${this.application.providerObj?.name}
|
${this.application.providerObj?.name}
|
||||||
(${this.application.providerObj?.verboseName})
|
(${this.application.providerObj?.verboseName})
|
||||||
|
|
|
@ -8,8 +8,6 @@ import "@goauthentik/elements/EmptyState";
|
||||||
import "@goauthentik/elements/PageHeader";
|
import "@goauthentik/elements/PageHeader";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
|
|
||||||
import { t } from "@lingui/macro";
|
|
||||||
|
|
||||||
import { CSSResult, TemplateResult, html } from "lit";
|
import { CSSResult, TemplateResult, html } from "lit";
|
||||||
import { customElement, property } from "lit/decorators.js";
|
import { customElement, property } from "lit/decorators.js";
|
||||||
import { ifDefined } from "lit/directives/if-defined.js";
|
import { ifDefined } from "lit/directives/if-defined.js";
|
||||||
|
@ -70,25 +68,6 @@ export class ProviderViewPage extends AKElement {
|
||||||
description=${ifDefined(this.provider?.verboseName)}
|
description=${ifDefined(this.provider?.verboseName)}
|
||||||
>
|
>
|
||||||
</ak-page-header>
|
</ak-page-header>
|
||||||
<ak-tabs>
|
${this.renderProvider()}`;
|
||||||
<section slot="page-overview" data-tab-title="${t`Overview`}">
|
|
||||||
${this.renderProvider()}
|
|
||||||
</section>
|
|
||||||
<section
|
|
||||||
slot="page-changelog"
|
|
||||||
data-tab-title="${t`Changelog`}"
|
|
||||||
class="pf-c-page__main-section pf-m-no-padding-mobile"
|
|
||||||
>
|
|
||||||
<div class="pf-c-card">
|
|
||||||
<div class="pf-c-card__body">
|
|
||||||
<ak-object-changelog
|
|
||||||
targetModelPk=${this.provider?.pk || ""}
|
|
||||||
targetModelName=${this.provider?.metaModelName || ""}
|
|
||||||
>
|
|
||||||
</ak-object-changelog>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</ak-tabs>`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,13 +80,33 @@ export class LDAPProviderViewPage extends AKElement {
|
||||||
if (!this.provider) {
|
if (!this.provider) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
return html`${
|
return html` <ak-tabs>
|
||||||
this.provider?.assignedApplicationName
|
<section slot="page-overview" data-tab-title="${t`Overview`}">
|
||||||
? html``
|
${this.renderTabOverview()}
|
||||||
: html`<div slot="header" class="pf-c-banner pf-m-warning">
|
</section>
|
||||||
${t`Warning: Provider is not used by an Application.`}
|
<section
|
||||||
</div>`
|
slot="page-changelog"
|
||||||
|
data-tab-title="${t`Changelog`}"
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<ak-object-changelog
|
||||||
|
targetModelPk=${this.provider?.pk || ""}
|
||||||
|
targetModelName=${this.provider?.metaModelName || ""}
|
||||||
|
>
|
||||||
|
</ak-object-changelog>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</ak-tabs>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabOverview(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
}
|
}
|
||||||
|
return html`
|
||||||
${
|
${
|
||||||
this.provider?.outpostSet.length < 1
|
this.provider?.outpostSet.length < 1
|
||||||
? html`<div slot="header" class="pf-c-banner pf-m-warning">
|
? html`<div slot="header" class="pf-c-banner pf-m-warning">
|
||||||
|
|
|
@ -16,6 +16,7 @@ import { t } from "@lingui/macro";
|
||||||
|
|
||||||
import { CSSResult, TemplateResult, html } from "lit";
|
import { CSSResult, TemplateResult, html } from "lit";
|
||||||
import { customElement, property } from "lit/decorators.js";
|
import { customElement, property } from "lit/decorators.js";
|
||||||
|
import { until } from "lit/directives/until.js";
|
||||||
|
|
||||||
import AKGlobal from "@goauthentik/common/styles/authentik.css";
|
import AKGlobal from "@goauthentik/common/styles/authentik.css";
|
||||||
import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";
|
import PFBanner from "@patternfly/patternfly/components/Banner/banner.css";
|
||||||
|
@ -79,6 +80,35 @@ export class OAuth2ProviderViewPage extends AKElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): TemplateResult {
|
render(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html` <ak-tabs>
|
||||||
|
<section slot="page-overview" data-tab-title="${t`Overview`}">
|
||||||
|
${this.renderTabOverview()}
|
||||||
|
</section>
|
||||||
|
<section slot="page-preview" data-tab-title="${t`Preview`}">
|
||||||
|
${this.renderTabPreview()}
|
||||||
|
</section>
|
||||||
|
<section
|
||||||
|
slot="page-changelog"
|
||||||
|
data-tab-title="${t`Changelog`}"
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<ak-object-changelog
|
||||||
|
targetModelPk=${this.provider?.pk || ""}
|
||||||
|
targetModelName=${this.provider?.metaModelName || ""}
|
||||||
|
>
|
||||||
|
</ak-object-changelog>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</ak-tabs>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabOverview(): TemplateResult {
|
||||||
if (!this.provider) {
|
if (!this.provider) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
|
@ -277,4 +307,30 @@ export class OAuth2ProviderViewPage extends AKElement {
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderTabPreview(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html` <div
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile pf-l-grid pf-m-gutter"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__title">
|
||||||
|
${t`Example JWT payload (for currently authenticated user)`}
|
||||||
|
</div>
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
${until(
|
||||||
|
new ProvidersApi(DEFAULT_CONFIG)
|
||||||
|
.providersOauth2PreviewUserRetrieve({
|
||||||
|
id: this.provider?.pk,
|
||||||
|
})
|
||||||
|
.then((data) => {
|
||||||
|
return html`<pre>${JSON.stringify(data.preview, null, 4)}</pre>`;
|
||||||
|
}),
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,6 +171,32 @@ export class ProxyProviderViewPage extends AKElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): TemplateResult {
|
render(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html` <ak-tabs>
|
||||||
|
<section slot="page-overview" data-tab-title="${t`Overview`}">
|
||||||
|
${this.renderTabOverview()}
|
||||||
|
</section>
|
||||||
|
<section
|
||||||
|
slot="page-changelog"
|
||||||
|
data-tab-title="${t`Changelog`}"
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<ak-object-changelog
|
||||||
|
targetModelPk=${this.provider?.pk || ""}
|
||||||
|
targetModelName=${this.provider?.metaModelName || ""}
|
||||||
|
>
|
||||||
|
</ak-object-changelog>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</ak-tabs>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabOverview(): TemplateResult {
|
||||||
if (!this.provider) {
|
if (!this.provider) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,21 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
|
||||||
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
|
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
|
||||||
import PFForm from "@patternfly/patternfly/components/Form/form.css";
|
import PFForm from "@patternfly/patternfly/components/Form/form.css";
|
||||||
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
|
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
|
||||||
|
import PFList from "@patternfly/patternfly/components/List/List.css";
|
||||||
import PFPage from "@patternfly/patternfly/components/Page/page.css";
|
import PFPage from "@patternfly/patternfly/components/Page/page.css";
|
||||||
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
|
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
|
||||||
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
import PFBase from "@patternfly/patternfly/patternfly-base.css";
|
||||||
|
|
||||||
import { CryptoApi, ProvidersApi, SAMLProvider } from "@goauthentik/api";
|
import { CryptoApi, ProvidersApi, SAMLProvider } from "@goauthentik/api";
|
||||||
|
|
||||||
|
interface SAMLPreviewAttribute {
|
||||||
|
attributes: {
|
||||||
|
Name: string;
|
||||||
|
Value: string[];
|
||||||
|
}[];
|
||||||
|
nameID: string;
|
||||||
|
}
|
||||||
|
|
||||||
@customElement("ak-provider-saml-view")
|
@customElement("ak-provider-saml-view")
|
||||||
export class SAMLProviderViewPage extends AKElement {
|
export class SAMLProviderViewPage extends AKElement {
|
||||||
@property()
|
@property()
|
||||||
|
@ -58,6 +67,7 @@ export class SAMLProviderViewPage extends AKElement {
|
||||||
PFGrid,
|
PFGrid,
|
||||||
PFContent,
|
PFContent,
|
||||||
PFCard,
|
PFCard,
|
||||||
|
PFList,
|
||||||
PFDescriptionList,
|
PFDescriptionList,
|
||||||
PFForm,
|
PFForm,
|
||||||
PFFormControl,
|
PFFormControl,
|
||||||
|
@ -134,6 +144,36 @@ export class SAMLProviderViewPage extends AKElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
render(): TemplateResult {
|
render(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html` <ak-tabs>
|
||||||
|
<section slot="page-overview" data-tab-title="${t`Overview`}">
|
||||||
|
${this.renderTabOverview()}
|
||||||
|
</section>
|
||||||
|
${this.renderTabMetadata()}
|
||||||
|
<section slot="page-preview" data-tab-title="${t`Preview`}">
|
||||||
|
${this.renderTabPreview()}
|
||||||
|
</section>
|
||||||
|
<section
|
||||||
|
slot="page-changelog"
|
||||||
|
data-tab-title="${t`Changelog`}"
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<ak-object-changelog
|
||||||
|
targetModelPk=${this.provider?.pk || ""}
|
||||||
|
targetModelName=${this.provider?.metaModelName || ""}
|
||||||
|
>
|
||||||
|
</ak-object-changelog>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</ak-tabs>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabOverview(): TemplateResult {
|
||||||
if (!this.provider) {
|
if (!this.provider) {
|
||||||
return html``;
|
return html``;
|
||||||
}
|
}
|
||||||
|
@ -220,104 +260,184 @@ export class SAMLProviderViewPage extends AKElement {
|
||||||
${
|
${
|
||||||
this.provider.assignedApplicationName
|
this.provider.assignedApplicationName
|
||||||
? html` <div class="pf-c-card pf-l-grid__item pf-m-12-col">
|
? html` <div class="pf-c-card pf-l-grid__item pf-m-12-col">
|
||||||
<div class="pf-c-card__title">${t`SAML Configuration`}</div>
|
<div class="pf-c-card__title">${t`SAML Configuration`}</div>
|
||||||
<div class="pf-c-card__body">
|
<div class="pf-c-card__body">
|
||||||
<form class="pf-c-form">
|
<form class="pf-c-form">
|
||||||
<div class="pf-c-form__group">
|
<div class="pf-c-form__group">
|
||||||
<label class="pf-c-form__label">
|
<label class="pf-c-form__label">
|
||||||
<span class="pf-c-form__label-text"
|
<span class="pf-c-form__label-text"
|
||||||
>${t`EntityID/Issuer`}</span
|
>${t`EntityID/Issuer`}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
readonly
|
readonly
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.provider?.issuer)}"
|
value="${ifDefined(this.provider?.issuer)}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-form__group">
|
<div class="pf-c-form__group">
|
||||||
<label class="pf-c-form__label">
|
<label class="pf-c-form__label">
|
||||||
<span class="pf-c-form__label-text"
|
<span class="pf-c-form__label-text"
|
||||||
>${t`SSO URL (Post)`}</span
|
>${t`SSO URL (Post)`}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
readonly
|
readonly
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.provider.urlSsoPost)}"
|
value="${ifDefined(this.provider.urlSsoPost)}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-form__group">
|
<div class="pf-c-form__group">
|
||||||
<label class="pf-c-form__label">
|
<label class="pf-c-form__label">
|
||||||
<span class="pf-c-form__label-text"
|
<span class="pf-c-form__label-text"
|
||||||
>${t`SSO URL (Redirect)`}</span
|
>${t`SSO URL (Redirect)`}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
readonly
|
readonly
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.provider.urlSsoRedirect)}"
|
value="${ifDefined(this.provider.urlSsoRedirect)}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-form__group">
|
<div class="pf-c-form__group">
|
||||||
<label class="pf-c-form__label">
|
<label class="pf-c-form__label">
|
||||||
<span class="pf-c-form__label-text"
|
<span class="pf-c-form__label-text"
|
||||||
>${t`SSO URL (IdP-initiated Login)`}</span
|
>${t`SSO URL (IdP-initiated Login)`}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
class="pf-c-form-control"
|
class="pf-c-form-control"
|
||||||
readonly
|
readonly
|
||||||
type="text"
|
type="text"
|
||||||
value="${ifDefined(this.provider.urlSsoInit)}"
|
value="${ifDefined(this.provider.urlSsoInit)}"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
|
</div>`
|
||||||
<div class="pf-c-card__title">${t`SAML Metadata`}</div>
|
|
||||||
<div class="pf-c-card__body">
|
|
||||||
${until(
|
|
||||||
new ProvidersApi(DEFAULT_CONFIG)
|
|
||||||
.providersSamlMetadataRetrieve({
|
|
||||||
id: this.provider.pk || 0,
|
|
||||||
})
|
|
||||||
.then((m) => {
|
|
||||||
return html`<ak-codemirror
|
|
||||||
mode="xml"
|
|
||||||
?readOnly=${true}
|
|
||||||
value="${ifDefined(m.metadata)}"
|
|
||||||
></ak-codemirror>`;
|
|
||||||
}),
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
<div class="pf-c-card__footer">
|
|
||||||
<a
|
|
||||||
class="pf-c-button pf-m-primary"
|
|
||||||
target="_blank"
|
|
||||||
href=${this.provider.urlDownloadMetadata}
|
|
||||||
>
|
|
||||||
${t`Download`}
|
|
||||||
</a>
|
|
||||||
<ak-action-button
|
|
||||||
class="pf-m-secondary"
|
|
||||||
.apiRequest=${() => {
|
|
||||||
return navigator.clipboard.writeText(
|
|
||||||
this.provider?.urlDownloadMetadata || "",
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
${t`Copy download URL`}
|
|
||||||
</ak-action-button>
|
|
||||||
</div>
|
|
||||||
</div>`
|
|
||||||
: html``
|
: html``
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>`;
|
</div>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderTabMetadata(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html`
|
||||||
|
${this.provider.assignedApplicationName
|
||||||
|
? html` <section slot="page-metadata" data-tab-title="${t`Metadata`}">
|
||||||
|
<div
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile pf-l-grid pf-m-gutter"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card pf-l-grid__item pf-m-12-col">
|
||||||
|
<div class="pf-c-card__title">${t`SAML Metadata`}</div>
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<a
|
||||||
|
class="pf-c-button pf-m-primary"
|
||||||
|
target="_blank"
|
||||||
|
href=${this.provider.urlDownloadMetadata}
|
||||||
|
>
|
||||||
|
${t`Download`}
|
||||||
|
</a>
|
||||||
|
<ak-action-button
|
||||||
|
class="pf-m-secondary"
|
||||||
|
.apiRequest=${() => {
|
||||||
|
return navigator.clipboard.writeText(
|
||||||
|
this.provider?.urlDownloadMetadata || "",
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
${t`Copy download URL`}
|
||||||
|
</ak-action-button>
|
||||||
|
</div>
|
||||||
|
<div class="pf-c-card__footer">
|
||||||
|
${until(
|
||||||
|
new ProvidersApi(DEFAULT_CONFIG)
|
||||||
|
.providersSamlMetadataRetrieve({
|
||||||
|
id: this.provider.pk || 0,
|
||||||
|
})
|
||||||
|
.then((m) => {
|
||||||
|
return html`<ak-codemirror
|
||||||
|
mode="xml"
|
||||||
|
?readOnly=${true}
|
||||||
|
value="${ifDefined(m.metadata)}"
|
||||||
|
></ak-codemirror>`;
|
||||||
|
}),
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>`
|
||||||
|
: html``}
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabPreview(): TemplateResult {
|
||||||
|
if (!this.provider) {
|
||||||
|
return html``;
|
||||||
|
}
|
||||||
|
return html` <div
|
||||||
|
class="pf-c-page__main-section pf-m-no-padding-mobile pf-l-grid pf-m-gutter"
|
||||||
|
>
|
||||||
|
<div class="pf-c-card">
|
||||||
|
<div class="pf-c-card__title">${t`Example SAML attributes`}</div>
|
||||||
|
${until(
|
||||||
|
new ProvidersApi(DEFAULT_CONFIG)
|
||||||
|
.providersSamlPreviewUserRetrieve({
|
||||||
|
id: this.provider?.pk,
|
||||||
|
})
|
||||||
|
.then((data) => {
|
||||||
|
const d = data.preview as SAMLPreviewAttribute;
|
||||||
|
return html`
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<dl class="pf-c-description-list pf-m-2-col-on-lg">
|
||||||
|
<div class="pf-c-description-list__group">
|
||||||
|
<dt class="pf-c-description-list__term">
|
||||||
|
<span class="pf-c-description-list__text"
|
||||||
|
>${t`NameID attribute`}</span
|
||||||
|
>
|
||||||
|
</dt>
|
||||||
|
<dd class="pf-c-description-list__description">
|
||||||
|
<div class="pf-c-description-list__text">
|
||||||
|
${d.nameID}
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</div>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
<div class="pf-c-card__body">
|
||||||
|
<dl class="pf-c-description-list pf-m-2-col-on-lg">
|
||||||
|
${d.attributes.map((attr) => {
|
||||||
|
return html` <div class="pf-c-description-list__group">
|
||||||
|
<dt class="pf-c-description-list__term">
|
||||||
|
<span class="pf-c-description-list__text"
|
||||||
|
>${attr.Name}</span
|
||||||
|
>
|
||||||
|
</dt>
|
||||||
|
<dd class="pf-c-description-list__description">
|
||||||
|
<div class="pf-c-description-list__text">
|
||||||
|
<ul class="pf-c-list">
|
||||||
|
${attr.Value.map((value) => {
|
||||||
|
return html`
|
||||||
|
<li><pre>${value}</pre></li>
|
||||||
|
`;
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
</div>`;
|
||||||
|
})}
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}),
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ export class Diagram extends AKElement {
|
||||||
const matcher = window.matchMedia("(prefers-color-scheme: light)");
|
const matcher = window.matchMedia("(prefers-color-scheme: light)");
|
||||||
const handler = (ev?: MediaQueryListEvent) => {
|
const handler = (ev?: MediaQueryListEvent) => {
|
||||||
mermaid.initialize({
|
mermaid.initialize({
|
||||||
logLevel: "error",
|
logLevel: 3,
|
||||||
startOnLoad: false,
|
startOnLoad: false,
|
||||||
theme: ev?.matches || matcher.matches ? "default" : "dark",
|
theme: ev?.matches || matcher.matches ? "default" : "dark",
|
||||||
flowchart: {
|
flowchart: {
|
||||||
|
|
|
@ -956,7 +956,10 @@ msgstr "Ändern Sie Ihr Passwort"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1357,6 +1360,7 @@ msgstr "Kopieren"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Kopiere Schlüssel"
|
#~ msgstr "Kopiere Schlüssel"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "Download URL kopieren"
|
msgstr "Download URL kopieren"
|
||||||
|
@ -1895,7 +1899,6 @@ msgstr "Zertifikat herunterladen"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Privaten Schlüssel herunterladen"
|
msgstr "Privaten Schlüssel herunterladen"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "Signierzertifikat herunterladen"
|
msgstr "Signierzertifikat herunterladen"
|
||||||
|
@ -2171,6 +2174,14 @@ msgstr "Ereignisse"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Alles funktioniert."
|
msgstr "Alles funktioniert."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3472,6 +3483,8 @@ msgstr "Nachrichten"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Metadaten"
|
msgstr "Metadaten"
|
||||||
|
@ -3649,6 +3662,10 @@ msgstr "NameID Richtlinie"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "NameID Eigenschaft"
|
msgstr "NameID Eigenschaft"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4142,7 +4159,10 @@ msgstr "Outposts sind Installationen von authentik-Komponenten, die Unterstützu
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4378,6 +4398,11 @@ msgstr "Erstellt durch Authentik"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Vor-Authentifizierungs Ablauf"
|
msgstr "Vor-Authentifizierungs Ablauf"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6970,7 +6995,6 @@ msgstr "Warnung: Keine Einladungsphase ist an einen Ablauf gebunden. Einladungen
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Warnung: Keine Richtlinie zugewiesen"
|
msgstr "Warnung: Keine Richtlinie zugewiesen"
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -950,7 +950,10 @@ msgstr "Change your password"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1361,6 +1364,7 @@ msgstr "Copy"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Copy Key"
|
#~ msgstr "Copy Key"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "Copy download URL"
|
msgstr "Copy download URL"
|
||||||
|
@ -1915,7 +1919,6 @@ msgstr "Download Certificate"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Download Private key"
|
msgstr "Download Private key"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "Download signing certificate"
|
msgstr "Download signing certificate"
|
||||||
|
@ -2203,6 +2206,14 @@ msgstr "Events"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Everything is ok."
|
msgstr "Everything is ok."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr "Example JWT payload (for currently authenticated user)"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr "Example SAML attributes"
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3528,6 +3539,8 @@ msgstr "Messages"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Metadata"
|
msgstr "Metadata"
|
||||||
|
@ -3706,6 +3719,10 @@ msgstr "NameID Policy"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "NameID Property Mapping"
|
msgstr "NameID Property Mapping"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr "NameID attribute"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr "Native application"
|
msgstr "Native application"
|
||||||
|
@ -4213,7 +4230,10 @@ msgstr "Outposts are deployments of authentik components to support different en
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4463,6 +4483,11 @@ msgstr "Powered by authentik"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Pre-authentication flow"
|
msgstr "Pre-authentication flow"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr "Preview"
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -7126,7 +7151,6 @@ msgstr "Warning: No invitation stage is bound to any flow. Invitations will not
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Warning: Policy is not assigned."
|
msgstr "Warning: Policy is not assigned."
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -934,7 +934,10 @@ msgstr "Cambia tu contraseña"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1333,6 +1336,7 @@ msgstr "Copiar"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Copiar clave"
|
#~ msgstr "Copiar clave"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "Copiar URL de descarga"
|
msgstr "Copiar URL de descarga"
|
||||||
|
@ -1871,7 +1875,6 @@ msgstr "Descargar certificado"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Descargar clave privada"
|
msgstr "Descargar clave privada"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "Descargar certificado de firma"
|
msgstr "Descargar certificado de firma"
|
||||||
|
@ -2147,6 +2150,14 @@ msgstr "Eventos"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Está todo bien."
|
msgstr "Está todo bien."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3448,6 +3459,8 @@ msgstr "Mensajes"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Metadatos"
|
msgstr "Metadatos"
|
||||||
|
@ -3625,6 +3638,10 @@ msgstr "Política de NameID"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "Mapeo de propiedades NameID"
|
msgstr "Mapeo de propiedades NameID"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4118,7 +4135,10 @@ msgstr "Los puestos avanzados son implementaciones de componentes auténticos pa
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4354,6 +4374,11 @@ msgstr "Desarrollado por authentik"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Flujo de autenticación previa"
|
msgstr "Flujo de autenticación previa"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6946,7 +6971,6 @@ msgstr "Advertencia: ninguna etapa de invitación está vinculada a ningún fluj
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Advertencia: la política no está asignada."
|
msgstr "Advertencia: la política no está asignada."
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -939,7 +939,10 @@ msgstr "Changer votre mot de pass"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1338,6 +1341,7 @@ msgstr "Copier"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Copier la clé"
|
#~ msgstr "Copier la clé"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "Copier l'URL de téléchargement"
|
msgstr "Copier l'URL de téléchargement"
|
||||||
|
@ -1874,7 +1878,6 @@ msgstr "Télécharger le certificat"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Télécharger la clé privée"
|
msgstr "Télécharger la clé privée"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "Télécharger le certificat de signature"
|
msgstr "Télécharger le certificat de signature"
|
||||||
|
@ -2150,6 +2153,14 @@ msgstr "Évènements"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Tout va bien."
|
msgstr "Tout va bien."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3449,6 +3460,8 @@ msgstr "Messages"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Métadonnées"
|
msgstr "Métadonnées"
|
||||||
|
@ -3626,6 +3639,10 @@ msgstr "Politique NameID"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "Mappage de la propriété NameID"
|
msgstr "Mappage de la propriété NameID"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4119,7 +4136,10 @@ msgstr "Les avant-postes sont des déploiements de composants Authentik pour pre
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4355,6 +4375,11 @@ msgstr "Propulsé par authentik"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Flux de pré-authentification"
|
msgstr "Flux de pré-authentification"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6937,7 +6962,6 @@ msgstr "Attention : aucune étape d’invitation n’a été ajoutée à aucun f
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Avertissement : la politique n'est pas assignée."
|
msgstr "Avertissement : la politique n'est pas assignée."
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -938,7 +938,10 @@ msgstr "Zmień swoje hasło"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1339,6 +1342,7 @@ msgstr "Kopiuj"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Kopiuj klucz"
|
#~ msgstr "Kopiuj klucz"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "Skopiuj URL pobierania"
|
msgstr "Skopiuj URL pobierania"
|
||||||
|
@ -1877,7 +1881,6 @@ msgstr "Pobierz certyfikat"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Pobierz klucz prywatny"
|
msgstr "Pobierz klucz prywatny"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "Pobierz certyfikat podpisywania"
|
msgstr "Pobierz certyfikat podpisywania"
|
||||||
|
@ -2153,6 +2156,14 @@ msgstr "Zdarzenia"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Wszystko w porządku."
|
msgstr "Wszystko w porządku."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3456,6 +3467,8 @@ msgstr "Wiadomości"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Metadane"
|
msgstr "Metadane"
|
||||||
|
@ -3633,6 +3646,10 @@ msgstr "Zasada NameID"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "Mapowanie właściwości NameID"
|
msgstr "Mapowanie właściwości NameID"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4126,7 +4143,10 @@ msgstr "Placówki (Outposts) to wdrożenia komponentów uwierzytelniających do
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4364,6 +4384,11 @@ msgstr "Napędzane przez authentik"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Przepływ wstępnego uwierzytelniania"
|
msgstr "Przepływ wstępnego uwierzytelniania"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6956,7 +6981,6 @@ msgstr "Ostrzeżenie: żaden etap zaproszenia nie jest powiązany z żadnym prze
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Ostrzeżenie: zasada nie jest przypisana."
|
msgstr "Ostrzeżenie: zasada nie jest przypisana."
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -942,7 +942,10 @@ msgstr ""
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1349,6 +1352,7 @@ msgstr ""
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1901,7 +1905,6 @@ msgstr ""
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2189,6 +2192,14 @@ msgstr ""
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3510,6 +3521,8 @@ msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3688,6 +3701,10 @@ msgstr ""
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4195,7 +4212,10 @@ msgstr ""
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4443,6 +4463,11 @@ msgstr ""
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -7096,7 +7121,6 @@ msgstr ""
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -934,7 +934,10 @@ msgstr "Parolanızı değiştirin"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1333,6 +1336,7 @@ msgstr "Kopya"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "Anahtar Kopyala"
|
#~ msgstr "Anahtar Kopyala"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "İndirme URL'sini"
|
msgstr "İndirme URL'sini"
|
||||||
|
@ -1871,7 +1875,6 @@ msgstr "Sertifikayı İndirin"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "Indir Özel anahtar"
|
msgstr "Indir Özel anahtar"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "İmzalama sertifikasını indirme"
|
msgstr "İmzalama sertifikasını indirme"
|
||||||
|
@ -2147,6 +2150,14 @@ msgstr "Olaylar"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "Her şey yolunda."
|
msgstr "Her şey yolunda."
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3448,6 +3459,8 @@ msgstr "İletiler"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "Meta veriler"
|
msgstr "Meta veriler"
|
||||||
|
@ -3625,6 +3638,10 @@ msgstr "NameID İlkesi"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "NameID Özellik Eşlemesi"
|
msgstr "NameID Özellik Eşlemesi"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4118,7 +4135,10 @@ msgstr "Outposts, ters proxy'ler gibi farklı ortamları ve protokolleri destekl
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4354,6 +4374,11 @@ msgstr "Auentik tarafından desteklenmektedir"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "Ön kimlik doğrulama akışı"
|
msgstr "Ön kimlik doğrulama akışı"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6946,7 +6971,6 @@ msgstr "Uyarı: Hiçbir davetiye aşaması herhangi bir akışa bağlı değildi
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "Uyarı: İlke atanmamış."
|
msgstr "Uyarı: İlke atanmamış."
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -940,7 +940,10 @@ msgstr "更改您的密码"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1341,6 +1344,7 @@ msgstr "复制"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "复制密钥"
|
#~ msgstr "复制密钥"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "复制下载 URL"
|
msgstr "复制下载 URL"
|
||||||
|
@ -1879,7 +1883,6 @@ msgstr "下载证书"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "下载私钥"
|
msgstr "下载私钥"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "下载签名证书"
|
msgstr "下载签名证书"
|
||||||
|
@ -2155,6 +2158,14 @@ msgstr "事件"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "一切正常。"
|
msgstr "一切正常。"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3456,6 +3467,8 @@ msgstr "消息"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "元数据"
|
msgstr "元数据"
|
||||||
|
@ -3633,6 +3646,10 @@ msgstr "NameID 策略"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "NameID 属性映射"
|
msgstr "NameID 属性映射"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4126,7 +4143,10 @@ msgstr "前哨是对 authentik 组件的部署,用于支持不同的环境和
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4362,6 +4382,11 @@ msgstr "由 authentik 强力驱动"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "身份验证前流程"
|
msgstr "身份验证前流程"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6954,7 +6979,6 @@ msgstr "警告:没有邀请阶段绑定到任何流程。邀请将无法按预
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "警告:策略未分配。"
|
msgstr "警告:策略未分配。"
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -940,7 +940,10 @@ msgstr "更改你的密码"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1341,6 +1344,7 @@ msgstr "复制"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "复制密钥"
|
#~ msgstr "复制密钥"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "复制下载 URL"
|
msgstr "复制下载 URL"
|
||||||
|
@ -1879,7 +1883,6 @@ msgstr "下载证书"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "下载私钥"
|
msgstr "下载私钥"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "下载签名证书"
|
msgstr "下载签名证书"
|
||||||
|
@ -2155,6 +2158,14 @@ msgstr "事件"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "一切正常。"
|
msgstr "一切正常。"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3456,6 +3467,8 @@ msgstr "信息"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "元数据"
|
msgstr "元数据"
|
||||||
|
@ -3633,6 +3646,10 @@ msgstr "NameID 政策"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "nameID 属性映射"
|
msgstr "nameID 属性映射"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4126,7 +4143,10 @@ msgstr "Outpost 是对 authentik 组件的部署,以支持不同的环境和
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4362,6 +4382,11 @@ msgstr "由 authentik 强力驱动"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "身份验证前流程"
|
msgstr "身份验证前流程"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6954,7 +6979,6 @@ msgstr "警告:没有邀请阶段绑定到任何流程。邀请将无法按预
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "警告:策略未分配。"
|
msgstr "警告:策略未分配。"
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -940,7 +940,10 @@ msgstr "更改你的密码"
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/flows/FlowViewPage.ts
|
#: src/admin/flows/FlowViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -1341,6 +1344,7 @@ msgstr "复制"
|
||||||
#~ msgid "Copy Key"
|
#~ msgid "Copy Key"
|
||||||
#~ msgstr "复制密钥"
|
#~ msgstr "复制密钥"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Copy download URL"
|
msgid "Copy download URL"
|
||||||
msgstr "复制下载 URL"
|
msgstr "复制下载 URL"
|
||||||
|
@ -1879,7 +1883,6 @@ msgstr "下载证书"
|
||||||
msgid "Download Private key"
|
msgid "Download Private key"
|
||||||
msgstr "下载私钥"
|
msgstr "下载私钥"
|
||||||
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
msgid "Download signing certificate"
|
msgid "Download signing certificate"
|
||||||
msgstr "下载签名证书"
|
msgstr "下载签名证书"
|
||||||
|
@ -2155,6 +2158,14 @@ msgstr "事件"
|
||||||
msgid "Everything is ok."
|
msgid "Everything is ok."
|
||||||
msgstr "一切正常。"
|
msgstr "一切正常。"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
msgid "Example JWT payload (for currently authenticated user)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Example SAML attributes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
#: src/admin/events/EventInfo.ts
|
#: src/admin/events/EventInfo.ts
|
||||||
|
@ -3456,6 +3467,8 @@ msgstr "信息"
|
||||||
|
|
||||||
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
#: src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
#: src/admin/providers/saml/SAMLProviderImportForm.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
#: src/admin/sources/saml/SAMLSourceViewPage.ts
|
||||||
msgid "Metadata"
|
msgid "Metadata"
|
||||||
msgstr "元数据"
|
msgstr "元数据"
|
||||||
|
@ -3633,6 +3646,10 @@ msgstr "NameID 政策"
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "nameID 属性映射"
|
msgstr "nameID 属性映射"
|
||||||
|
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "NameID attribute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
#: src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts
|
||||||
msgid "Native application"
|
msgid "Native application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -4126,7 +4143,10 @@ msgstr "Outpost 是对 authentik 组件的部署,以支持不同的环境和
|
||||||
#: src/admin/AdminInterface.ts
|
#: src/admin/AdminInterface.ts
|
||||||
#: src/admin/applications/ApplicationViewPage.ts
|
#: src/admin/applications/ApplicationViewPage.ts
|
||||||
#: src/admin/groups/GroupViewPage.ts
|
#: src/admin/groups/GroupViewPage.ts
|
||||||
#: src/admin/providers/ProviderViewPage.ts
|
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
#: src/admin/sources/ldap/LDAPSourceViewPage.ts
|
||||||
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
#: src/admin/sources/oauth/OAuthSourceViewPage.ts
|
||||||
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
#: src/admin/sources/plex/PlexSourceViewPage.ts
|
||||||
|
@ -4362,6 +4382,11 @@ msgstr "由 authentik 强力驱动"
|
||||||
msgid "Pre-authentication flow"
|
msgid "Pre-authentication flow"
|
||||||
msgstr "身份验证前流程"
|
msgstr "身份验证前流程"
|
||||||
|
|
||||||
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
msgid "Preview"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/admin/crypto/CertificateKeyPairForm.ts
|
#: src/admin/crypto/CertificateKeyPairForm.ts
|
||||||
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
#: src/admin/stages/captcha/CaptchaStageForm.ts
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
|
@ -6954,7 +6979,6 @@ msgstr "警告:没有邀请阶段绑定到任何流程。邀请将无法按预
|
||||||
msgid "Warning: Policy is not assigned."
|
msgid "Warning: Policy is not assigned."
|
||||||
msgstr "警告:策略未分配。"
|
msgstr "警告:策略未分配。"
|
||||||
|
|
||||||
#: src/admin/providers/ldap/LDAPProviderViewPage.ts
|
|
||||||
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
#: src/admin/providers/oauth2/OAuth2ProviderViewPage.ts
|
||||||
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
#: src/admin/providers/proxy/ProxyProviderViewPage.ts
|
||||||
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
#: src/admin/providers/saml/SAMLProviderViewPage.ts
|
||||||
|
|
|
@ -13,6 +13,10 @@ slug: "2022.12"
|
||||||
|
|
||||||
The captcha stage now supports alternate compatible providers, like [hCaptcha](https://docs.hcaptcha.com/switch/) and [Turnstile](https://developers.cloudflare.com/turnstile/get-started/migrating-from-recaptcha/).
|
The captcha stage now supports alternate compatible providers, like [hCaptcha](https://docs.hcaptcha.com/switch/) and [Turnstile](https://developers.cloudflare.com/turnstile/get-started/migrating-from-recaptcha/).
|
||||||
|
|
||||||
|
- Preview for OAuth2 and SAML providers
|
||||||
|
|
||||||
|
OAuth2 and SAML providers can now preview what the currently selected property/scope mappings's outcome will look like. This helps with seeing what data is sent to the client and implementing and testing custom mappings.
|
||||||
|
|
||||||
## Upgrading
|
## Upgrading
|
||||||
|
|
||||||
This release does not introduce any new requirements.
|
This release does not introduce any new requirements.
|
||||||
|
|
Reference in New Issue