providers/oauth2: Set CORS Headers for token endpoint, check Origin header against redirect URLs
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
52abd959eb
commit
f328b21e89
|
@ -3,6 +3,7 @@ import re
|
||||||
from base64 import b64decode
|
from base64 import b64decode
|
||||||
from binascii import Error
|
from binascii import Error
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from django.http import HttpRequest, HttpResponse, JsonResponse
|
from django.http import HttpRequest, HttpResponse, JsonResponse
|
||||||
from django.utils.cache import patch_vary_headers
|
from django.utils.cache import patch_vary_headers
|
||||||
|
@ -25,15 +26,34 @@ class TokenResponse(JsonResponse):
|
||||||
self["Pragma"] = "no-cache"
|
self["Pragma"] = "no-cache"
|
||||||
|
|
||||||
|
|
||||||
def cors_allow_any(request, response):
|
def cors_allow_any(request: HttpRequest, response: HttpResponse, *allowed_origins: str):
|
||||||
"""
|
"""Add headers to permit CORS requests from any origin, with or without credentials,
|
||||||
Add headers to permit CORS requests from any origin, with or without credentials,
|
with any headers."""
|
||||||
with any headers.
|
|
||||||
"""
|
|
||||||
origin = request.META.get("HTTP_ORIGIN")
|
origin = request.META.get("HTTP_ORIGIN")
|
||||||
if not origin:
|
if not origin:
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
# OPTIONS requests don't have an authorization header -> hence
|
||||||
|
# we can't extract the provider this request is for
|
||||||
|
# so for options requests we allow the calling origin without checking
|
||||||
|
allowed = request.method == "OPTIONS"
|
||||||
|
received_origin = urlparse(origin)
|
||||||
|
for allowed_origin in allowed_origins:
|
||||||
|
url = urlparse(allowed_origin)
|
||||||
|
if (
|
||||||
|
received_origin.scheme == url.scheme
|
||||||
|
and received_origin.hostname == url.hostname
|
||||||
|
and received_origin.port == url.port
|
||||||
|
):
|
||||||
|
allowed = True
|
||||||
|
if not allowed:
|
||||||
|
LOGGER.warning(
|
||||||
|
"CORS: Origin is not an allowed origin",
|
||||||
|
requested=origin,
|
||||||
|
allowed=allowed_origins,
|
||||||
|
)
|
||||||
|
return response
|
||||||
|
|
||||||
# From the CORS spec: The string "*" cannot be used for a resource that supports credentials.
|
# From the CORS spec: The string "*" cannot be used for a resource that supports credentials.
|
||||||
response["Access-Control-Allow-Origin"] = origin
|
response["Access-Control-Allow-Origin"] = origin
|
||||||
patch_vary_headers(response, ["Origin"])
|
patch_vary_headers(response, ["Origin"])
|
||||||
|
|
|
@ -30,6 +30,8 @@ PLAN_CONTEXT_SCOPES = "scopes"
|
||||||
class ProviderInfoView(View):
|
class ProviderInfoView(View):
|
||||||
"""OpenID-compliant Provider Info"""
|
"""OpenID-compliant Provider Info"""
|
||||||
|
|
||||||
|
provider: OAuth2Provider
|
||||||
|
|
||||||
def get_info(self, provider: OAuth2Provider) -> dict[str, Any]:
|
def get_info(self, provider: OAuth2Provider) -> dict[str, Any]:
|
||||||
"""Get dictionary for OpenID Connect information"""
|
"""Get dictionary for OpenID Connect information"""
|
||||||
scopes = list(
|
scopes = list(
|
||||||
|
@ -95,19 +97,20 @@ class ProviderInfoView(View):
|
||||||
}
|
}
|
||||||
|
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
def get(
|
def get(self, request: HttpRequest, *args, **kwargs) -> HttpResponse:
|
||||||
self, request: HttpRequest, application_slug: str, *args, **kwargs
|
|
||||||
) -> HttpResponse:
|
|
||||||
"""OpenID-compliant Provider Info"""
|
"""OpenID-compliant Provider Info"""
|
||||||
|
return JsonResponse(
|
||||||
|
self.get_info(self.provider), json_dumps_params={"indent": 2}
|
||||||
|
)
|
||||||
|
|
||||||
|
def dispatch(
|
||||||
|
self, request: HttpRequest, application_slug: str, *args: Any, **kwargs: Any
|
||||||
|
) -> HttpResponse:
|
||||||
|
# Since this view only supports get, we can statically set the CORS headers
|
||||||
application = get_object_or_404(Application, slug=application_slug)
|
application = get_object_or_404(Application, slug=application_slug)
|
||||||
provider: OAuth2Provider = get_object_or_404(
|
self.provider: OAuth2Provider = get_object_or_404(
|
||||||
OAuth2Provider, pk=application.provider_id
|
OAuth2Provider, pk=application.provider_id
|
||||||
)
|
)
|
||||||
return JsonResponse(self.get_info(provider), json_dumps_params={"indent": 2})
|
|
||||||
|
|
||||||
def dispatch(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse:
|
|
||||||
# Since this view only supports get, we can statically set the CORS headers
|
|
||||||
response = super().dispatch(request, *args, **kwargs)
|
response = super().dispatch(request, *args, **kwargs)
|
||||||
cors_allow_any(request, response)
|
cors_allow_any(request, response, *self.provider.redirect_uris.split("\n"))
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
"""authentik OAuth2 OpenID Userinfo views"""
|
"""authentik OAuth2 OpenID Userinfo views"""
|
||||||
from typing import Any
|
from typing import Any, Optional
|
||||||
|
|
||||||
from django.http import HttpRequest, HttpResponse
|
from django.http import HttpRequest, HttpResponse
|
||||||
|
from django.http.response import HttpResponseBadRequest
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views import View
|
from django.views import View
|
||||||
from structlog.stdlib import get_logger
|
from structlog.stdlib import get_logger
|
||||||
|
@ -22,6 +23,8 @@ class UserInfoView(View):
|
||||||
"""Create a dictionary with all the requested claims about the End-User.
|
"""Create a dictionary with all the requested claims about the End-User.
|
||||||
See: http://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse"""
|
See: http://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse"""
|
||||||
|
|
||||||
|
token: Optional[RefreshToken]
|
||||||
|
|
||||||
def get_scope_descriptions(self, scopes: list[str]) -> list[dict[str, str]]:
|
def get_scope_descriptions(self, scopes: list[str]) -> list[dict[str, str]]:
|
||||||
"""Get a list of all Scopes's descriptions"""
|
"""Get a list of all Scopes's descriptions"""
|
||||||
scope_descriptions = []
|
scope_descriptions = []
|
||||||
|
@ -79,16 +82,25 @@ class UserInfoView(View):
|
||||||
final_claims.update(value)
|
final_claims.update(value)
|
||||||
return final_claims
|
return final_claims
|
||||||
|
|
||||||
|
def dispatch(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponse:
|
||||||
|
self.token = kwargs.get("token", None)
|
||||||
|
response = super().dispatch(request, *args, **kwargs)
|
||||||
|
allowed_origins = []
|
||||||
|
if self.token:
|
||||||
|
allowed_origins = self.token.provider.redirect_uris.split("\n")
|
||||||
|
cors_allow_any(self.request, response, *allowed_origins)
|
||||||
|
return response
|
||||||
|
|
||||||
def options(self, request: HttpRequest) -> HttpResponse:
|
def options(self, request: HttpRequest) -> HttpResponse:
|
||||||
return cors_allow_any(self.request, TokenResponse({}))
|
return TokenResponse({})
|
||||||
|
|
||||||
def get(self, request: HttpRequest, **kwargs) -> HttpResponse:
|
def get(self, request: HttpRequest, **kwargs) -> HttpResponse:
|
||||||
"""Handle GET Requests for UserInfo"""
|
"""Handle GET Requests for UserInfo"""
|
||||||
token: RefreshToken = kwargs["token"]
|
if not self.token:
|
||||||
claims = self.get_claims(token)
|
return HttpResponseBadRequest()
|
||||||
claims["sub"] = token.id_token.sub
|
claims = self.get_claims(self.token)
|
||||||
|
claims["sub"] = self.token.id_token.sub
|
||||||
response = TokenResponse(claims)
|
response = TokenResponse(claims)
|
||||||
cors_allow_any(self.request, response)
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def post(self, request: HttpRequest, **kwargs) -> HttpResponse:
|
def post(self, request: HttpRequest, **kwargs) -> HttpResponse:
|
||||||
|
|
|
@ -21,7 +21,7 @@ class ProxyScopeMappingManager(ObjectManager):
|
||||||
EnsureExists(
|
EnsureExists(
|
||||||
ScopeMapping,
|
ScopeMapping,
|
||||||
"goauthentik.io/providers/proxy/scope-proxy",
|
"goauthentik.io/providers/proxy/scope-proxy",
|
||||||
name="authentik default OAuth Mapping: proxy outpost",
|
name="authentik default OAuth Mapping: Proxy outpost",
|
||||||
scope_name=SCOPE_AK_PROXY,
|
scope_name=SCOPE_AK_PROXY,
|
||||||
expression=SCOPE_AK_PROXY_EXPRESSION,
|
expression=SCOPE_AK_PROXY_EXPRESSION,
|
||||||
),
|
),
|
||||||
|
|
|
@ -105,7 +105,7 @@ msgstr "Additional group DN, prepended to the Base DN."
|
||||||
msgid "Additional user DN, prepended to the Base DN."
|
msgid "Additional user DN, prepended to the Base DN."
|
||||||
msgstr "Additional user DN, prepended to the Base DN."
|
msgstr "Additional user DN, prepended to the Base DN."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:128
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:131
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:128
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:128
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:117
|
#: src/pages/providers/saml/SAMLProviderForm.ts:117
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:134
|
#: src/pages/sources/saml/SAMLSourceForm.ts:134
|
||||||
|
@ -125,7 +125,7 @@ msgstr "Affected model:"
|
||||||
msgid "Alert"
|
msgid "Alert"
|
||||||
msgstr "Alert"
|
msgstr "Alert"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:149
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:152
|
||||||
msgid "Algorithm used to sign the JWT Tokens."
|
msgid "Algorithm used to sign the JWT Tokens."
|
||||||
msgstr "Algorithm used to sign the JWT Tokens."
|
msgstr "Algorithm used to sign the JWT Tokens."
|
||||||
|
|
||||||
|
@ -220,19 +220,19 @@ msgstr "Are you sure you want to delete {0} {objName} ?"
|
||||||
msgid "Are you sure you want to update {0} \"{1}\"?"
|
msgid "Are you sure you want to update {0} \"{1}\"?"
|
||||||
msgstr "Are you sure you want to update {0} \"{1}\"?"
|
msgstr "Are you sure you want to update {0} \"{1}\"?"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:202
|
#: src/pages/providers/saml/SAMLProviderForm.ts:208
|
||||||
msgid "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgid "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
msgstr "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgstr "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:191
|
#: src/pages/providers/saml/SAMLProviderForm.ts:197
|
||||||
msgid "Assertion valid not before"
|
msgid "Assertion valid not before"
|
||||||
msgstr "Assertion valid not before"
|
msgstr "Assertion valid not before"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:195
|
#: src/pages/providers/saml/SAMLProviderForm.ts:201
|
||||||
msgid "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
msgid "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
||||||
msgstr "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
msgstr "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:198
|
#: src/pages/providers/saml/SAMLProviderForm.ts:204
|
||||||
msgid "Assertion valid not on or after"
|
msgid "Assertion valid not on or after"
|
||||||
msgstr "Assertion valid not on or after"
|
msgstr "Assertion valid not on or after"
|
||||||
|
|
||||||
|
@ -342,19 +342,19 @@ msgstr "Backup status"
|
||||||
msgid "Base DN"
|
msgid "Base DN"
|
||||||
msgstr "Base DN"
|
msgstr "Base DN"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:195
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:204
|
||||||
msgid "Based on the Hashed User ID"
|
msgid "Based on the Hashed User ID"
|
||||||
msgstr "Based on the Hashed User ID"
|
msgstr "Based on the Hashed User ID"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:201
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:210
|
||||||
msgid "Based on the User's Email. This is recommended over the UPN method."
|
msgid "Based on the User's Email. This is recommended over the UPN method."
|
||||||
msgstr "Based on the User's Email. This is recommended over the UPN method."
|
msgstr "Based on the User's Email. This is recommended over the UPN method."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:204
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:213
|
||||||
msgid "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
msgid "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
||||||
msgstr "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
msgstr "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:198
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:207
|
||||||
msgid "Based on the username"
|
msgid "Based on the username"
|
||||||
msgstr "Based on the username"
|
msgstr "Based on the username"
|
||||||
|
|
||||||
|
@ -592,11 +592,11 @@ msgstr "Configuration flow"
|
||||||
msgid "Configure WebAuthn"
|
msgid "Configure WebAuthn"
|
||||||
msgstr "Configure WebAuthn"
|
msgstr "Configure WebAuthn"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:187
|
#: src/pages/providers/saml/SAMLProviderForm.ts:193
|
||||||
msgid "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
msgid "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
||||||
msgstr "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
msgstr "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:233
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:242
|
||||||
msgid "Configure how the issuer field of the ID Token should be filled."
|
msgid "Configure how the issuer field of the ID Token should be filled."
|
||||||
msgstr "Configure how the issuer field of the ID Token should be filled."
|
msgstr "Configure how the issuer field of the ID Token should be filled."
|
||||||
|
|
||||||
|
@ -604,7 +604,7 @@ msgstr "Configure how the issuer field of the ID Token should be filled."
|
||||||
msgid "Configure settings relevant to your user profile."
|
msgid "Configure settings relevant to your user profile."
|
||||||
msgstr "Configure settings relevant to your user profile."
|
msgstr "Configure settings relevant to your user profile."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:208
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:217
|
||||||
msgid "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
msgid "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
||||||
msgstr "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
msgstr "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
||||||
|
|
||||||
|
@ -846,7 +846,7 @@ msgstr "Creation Date"
|
||||||
msgid "Customisation"
|
msgid "Customisation"
|
||||||
msgstr "Customisation"
|
msgstr "Customisation"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:249
|
#: src/pages/providers/saml/SAMLProviderForm.ts:255
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:212
|
#: src/pages/sources/saml/SAMLSourceForm.ts:212
|
||||||
msgid "DSA-SHA1"
|
msgid "DSA-SHA1"
|
||||||
msgstr "DSA-SHA1"
|
msgstr "DSA-SHA1"
|
||||||
|
@ -967,7 +967,7 @@ msgstr "Device classes which can be used to authenticate."
|
||||||
msgid "Device name"
|
msgid "Device name"
|
||||||
msgstr "Device name"
|
msgstr "Device name"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:213
|
#: src/pages/providers/saml/SAMLProviderForm.ts:219
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:176
|
#: src/pages/sources/saml/SAMLSourceForm.ts:176
|
||||||
msgid "Digest algorithm"
|
msgid "Digest algorithm"
|
||||||
msgstr "Digest algorithm"
|
msgstr "Digest algorithm"
|
||||||
|
@ -1010,7 +1010,7 @@ msgstr "Download"
|
||||||
msgid "Dummy stage used for testing. Shows a simple continue button and always passes."
|
msgid "Dummy stage used for testing. Shows a simple continue button and always passes."
|
||||||
msgstr "Dummy stage used for testing. Shows a simple continue button and always passes."
|
msgstr "Dummy stage used for testing. Shows a simple continue button and always passes."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:226
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:235
|
||||||
msgid "Each provider has a different issuer, based on the application slug."
|
msgid "Each provider has a different issuer, based on the application slug."
|
||||||
msgstr "Each provider has a different issuer, based on the application slug."
|
msgstr "Each provider has a different issuer, based on the application slug."
|
||||||
|
|
||||||
|
@ -1451,7 +1451,7 @@ msgstr "Group {0}"
|
||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr "Groups"
|
msgstr "Groups"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:146
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:149
|
||||||
msgid "HS256 (Symmetric Encryption)"
|
msgid "HS256 (Symmetric Encryption)"
|
||||||
msgstr "HS256 (Symmetric Encryption)"
|
msgstr "HS256 (Symmetric Encryption)"
|
||||||
|
|
||||||
|
@ -1478,8 +1478,8 @@ msgstr "Hide managed mappings"
|
||||||
#: src/pages/events/RuleForm.ts:93
|
#: src/pages/events/RuleForm.ts:93
|
||||||
#: src/pages/groups/GroupForm.ts:132
|
#: src/pages/groups/GroupForm.ts:132
|
||||||
#: src/pages/outposts/OutpostForm.ts:98
|
#: src/pages/outposts/OutpostForm.ts:98
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:169
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:178
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:171
|
#: src/pages/providers/saml/SAMLProviderForm.ts:177
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:167
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:167
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:193
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:193
|
||||||
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts:114
|
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts:114
|
||||||
|
@ -1552,11 +1552,11 @@ msgstr "Import certificates of external providers or create certificates to sign
|
||||||
msgid "In case you can't access any other method."
|
msgid "In case you can't access any other method."
|
||||||
msgstr "In case you can't access any other method."
|
msgstr "In case you can't access any other method."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:218
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:227
|
||||||
msgid "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
msgid "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
||||||
msgstr "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
msgstr "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:215
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:224
|
||||||
msgid "Include claims in id_token"
|
msgid "Include claims in id_token"
|
||||||
msgstr "Include claims in id_token"
|
msgstr "Include claims in id_token"
|
||||||
|
|
||||||
|
@ -1600,15 +1600,15 @@ msgstr "Is superuser"
|
||||||
msgid "Issuer"
|
msgid "Issuer"
|
||||||
msgstr "Issuer"
|
msgstr "Issuer"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:221
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:230
|
||||||
msgid "Issuer mode"
|
msgid "Issuer mode"
|
||||||
msgstr "Issuer mode"
|
msgstr "Issuer mode"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:138
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:141
|
||||||
msgid "JWT Algorithm"
|
msgid "JWT Algorithm"
|
||||||
msgstr "JWT Algorithm"
|
msgstr "JWT Algorithm"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:187
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:196
|
||||||
msgid "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
msgid "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
||||||
msgstr "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
msgstr "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
||||||
|
|
||||||
|
@ -1706,15 +1706,15 @@ msgstr "Loading"
|
||||||
#: src/pages/policies/event_matcher/EventMatcherPolicyForm.ts:108
|
#: src/pages/policies/event_matcher/EventMatcherPolicyForm.ts:108
|
||||||
#: src/pages/property-mappings/PropertyMappingTestForm.ts:59
|
#: src/pages/property-mappings/PropertyMappingTestForm.ts:59
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:74
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:74
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:166
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:175
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:185
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:194
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:92
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:92
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:143
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:143
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:71
|
#: src/pages/providers/saml/SAMLProviderForm.ts:71
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:133
|
#: src/pages/providers/saml/SAMLProviderForm.ts:133
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:149
|
#: src/pages/providers/saml/SAMLProviderForm.ts:149
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:169
|
#: src/pages/providers/saml/SAMLProviderForm.ts:175
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:185
|
#: src/pages/providers/saml/SAMLProviderForm.ts:191
|
||||||
#: src/pages/providers/saml/SAMLProviderImportForm.ts:55
|
#: src/pages/providers/saml/SAMLProviderImportForm.ts:55
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:164
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:164
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:190
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:190
|
||||||
|
@ -1924,7 +1924,7 @@ msgstr "Name of the form field, also used to store the value."
|
||||||
msgid "NameID Policy"
|
msgid "NameID Policy"
|
||||||
msgstr "NameID Policy"
|
msgstr "NameID Policy"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:174
|
#: src/pages/providers/saml/SAMLProviderForm.ts:180
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr "NameID Property Mapping"
|
msgstr "NameID Property Mapping"
|
||||||
|
|
||||||
|
@ -2434,30 +2434,30 @@ msgstr "Public key, acquired from https://www.google.com/recaptcha/intro/v3.html
|
||||||
msgid "Publisher"
|
msgid "Publisher"
|
||||||
msgstr "Publisher"
|
msgstr "Publisher"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:143
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:146
|
||||||
msgid "RS256 (Asymmetric Encryption)"
|
msgid "RS256 (Asymmetric Encryption)"
|
||||||
msgstr "RS256 (Asymmetric Encryption)"
|
msgstr "RS256 (Asymmetric Encryption)"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:172
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:181
|
||||||
msgid "RSA Key"
|
msgid "RSA Key"
|
||||||
msgstr "RSA Key"
|
msgstr "RSA Key"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:237
|
#: src/pages/providers/saml/SAMLProviderForm.ts:243
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:200
|
#: src/pages/sources/saml/SAMLSourceForm.ts:200
|
||||||
msgid "RSA-SHA1"
|
msgid "RSA-SHA1"
|
||||||
msgstr "RSA-SHA1"
|
msgstr "RSA-SHA1"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:240
|
#: src/pages/providers/saml/SAMLProviderForm.ts:246
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:203
|
#: src/pages/sources/saml/SAMLSourceForm.ts:203
|
||||||
msgid "RSA-SHA256"
|
msgid "RSA-SHA256"
|
||||||
msgstr "RSA-SHA256"
|
msgstr "RSA-SHA256"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:243
|
#: src/pages/providers/saml/SAMLProviderForm.ts:249
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:206
|
#: src/pages/sources/saml/SAMLSourceForm.ts:206
|
||||||
msgid "RSA-SHA384"
|
msgid "RSA-SHA384"
|
||||||
msgstr "RSA-SHA384"
|
msgstr "RSA-SHA384"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:246
|
#: src/pages/providers/saml/SAMLProviderForm.ts:252
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:209
|
#: src/pages/sources/saml/SAMLSourceForm.ts:209
|
||||||
msgid "RSA-SHA512"
|
msgid "RSA-SHA512"
|
||||||
msgstr "RSA-SHA512"
|
msgstr "RSA-SHA512"
|
||||||
|
@ -2482,11 +2482,14 @@ msgstr "Recovery keys"
|
||||||
msgid "Redirect"
|
msgid "Redirect"
|
||||||
msgstr "Redirect"
|
msgstr "Redirect"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:119
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:107
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:107
|
||||||
msgid "Redirect URIs"
|
msgid "Redirect URIs"
|
||||||
msgstr "Redirect URIs"
|
msgstr "Redirect URIs"
|
||||||
|
|
||||||
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:119
|
||||||
|
msgid "Redirect URIs/Origins"
|
||||||
|
msgstr "Redirect URIs/Origins"
|
||||||
|
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:104
|
#: src/pages/sources/saml/SAMLSourceForm.ts:104
|
||||||
msgid "Redirect binding"
|
msgid "Redirect binding"
|
||||||
msgstr "Redirect binding"
|
msgstr "Redirect binding"
|
||||||
|
@ -2582,22 +2585,22 @@ msgstr "Return to device picker"
|
||||||
msgid "SAML Attribute Name"
|
msgid "SAML Attribute Name"
|
||||||
msgstr "SAML Attribute Name"
|
msgstr "SAML Attribute Name"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:218
|
#: src/pages/providers/saml/SAMLProviderForm.ts:224
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:181
|
#: src/pages/sources/saml/SAMLSourceForm.ts:181
|
||||||
msgid "SHA1"
|
msgid "SHA1"
|
||||||
msgstr "SHA1"
|
msgstr "SHA1"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:221
|
#: src/pages/providers/saml/SAMLProviderForm.ts:227
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:184
|
#: src/pages/sources/saml/SAMLSourceForm.ts:184
|
||||||
msgid "SHA256"
|
msgid "SHA256"
|
||||||
msgstr "SHA256"
|
msgstr "SHA256"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:224
|
#: src/pages/providers/saml/SAMLProviderForm.ts:230
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:187
|
#: src/pages/sources/saml/SAMLSourceForm.ts:187
|
||||||
msgid "SHA384"
|
msgid "SHA384"
|
||||||
msgstr "SHA384"
|
msgstr "SHA384"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:227
|
#: src/pages/providers/saml/SAMLProviderForm.ts:233
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:190
|
#: src/pages/sources/saml/SAMLSourceForm.ts:190
|
||||||
msgid "SHA512"
|
msgid "SHA512"
|
||||||
msgstr "SHA512"
|
msgstr "SHA512"
|
||||||
|
@ -2628,7 +2631,7 @@ msgstr "SMTP Username"
|
||||||
msgid "SSO URL"
|
msgid "SSO URL"
|
||||||
msgstr "SSO URL"
|
msgstr "SSO URL"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:229
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:238
|
||||||
msgid "Same identifier is used for all providers"
|
msgid "Same identifier is used for all providers"
|
||||||
msgstr "Same identifier is used for all providers"
|
msgstr "Same identifier is used for all providers"
|
||||||
|
|
||||||
|
@ -2642,7 +2645,7 @@ msgstr "Scope which the client can specify to access these properties."
|
||||||
|
|
||||||
#: src/elements/oauth/UserCodeList.ts:31
|
#: src/elements/oauth/UserCodeList.ts:31
|
||||||
#: src/elements/oauth/UserRefreshList.ts:31
|
#: src/elements/oauth/UserRefreshList.ts:31
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:152
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:155
|
||||||
msgid "Scopes"
|
msgid "Scopes"
|
||||||
msgstr "Scopes"
|
msgstr "Scopes"
|
||||||
|
|
||||||
|
@ -2677,7 +2680,7 @@ msgstr "Select an identification method."
|
||||||
msgid "Select users to add"
|
msgid "Select users to add"
|
||||||
msgstr "Select users to add"
|
msgstr "Select users to add"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:168
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:177
|
||||||
msgid "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
msgid "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
||||||
msgstr "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
msgstr "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
||||||
|
|
||||||
|
@ -2738,11 +2741,11 @@ msgstr "Service connection"
|
||||||
msgid "Session duration"
|
msgid "Session duration"
|
||||||
msgstr "Session duration"
|
msgstr "Session duration"
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:209
|
#: src/pages/providers/saml/SAMLProviderForm.ts:215
|
||||||
msgid "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgid "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
msgstr "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgstr "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:205
|
#: src/pages/providers/saml/SAMLProviderForm.ts:211
|
||||||
msgid "Session valid not on or after"
|
msgid "Session valid not on or after"
|
||||||
msgstr "Session valid not on or after"
|
msgstr "Session valid not on or after"
|
||||||
|
|
||||||
|
@ -2783,7 +2786,7 @@ msgstr "Shown as the Title in Flow pages."
|
||||||
msgid "Sign up."
|
msgid "Sign up."
|
||||||
msgstr "Sign up."
|
msgstr "Sign up."
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:232
|
#: src/pages/providers/saml/SAMLProviderForm.ts:238
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:195
|
#: src/pages/sources/saml/SAMLSourceForm.ts:195
|
||||||
msgid "Signature algorithm"
|
msgid "Signature algorithm"
|
||||||
msgstr "Signature algorithm"
|
msgstr "Signature algorithm"
|
||||||
|
@ -2938,7 +2941,7 @@ msgstr "Stop impersonation"
|
||||||
msgid "Subject"
|
msgid "Subject"
|
||||||
msgstr "Subject"
|
msgstr "Subject"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:190
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:199
|
||||||
msgid "Subject mode"
|
msgid "Subject mode"
|
||||||
msgstr "Subject mode"
|
msgstr "Subject mode"
|
||||||
|
|
||||||
|
@ -3378,7 +3381,7 @@ msgstr "Token count"
|
||||||
msgid "Token expiry"
|
msgid "Token expiry"
|
||||||
msgstr "Token expiry"
|
msgstr "Token expiry"
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:132
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:135
|
||||||
msgid "Token validity"
|
msgid "Token validity"
|
||||||
msgstr "Token validity"
|
msgstr "Token validity"
|
||||||
|
|
||||||
|
@ -3718,6 +3721,10 @@ msgstr "Using flow"
|
||||||
msgid "Using source"
|
msgid "Using source"
|
||||||
msgstr "Using source"
|
msgstr "Using source"
|
||||||
|
|
||||||
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:123
|
||||||
|
msgid "Valid redirect URLs after a successful authorization flow. Also specify any origins here for Implicit flows."
|
||||||
|
msgstr "Valid redirect URLs after a successful authorization flow. Also specify any origins here for Implicit flows."
|
||||||
|
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:115
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:115
|
||||||
msgid "Validate SSL Certificates of upstream servers."
|
msgid "Validate SSL Certificates of upstream servers."
|
||||||
msgstr "Validate SSL Certificates of upstream servers."
|
msgstr "Validate SSL Certificates of upstream servers."
|
||||||
|
|
|
@ -105,7 +105,7 @@ msgstr ""
|
||||||
msgid "Additional user DN, prepended to the Base DN."
|
msgid "Additional user DN, prepended to the Base DN."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:128
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:131
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:128
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:128
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:117
|
#: src/pages/providers/saml/SAMLProviderForm.ts:117
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:134
|
#: src/pages/sources/saml/SAMLSourceForm.ts:134
|
||||||
|
@ -125,7 +125,7 @@ msgstr ""
|
||||||
msgid "Alert"
|
msgid "Alert"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:149
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:152
|
||||||
msgid "Algorithm used to sign the JWT Tokens."
|
msgid "Algorithm used to sign the JWT Tokens."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -216,19 +216,19 @@ msgstr ""
|
||||||
msgid "Are you sure you want to update {0} \"{1}\"?"
|
msgid "Are you sure you want to update {0} \"{1}\"?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:202
|
#: src/pages/providers/saml/SAMLProviderForm.ts:208
|
||||||
msgid "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgid "Assertion not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:191
|
#: src/pages/providers/saml/SAMLProviderForm.ts:197
|
||||||
msgid "Assertion valid not before"
|
msgid "Assertion valid not before"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:195
|
#: src/pages/providers/saml/SAMLProviderForm.ts:201
|
||||||
msgid "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
msgid "Assertion valid not before current time + this value (Format: hours=-1;minutes=-2;seconds=-3)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:198
|
#: src/pages/providers/saml/SAMLProviderForm.ts:204
|
||||||
msgid "Assertion valid not on or after"
|
msgid "Assertion valid not on or after"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -338,19 +338,19 @@ msgstr ""
|
||||||
msgid "Base DN"
|
msgid "Base DN"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:195
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:204
|
||||||
msgid "Based on the Hashed User ID"
|
msgid "Based on the Hashed User ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:201
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:210
|
||||||
msgid "Based on the User's Email. This is recommended over the UPN method."
|
msgid "Based on the User's Email. This is recommended over the UPN method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:204
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:213
|
||||||
msgid "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
msgid "Based on the User's UPN, only works if user has a 'upn' attribute set. Use this method only if you have different UPN and Mail domains."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:198
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:207
|
||||||
msgid "Based on the username"
|
msgid "Based on the username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -586,11 +586,11 @@ msgstr ""
|
||||||
msgid "Configure WebAuthn"
|
msgid "Configure WebAuthn"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:187
|
#: src/pages/providers/saml/SAMLProviderForm.ts:193
|
||||||
msgid "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
msgid "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:233
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:242
|
||||||
msgid "Configure how the issuer field of the ID Token should be filled."
|
msgid "Configure how the issuer field of the ID Token should be filled."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -598,7 +598,7 @@ msgstr ""
|
||||||
msgid "Configure settings relevant to your user profile."
|
msgid "Configure settings relevant to your user profile."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:208
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:217
|
||||||
msgid "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
msgid "Configure what data should be used as unique User Identifier. For most cases, the default should be fine."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -840,7 +840,7 @@ msgstr ""
|
||||||
msgid "Customisation"
|
msgid "Customisation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:249
|
#: src/pages/providers/saml/SAMLProviderForm.ts:255
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:212
|
#: src/pages/sources/saml/SAMLSourceForm.ts:212
|
||||||
msgid "DSA-SHA1"
|
msgid "DSA-SHA1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -959,7 +959,7 @@ msgstr ""
|
||||||
msgid "Device name"
|
msgid "Device name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:213
|
#: src/pages/providers/saml/SAMLProviderForm.ts:219
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:176
|
#: src/pages/sources/saml/SAMLSourceForm.ts:176
|
||||||
msgid "Digest algorithm"
|
msgid "Digest algorithm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1002,7 +1002,7 @@ msgstr ""
|
||||||
msgid "Dummy stage used for testing. Shows a simple continue button and always passes."
|
msgid "Dummy stage used for testing. Shows a simple continue button and always passes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:226
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:235
|
||||||
msgid "Each provider has a different issuer, based on the application slug."
|
msgid "Each provider has a different issuer, based on the application slug."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1443,7 +1443,7 @@ msgstr ""
|
||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:146
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:149
|
||||||
msgid "HS256 (Symmetric Encryption)"
|
msgid "HS256 (Symmetric Encryption)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1470,8 +1470,8 @@ msgstr ""
|
||||||
#: src/pages/events/RuleForm.ts:93
|
#: src/pages/events/RuleForm.ts:93
|
||||||
#: src/pages/groups/GroupForm.ts:132
|
#: src/pages/groups/GroupForm.ts:132
|
||||||
#: src/pages/outposts/OutpostForm.ts:98
|
#: src/pages/outposts/OutpostForm.ts:98
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:169
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:178
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:171
|
#: src/pages/providers/saml/SAMLProviderForm.ts:177
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:167
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:167
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:193
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:193
|
||||||
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts:114
|
#: src/pages/stages/authenticator_validate/AuthenticatorValidateStageForm.ts:114
|
||||||
|
@ -1544,11 +1544,11 @@ msgstr ""
|
||||||
msgid "In case you can't access any other method."
|
msgid "In case you can't access any other method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:218
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:227
|
||||||
msgid "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
msgid "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:215
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:224
|
||||||
msgid "Include claims in id_token"
|
msgid "Include claims in id_token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1592,15 +1592,15 @@ msgstr ""
|
||||||
msgid "Issuer"
|
msgid "Issuer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:221
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:230
|
||||||
msgid "Issuer mode"
|
msgid "Issuer mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:138
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:141
|
||||||
msgid "JWT Algorithm"
|
msgid "JWT Algorithm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:187
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:196
|
||||||
msgid "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
msgid "Key used to sign the tokens. Only required when JWT Algorithm is set to RS256."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1698,15 +1698,15 @@ msgstr ""
|
||||||
#: src/pages/policies/event_matcher/EventMatcherPolicyForm.ts:108
|
#: src/pages/policies/event_matcher/EventMatcherPolicyForm.ts:108
|
||||||
#: src/pages/property-mappings/PropertyMappingTestForm.ts:59
|
#: src/pages/property-mappings/PropertyMappingTestForm.ts:59
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:74
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:74
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:166
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:175
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:185
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:194
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:92
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:92
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:143
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:143
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:71
|
#: src/pages/providers/saml/SAMLProviderForm.ts:71
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:133
|
#: src/pages/providers/saml/SAMLProviderForm.ts:133
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:149
|
#: src/pages/providers/saml/SAMLProviderForm.ts:149
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:169
|
#: src/pages/providers/saml/SAMLProviderForm.ts:175
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:185
|
#: src/pages/providers/saml/SAMLProviderForm.ts:191
|
||||||
#: src/pages/providers/saml/SAMLProviderImportForm.ts:55
|
#: src/pages/providers/saml/SAMLProviderImportForm.ts:55
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:164
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:164
|
||||||
#: src/pages/sources/ldap/LDAPSourceForm.ts:190
|
#: src/pages/sources/ldap/LDAPSourceForm.ts:190
|
||||||
|
@ -1916,7 +1916,7 @@ msgstr ""
|
||||||
msgid "NameID Policy"
|
msgid "NameID Policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:174
|
#: src/pages/providers/saml/SAMLProviderForm.ts:180
|
||||||
msgid "NameID Property Mapping"
|
msgid "NameID Property Mapping"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2426,30 +2426,30 @@ msgstr ""
|
||||||
msgid "Publisher"
|
msgid "Publisher"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:143
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:146
|
||||||
msgid "RS256 (Asymmetric Encryption)"
|
msgid "RS256 (Asymmetric Encryption)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:172
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:181
|
||||||
msgid "RSA Key"
|
msgid "RSA Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:237
|
#: src/pages/providers/saml/SAMLProviderForm.ts:243
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:200
|
#: src/pages/sources/saml/SAMLSourceForm.ts:200
|
||||||
msgid "RSA-SHA1"
|
msgid "RSA-SHA1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:240
|
#: src/pages/providers/saml/SAMLProviderForm.ts:246
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:203
|
#: src/pages/sources/saml/SAMLSourceForm.ts:203
|
||||||
msgid "RSA-SHA256"
|
msgid "RSA-SHA256"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:243
|
#: src/pages/providers/saml/SAMLProviderForm.ts:249
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:206
|
#: src/pages/sources/saml/SAMLSourceForm.ts:206
|
||||||
msgid "RSA-SHA384"
|
msgid "RSA-SHA384"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:246
|
#: src/pages/providers/saml/SAMLProviderForm.ts:252
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:209
|
#: src/pages/sources/saml/SAMLSourceForm.ts:209
|
||||||
msgid "RSA-SHA512"
|
msgid "RSA-SHA512"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2474,11 +2474,14 @@ msgstr ""
|
||||||
msgid "Redirect"
|
msgid "Redirect"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:119
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:107
|
#: src/pages/providers/oauth2/OAuth2ProviderViewPage.ts:107
|
||||||
msgid "Redirect URIs"
|
msgid "Redirect URIs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:119
|
||||||
|
msgid "Redirect URIs/Origins"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:104
|
#: src/pages/sources/saml/SAMLSourceForm.ts:104
|
||||||
msgid "Redirect binding"
|
msgid "Redirect binding"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2574,22 +2577,22 @@ msgstr ""
|
||||||
msgid "SAML Attribute Name"
|
msgid "SAML Attribute Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:218
|
#: src/pages/providers/saml/SAMLProviderForm.ts:224
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:181
|
#: src/pages/sources/saml/SAMLSourceForm.ts:181
|
||||||
msgid "SHA1"
|
msgid "SHA1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:221
|
#: src/pages/providers/saml/SAMLProviderForm.ts:227
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:184
|
#: src/pages/sources/saml/SAMLSourceForm.ts:184
|
||||||
msgid "SHA256"
|
msgid "SHA256"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:224
|
#: src/pages/providers/saml/SAMLProviderForm.ts:230
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:187
|
#: src/pages/sources/saml/SAMLSourceForm.ts:187
|
||||||
msgid "SHA384"
|
msgid "SHA384"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:227
|
#: src/pages/providers/saml/SAMLProviderForm.ts:233
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:190
|
#: src/pages/sources/saml/SAMLSourceForm.ts:190
|
||||||
msgid "SHA512"
|
msgid "SHA512"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2620,7 +2623,7 @@ msgstr ""
|
||||||
msgid "SSO URL"
|
msgid "SSO URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:229
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:238
|
||||||
msgid "Same identifier is used for all providers"
|
msgid "Same identifier is used for all providers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2634,7 +2637,7 @@ msgstr ""
|
||||||
|
|
||||||
#: src/elements/oauth/UserCodeList.ts:31
|
#: src/elements/oauth/UserCodeList.ts:31
|
||||||
#: src/elements/oauth/UserRefreshList.ts:31
|
#: src/elements/oauth/UserRefreshList.ts:31
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:152
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:155
|
||||||
msgid "Scopes"
|
msgid "Scopes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2669,7 +2672,7 @@ msgstr ""
|
||||||
msgid "Select users to add"
|
msgid "Select users to add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:168
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:177
|
||||||
msgid "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
msgid "Select which scopes can be used by the client. The client stil has to specify the scope to access the data."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2730,11 +2733,11 @@ msgstr ""
|
||||||
msgid "Session duration"
|
msgid "Session duration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:209
|
#: src/pages/providers/saml/SAMLProviderForm.ts:215
|
||||||
msgid "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
msgid "Session not valid on or after current time + this value (Format: hours=1;minutes=2;seconds=3)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:205
|
#: src/pages/providers/saml/SAMLProviderForm.ts:211
|
||||||
msgid "Session valid not on or after"
|
msgid "Session valid not on or after"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2775,7 +2778,7 @@ msgstr ""
|
||||||
msgid "Sign up."
|
msgid "Sign up."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/saml/SAMLProviderForm.ts:232
|
#: src/pages/providers/saml/SAMLProviderForm.ts:238
|
||||||
#: src/pages/sources/saml/SAMLSourceForm.ts:195
|
#: src/pages/sources/saml/SAMLSourceForm.ts:195
|
||||||
msgid "Signature algorithm"
|
msgid "Signature algorithm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2930,7 +2933,7 @@ msgstr ""
|
||||||
msgid "Subject"
|
msgid "Subject"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:190
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:199
|
||||||
msgid "Subject mode"
|
msgid "Subject mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3368,7 +3371,7 @@ msgstr ""
|
||||||
msgid "Token expiry"
|
msgid "Token expiry"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:132
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:135
|
||||||
msgid "Token validity"
|
msgid "Token validity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3708,6 +3711,10 @@ msgstr ""
|
||||||
msgid "Using source"
|
msgid "Using source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/providers/oauth2/OAuth2ProviderForm.ts:123
|
||||||
|
msgid "Valid redirect URLs after a successful authorization flow. Also specify any origins here for Implicit flows."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/providers/proxy/ProxyProviderForm.ts:115
|
#: src/pages/providers/proxy/ProxyProviderForm.ts:115
|
||||||
msgid "Validate SSL Certificates of upstream servers."
|
msgid "Validate SSL Certificates of upstream servers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -113,9 +113,12 @@ export class OAuth2ProviderFormPage extends Form<OAuth2Provider> {
|
||||||
<input type="text" value="${first(this.provider?.clientSecret, randomString(128))}" class="pf-c-form-control">
|
<input type="text" value="${first(this.provider?.clientSecret, randomString(128))}" class="pf-c-form-control">
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
<ak-form-element-horizontal
|
<ak-form-element-horizontal
|
||||||
label=${t`Redirect URIs`}
|
label=${t`Redirect URIs/Origins`}
|
||||||
name="redirectUris">
|
name="redirectUris">
|
||||||
<textarea class="pf-c-form-control">${this.provider?.redirectUris}</textarea>
|
<textarea class="pf-c-form-control">${this.provider?.redirectUris}</textarea>
|
||||||
|
<p class="pf-c-form__helper-text">
|
||||||
|
${t`Valid redirect URLs after a successful authorization flow. Also specify any origins here for CORS Headers.`}
|
||||||
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
</div>
|
</div>
|
||||||
</ak-form-group>
|
</ak-form-group>
|
||||||
|
|
Reference in New Issue