Sorting SAML idp (#1704)

This commit is contained in:
Antoine ROSIER 2019-04-10 16:14:49 +02:00
parent ae3a728378
commit 8636da45be
17 changed files with 1057 additions and 46 deletions

View File

@ -28,7 +28,7 @@ our $casAppMetaDataNodeKeys = 'casAppMetaData(?:Options(?:Servic|Rul)e|ExportedV
our $casSrvMetaDataNodeKeys = 'casSrvMetaData(?:Options(?:ProxiedServices|DisplayName|Gateway|Renew|Icon|Url)|ExportedVars)';
our $oidcOPMetaDataNodeKeys = 'oidcOPMetaData(?:Options(?:C(?:lient(?:Secret|ID)|heckJWTSignature|onfigurationURI)|TokenEndpointAuthMethod|(?:JWKSTimeou|Promp)t|I(?:DTokenMaxAge|con)|S(?:toreIDToken|cope)|U(?:iLocales|seNonce)|Display(?:Name)?|AcrValues|MaxAge)|ExportedVars|J(?:SON|WKS))';
our $oidcRPMetaDataNodeKeys = 'oidcRPMetaData(?:Options(?:(?:PostLogoutRedirectUri|ExtraClaim)s|I(?:DToken(?:Expiration|SignAlg)|con)|Logout(?:SessionRequired|Type|Url)|AccessTokenExpiration|R(?:edirectUris|ule)|Client(?:Secret|ID)|BypassConsent|DisplayName|UserIDAttr)|ExportedVars)';
our $samlIDPMetaDataNodeKeys = 'samlIDPMetaData(?:Options(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|EncryptionMod|UserAttribut|DisplayNam)e|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Re(?:questedAuthnContext|solutionRule|layStateURL)|S(?:ignS[LS]OMessage|toreSAMLToken|[LS]OBinding)|Force(?:Authn|UTF8)|I(?:sPassive|con)|NameIDFormat)|ExportedAttributes|XML)';
our $samlIDPMetaDataNodeKeys = 'samlIDPMetaData(?:Options(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|EncryptionMod|UserAttribut|DisplayNam)e|S(?:ignS[LS]OMessage|toreSAMLToken|[LS]OBinding|ortNumber)|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Re(?:questedAuthnContext|solutionRule|layStateURL)|Force(?:Authn|UTF8)|I(?:sPassive|con)|NameIDFormat)|ExportedAttributes|XML)';
our $samlSPMetaDataNodeKeys = 'samlSPMetaData(?:Options(?:N(?:ameID(?:SessionKey|Format)|otOnOrAfterTimeout)|S(?:essionNotOnOrAfterTimeout|ignS[LS]OMessage)|(?:CheckS[LS]OMessageSignatur|OneTimeUs|Rul)e|En(?:ableIDPInitiatedURL|cryptionMode)|ForceUTF8)|ExportedAttributes|XML)';
our $virtualHostKeys = '(?:vhost(?:A(?:uthnLevel|liases)|(?:Maintenanc|Typ)e|Https|Port)|(?:exportedHeader|locationRule)s|post)';

View File

@ -167,6 +167,7 @@ site/htdocs/static/js/viewer.min.js
site/htdocs/static/languages/ar.json
site/htdocs/static/languages/de.json
site/htdocs/static/languages/en.json
site/htdocs/static/languages/es.json
site/htdocs/static/languages/fr.json
site/htdocs/static/languages/it.json
site/htdocs/static/languages/vi.json

View File

@ -8,17 +8,17 @@ sub types {
'array' => {
'test' => sub {
1;
}
}
},
'authParamsText' => {
'test' => sub {
1;
}
}
},
'blackWhiteList' => {
'test' => sub {
1;
}
}
},
'bool' => {
'msgFail' => '__notABoolean__',
@ -36,17 +36,17 @@ sub types {
split( /\n/, $@, 0 ) )
);
return $err ? ( 1, "__badExpression__: $err" ) : 1;
}
}
},
'catAndAppList' => {
'test' => sub {
1;
}
}
},
'file' => {
'test' => sub {
1;
}
}
},
'hostname' => {
'form' => 'text',
@ -80,48 +80,48 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
if $_ =~ /exportedvars$/i and defined $conf->{$_}{$val};
}
return 1, "__unknownAttrOrMacro__: $val";
}
}
},
'longtext' => {
'test' => sub {
1;
}
}
},
'menuApp' => {
'test' => sub {
1;
}
}
},
'menuCat' => {
'test' => sub {
1;
}
}
},
'oidcmetadatajson' => {
'test' => sub {
1;
}
}
},
'oidcmetadatajwks' => {
'test' => sub {
1;
}
}
},
'oidcOPMetaDataNode' => {
'test' => sub {
1;
}
}
},
'oidcRPMetaDataNode' => {
'test' => sub {
1;
}
}
},
'password' => {
'msgFail' => '__malformedValue__',
'test' => sub {
1;
}
}
},
'pcre' => {
'form' => 'text',
@ -132,7 +132,7 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
}
};
return $@ ? ( 0, "__badRegexp__: $@" ) : 1;
}
}
},
'PerlModule' => {
'form' => 'text',
@ -142,17 +142,17 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
'portalskin' => {
'test' => sub {
1;
}
}
},
'portalskinbackground' => {
'test' => sub {
1;
}
}
},
'post' => {
'test' => sub {
1;
}
}
},
'RSAPrivateKey' => {
'test' => sub {
@ -160,7 +160,7 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
m[^(?:(?:\-+\s*BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?(?:Proc-Type:.*\r?\nDEK-Info:.*\r?\n[\r\n]*)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:RSA\s+)PRIVATE\s+KEY\s*\-+)?[\r\n]*)?$]s
? 1
: ( 1, '__badPemEncoding__' );
}
}
},
'RSAPublicKey' => {
'test' => sub {
@ -168,7 +168,7 @@ m[^(?:(?:\-+\s*BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?(?:Proc-Type:.*\r?\n
m[^(?:(?:\-+\s*BEGIN\s+PUBLIC\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+PUBLIC\s+KEY\s*\-+)?[\r\n]*)?$]s
? 1
: ( 1, '__badPemEncoding__' );
}
}
},
'RSAPublicKeyOrCertificate' => {
'test' => sub {
@ -176,37 +176,37 @@ m[^(?:(?:\-+\s*BEGIN\s+PUBLIC\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\
m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+)?[\r\n]*)?$]s
? 1
: ( 1, '__badPemEncoding__' );
}
}
},
'rule' => {
'test' => sub {
1;
}
}
},
'samlAssertion' => {
'test' => sub {
1;
}
}
},
'samlAttribute' => {
'test' => sub {
1;
}
}
},
'samlIDPMetaDataNode' => {
'test' => sub {
1;
}
}
},
'samlService' => {
'test' => sub {
1;
}
}
},
'samlSPMetaDataNode' => {
'test' => sub {
1;
}
}
},
'select' => {
'test' => sub {
@ -216,19 +216,19 @@ m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\
return $test
? 1
: ( 1, "Invalid value '$_[0]' for this select" );
}
}
},
'subContainer' => {
'keyTest' => qr/\w/,
'test' => sub {
1;
}
}
},
'text' => {
'msgFail' => '__malformedValue__',
'test' => sub {
1;
}
}
},
'trool' => {
'msgFail' => '__authorizedValues__: -1, 0, 1',
@ -1081,7 +1081,7 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][
split( /\n/, $@, 0 ) )
);
return $err ? ( 1, "__badExpression__: $err" ) : 1;
}
}
},
'type' => 'keyTextContainer'
},
@ -1300,7 +1300,7 @@ qr/^(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-
and defined $conf->{$_}{$val};
}
return 1, "__unknownAttrOrMacro__: $val";
}
}
},
'type' => 'doubleHash'
},
@ -1586,7 +1586,7 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][
split( /\n/, $@, 0 ) )
);
return $err ? ( 1, "__badExpression__: $err" ) : 1;
}
}
},
'type' => 'ruleContainer'
},
@ -2796,6 +2796,9 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
],
'type' => 'select'
},
'samlIDPMetaDataOptionsSortNumber' => {
'type' => 'int'
},
'samlIDPMetaDataOptionsSSOBinding' => {
'default' => '',
'select' => [ {
@ -3160,19 +3163,19 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
'securedCookie' => {
'default' => 0,
'select' => [ {
'k' => '0',
'k' => 0,
'v' => 'unsecuredCookie'
},
{
'k' => '1',
'k' => 1,
'v' => 'securedCookie'
},
{
'k' => '2',
'k' => 2,
'v' => 'doubleCookie'
},
{
'k' => '3',
'k' => 3,
'v' => 'doubleCookieForSingleSession'
}
],

View File

@ -2298,6 +2298,7 @@ sub attributes {
samlIDPMetaDataOptionsUserAttribute => { type => 'text', },
samlIDPMetaDataOptionsDisplayName => { type => 'text', },
samlIDPMetaDataOptionsIcon => { type => 'text', },
samlIDPMetaDataOptionsSortNumber => { type => 'int', },
# SP keys
samlSPMetaDataExportedAttributes => {

View File

@ -94,7 +94,8 @@ sub cTrees {
form => 'simpleInputContainer',
nodes => [
"samlIDPMetaDataOptionsDisplayName",
"samlIDPMetaDataOptionsIcon"
"samlIDPMetaDataOptionsIcon",
"samlIDPMetaDataOptionsSortNumber"
]
}
],

View File

@ -859,6 +859,12 @@ function templates(tpl,key) {
"get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsIcon",
"id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsIcon",
"title" : "samlIDPMetaDataOptionsIcon"
},
{
"get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSortNumber",
"id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSortNumber",
"title" : "samlIDPMetaDataOptionsSortNumber",
"type" : "int"
}
],
"id" : "samlIDPMetaDataOptionsDisplay",

File diff suppressed because one or more lines are too long

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"عرض",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"الحماية",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"حفظ SAML توكن",
"samlIDPMetaDataOptionsRelayStateURL":"السماح بعنوان اليو آر إل ك RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Security",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Store SAML Token",
"samlIDPMetaDataOptionsRelayStateURL":"Allow URL as RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Security",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Store SAML Token",
"samlIDPMetaDataOptionsRelayStateURL":"Allow URL as RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",

View File

@ -0,0 +1,987 @@
{
"/doc/":"/doc/",
"_auth":"Authentication",
"_authChoice":"Authentication choice",
"_idp":"IDP EntityID",
"_idpConfKey":"IDP configuration key",
"_issuerDB":"Issuer",
"_lassoIdentityDump":"Lasso identity dump",
"_lassoSessionDump":"Lasso session dump",
"_lastAuthnUTime":"Authentication timestamp",
"_lastSeen":"Last activity timestamp",
"_loginHistory":"Login history",
"_oidc_access_token":"Access Token",
"_oidc_id_token":"ID Token",
"_oidc_OP":"Provider key",
"_password":"Password",
"_passwordDB":"Password",
"_samlToken":"SAML token",
"_session_id":"Session identifier",
"_startTime":"Creation date",
"_timezone":"Time zone",
"_updateTime":"Update date",
"_user":"Login",
"_userDB":"User",
"_url":"Origin URL",
"_utime":"Session timestamp",
"2faSessions":"2ndFA sessions explorer",
"2ndFA":"Second Factors",
"actives":"Enabled",
"activeTimer":"Auto accept time",
"addAppCasPartner":"Add CAS application",
"addIDPSamlPartner":"Add SAML IDP",
"addOidcOp":"Add OpenID Connect Provider",
"addOidcRp":"Add OpenID Relying Party",
"addSamlAttribute":"Add attribute",
"addSPSamlPartner":"Add SAML SP",
"addSrvCasPartner":"Add CAS server",
"addU2FKey":"Add U2F key",
"addTOTPKey":"Add TOTP key",
"addVhost":"Add virtualhost",
"adParams":"Active Directory parameters",
"ADPwdExpireWarning":"Password expire warning",
"ADPwdMaxAge":"Password max age",
"advancedParams":"Advanced parameters",
"allowedMarkups":"Allowed markups:",
"apacheParams":"Apache parameters",
"apacheAuthnLevel":"Authentication level",
"application":"Application",
"applicationDisplay":"Display application",
"applicationList":"Categories and applications",
"applyResult":"Apply result",
"appsInThisCat":"Applications in this category",
"attributesAndMacros":"Attributes and macros",
"authAndUserdb":"Authz and user DB",
"authChain":"Authentication chain",
"authChoice":"Authentication choice",
"authChoiceModules":"Allowed modules",
"authChoiceParam":"URL parameter",
"authentication":"Authentication module",
"authenticationNeeded":"Authentication needed",
"authenticationLevel":"Authentication level",
"authenticationTitle":"Authentication",
"AuthLDAPFilter":"Authentication filter",
"authOnly":"Authentication only",
"author":"Author",
"authorIPAddress":"Author IP address",
"authorizedValues":"Authorized values",
"authParams":"Authentication parameters",
"auto":"Automatic",
"autoSignin":"Auto Signin",
"autoSigninRules":"Rules",
"backtoportal":"Back to portal",
"badCasProxyId":"Bad CAS proxied service identifier",
"badChoiceKey":"Bad key name in Choice menu",
"badCookieName":"Bad cookie name",
"badCustomFuncName":"Bad custom function name",
"badDomainName":"Bad domain name",
"badEncoding":"Bad encoding",
"badExpression":"Bad expression",
"badHeaderName":"Bad header name",
"badHostname":"Bad hostname",
"badLdapUri":"Bad LDAP URI",
"badKeyName":"Bad key name",
"badIPv4Address":"Bad IPv4 address",
"badMacroName":"Bad macro name",
"badMetadataName":"Bad metadata name",
"badPemEncoding":"Bad PEM encoding",
"badPerlPackageName":"Bad Perl package name",
"badRegexp":"Bad regular expression",
"badRequest":"Bad request",
"badSkinRule":"Bad skin rule",
"badUrl":"Bad URL",
"badValue":"Bad value",
"badVariableName":"Bad variable name",
"blackList":"Black list",
"browse":"Browse",
"browserIdAuthnLevel":"Authentication level",
"browserIdAutoLogin":"Automatic login",
"browserIdBackgroundColor":"Background color",
"browseridParams":"BrowserIDParams",
"browserIdSiteLogo":"Site Logo",
"browserIdSiteName":"Site name",
"browserIdVerificationURL":"Verification URL",
"browseTree":"Browse tree",
"bruteForceProtection":"Brute-force attack protection",
"cancel":"Cancel",
"captcha_login_enabled":"Activation in login form",
"captcha_mail_enabled":"Activation in password reset by mail form",
"captcha_register_enabled":"Activation in register form",
"captcha_size":"Size",
"casAuthnLevel":"Authentication level",
"casAccessControlPolicy":"Access control policy",
"casApp":"CAS Application",
"casAppMetaDataExportedVars":"Exported attributes",
"casAppMetaDataNodes":"CAS Applications",
"casAppMetaDataOptions":"Options",
"casAppMetaDataOptionsService":"Service URL",
"casAppMetaDataOptionsRule":"Rule",
"casAppName":"CAS App Name",
"casAttr":"CAS login",
"casAttributes":"CAS exported attributes",
"casParams":"CAS parameters",
"casServiceMetadata":"CAS Service",
"casSrv":"CAS Server",
"casSrvMetaDataExportedVars":"Exported attributes",
"casSrvMetaDataOptions":"Options",
"casSrvMetaDataOptionsDisplay":"Display",
"casSrvMetaDataOptionsDisplayName":"Name to display",
"casSrvMetaDataOptionsGateway":"Gateway authentication",
"casSrvMetaDataOptionsIcon":"Icon path",
"casSrvMetaDataOptionsRenew":"Renew authentication",
"casSrvMetaDataOptionsProxiedServices":"Proxied services",
"casSrvMetaDataOptionsUrl":"Server URL",
"casSrvMetaDataNodes":"CAS Servers",
"casSrvName":"CAS Server Name",
"casStorage":"CAS sessions module name",
"casStorageOptions":"CAS sessions module options",
"categoryName":"Category name",
"cda":"Multiple domains",
"contentSecurityPolicy":"Content security policy",
"cspDefault":"Default value",
"cspFormAction":"Form destinations",
"cspImg":"Image source",
"cspScript":"Script source",
"cspStyle":"Style source",
"cspConnect":"Ajax destinations",
"cspFont":"Font source",
"cfgLog":"Resume",
"cfgVersion":"Configuration version",
"checkXSS":"Check XSS attacks",
"clickHereToForce":"Click here to force",
"checkState":"Activation",
"checkStateSecret":"Shared secret",
"checkUsers":"SSO profile Check",
"checkUser":"Activation",
"checkUserIdRule":"Identities use rule",
"checkUserHiddenAttributes":"Hidden attributes",
"checkUserDisplayPersistentInfo":"Display persistent session",
"checkUserDisplayEmptyValues":"Display empty values",
"choiceParams":"Choice parameters",
"chooseLogo":"Choose logo",
"chooseSkin":"Choose skin",
"combination":"Combination",
"combinationParams":"Combination parameters",
"combineMods":"Combination of modules",
"combModules":"Module list",
"comment":"Comment",
"comments":"Comments",
"condition":"Condition",
"conf":"Configuration",
"Configuration":"Configuration",
"confirmFormMethod":"Method for confirm form",
"confModuledeprecated":"This module has been deprecated, set \"forceUpload=1\" in lemonldap-ng.ini to use it",
"confNotChanged":"No change detected, saving aborted",
"confSaved":"Configuration saved",
"confWasChanged":"Configuration has been changed",
"connectionTitle":"Connection",
"cookieExpiration":"Cookie expiration time",
"cookieName":"Cookie Name",
"cookieParams":"Cookies",
"create":"Create",
"currentConfiguration":"Current configuration",
"customAddParams":"Additional parameters",
"customAuth":"Custom authentication module",
"customFunctions":"Custom functions",
"customModule":"Custom module",
"customParams":"Custom module names",
"customPassword":"Custom password module",
"customPortalSkin":"Custom portal skin",
"customRegister":"Custom register module",
"customUserDB":"Custom user DB module",
"date":"Date",
"dbiAuthChain":"Chain",
"dbiAuthLoginCol":"Login field name",
"dbiAuthnLevel":"Authentication level",
"dbiAuthPassword":"Password",
"dbiAuthPasswordCol":"Password field name",
"dbiAuthPasswordHash":"Hash scheme",
"dbiDynamicHash":"dynamic hashing",
"dbiDynamicHashEnabled":"dynamic hash activation",
"dbiDynamicHashValidSchemes":"Supported non-salted schemes",
"dbiDynamicHashValidSaltedSchemes":"Supported salted schemes",
"dbiDynamicHashNewPasswordScheme":"Dynamic hash scheme for new passwords",
"dbiAuthTable":"Authentication table",
"dbiAuthUser":"User",
"dbiConnection":"Connection",
"dbiExportedVars":"Exported variables",
"dbiParams":"DBI parameters",
"dbiPassword":"Password",
"dbiPasswordMailCol":"Mail field name",
"dbiSchema":"Schema",
"dbiUserTable":"User table",
"default":"Default",
"defaultRule":"Default rule",
"demoModeOn":"This manager runs in demo mode",
"deleteEntry":"Delete",
"deleteNotification":"Delete",
"deleteSession":"Delete session",
"deleteU2FKey":"Delete U2F key",
"deleteTOTPKey":"Delete TOTP key",
"demoExportedVars":"Exported variables",
"demoParams":"Demonstration parameters",
"description":"Description",
"diffViewer":"Difference viewer",
"diffWithPrevious":"difference with previous",
"disabled":"Disabled",
"done":"done",
"dones":"Done",
"down":"Move up",
"doubleCookie":"Double cookie (HTTP and HTTPS)",
"doubleCookieForSingleSession":"Double cookie for a single session",
"databaseLocked":"Database locked by another process",
"dateTitle":"Dates",
"dn":"DN",
"domain":"Domain",
"download":"Download",
"downloadIt":"Download it",
"duplicate":"Duplicate",
"edit":"Edit",
"editContent":"Edit content",
"emptyConf":"Empty configuration",
"emptyValueNotAllowed":"Empty value not allowed",
"enabled":"Enabled",
"enterPassword":"Enter password (optional)",
"error":"Error",
"errors":"ERRORS",
"exportedAttr":"SOAP/REST exported attributes",
"exportedHeaders":"Exported headers",
"exportedVars":"Exported Variables",
"external2f":"External second factor",
"ext2fActivation":"Activation",
"ext2fCodeActivation":"Code regex",
"ext2fAuthnLevel":"Authentication level",
"ext2fLogo":"Logo",
"ext2FSendCommand":"Send comand",
"ext2FValidateCommand":"Validation command",
"facebookAppId":"Facebook application ID",
"facebookAppSecret":"Facebook application secret",
"facebookAuthnLevel":"Authentication level",
"facebookExportedVars":"Exported variables",
"facebookParams":"Facebook parameters",
"facebookUserField":"Field containing user identifier",
"failedLoginNumber":"Number of registered failed logins",
"fileToUpload":"File to upload",
"forbidden":"You're not authorized to show this page",
"forceSave":"Force save",
"format":"Format",
"formReplay":"Form replay",
"formTimeout":"Form timeout",
"forms":"Forms",
"friendlyName":"Friendly name",
"generalParameters":"General Parameters",
"globalStorage":"Apache::Session module",
"globalStorageOptions":"Apache::Session module parameters",
"gpgAuthnLevel":"Authentication level",
"gpgDb":"GPG database",
"gpgParams":"GPG parameters",
"grantSessionRules":"Opening conditions",
"groups":"Groups",
"hashkey":"Key",
"headers":"HTTP Headers",
"hGroups":"Groups (HashRef)",
"hostname":"Hostname",
"hiddenAttributes":"Hidden attributes",
"hide":"Hide",
"hideHelp":"Hide help",
"hideOldPassword":"Hide old password",
"hideTree":"Hide tree",
"httpOnly":"Javascript protection",
"https":"HTTPS",
"impersonation":"Impersonation",
"impersonationRule":"Use rule",
"impersonationIdRule":"Identities use rule",
"impersonationHiddenAttributes":"Hidden attributes",
"impersonationMergeSSOgroups":"Merge spoofed and real SSO groups",
"impersonationPrefix":"Real attributes prefix",
"impersonationSkipEmptyValues":"Skip empty values",
"incompleteForm":"Required fields are missing",
"index":"Index",
"infoFormMethod":"Method for info form",
"invalidSessionData":"Invalid session data",
"internalReference":"Internal reference",
"ipAddr":"IP address",
"ipAddresses":"IP addresses",
"issuerDBGet":"GET",
"issuerDBGetActivation":"Activation",
"issuerDBGetParameters":"GET parameters",
"issuerDBGetPath":"Path",
"issuerDBGetRule":"Use rule",
"issuerDBSAML":"SAML",
"issuerDBSAMLActivation":"Activation",
"issuerDBSAMLPath":"Path",
"issuerDBSAMLRule":"Use rule",
"issuerDBCAS":"CAS",
"issuerDBCASActivation":"Activation",
"issuerDBCASPath":"Path",
"issuerDBCASRule":"Use rule",
"issuerDBCASOptions":"Options",
"issuerDBOpenID":"OpenID",
"issuerDBOpenIDActivation":"Activation",
"issuerDBOpenIDPath":"Path",
"issuerDBOpenIDRule":"Use rule",
"issuerDBOpenIDOptions":"Options",
"issuerDBOpenIDConnect":"OpenID Connect",
"issuerDBOpenIDConnectActivation":"Activation",
"issuerDBOpenIDConnectPath":"Path",
"issuerDBOpenIDConnectRule":"Use rule",
"issuerParams":"Issuer modules",
"jsRedirect":"Redirection message",
"jqueryButtonSelector":"jQuery button selector (optional)",
"jqueryFormSelector":"jQuery form selector (optional)",
"jqueryUrl":"jQuery URL (optional)",
"key":"Encryption key",
"keys":"Keys",
"keyname":"Key name",
"keyPassword":"Key password",
"krbAuthnLevel":"Kerberos authn level",
"krbByJs":"Use Ajax request",
"krbKeytab":"keytab file",
"krbRemoveDomain":"Remove domain from Kerberos username",
"kerberosParams":"Kerberos parameters",
"languages":"Languages",
"latest":"Latest",
"ldap":"LDAP",
"ldapAllowResetExpiredPassword":"Allow to reset an expired password",
"ldapAuthnLevel":"Authentication level",
"ldapBase":"Users search base",
"ldapChangePasswordAsUser":"Change as user",
"ldapConnection":"Connection",
"ldapExportedVars":"Exported variables",
"ldapFilters":"Filters",
"LDAPFilter":"Default filter",
"ldapGroupAttributeName":"Target attribute",
"ldapGroupAttributeNameGroup":"Group source attribute",
"ldapGroupAttributeNameSearch":"Searched attributes",
"ldapGroupAttributeNameUser":"User source attribute",
"ldapGroupBase":"Search base",
"ldapGroupDecodeSearchedValue":"Decode searched value",
"ldapGroupObjectClass":"Object class",
"ldapGroupRecursive":"Recursive",
"ldapGroups":"Groups",
"ldapParams":"LDAP parameters",
"ldapPassword":"Password",
"ldapPasswordResetAttribute":"Reset attribute",
"ldapPasswordResetAttributeValue":"Reset value",
"ldapPpolicyControl":"Password policy control",
"ldapPort":"Server port",
"ldapPwdEnc":"LDAP password encoding",
"ldapRaw":"Binary attributes",
"ldapSearchDeref":"Alias dereference",
"ldapServer":"Server host",
"ldapSetPassword":"Password modify extended operation",
"ldapTimeout":"Timeout",
"ldapUsePasswordResetAttribute":"Use reset attribute",
"ldapVersion":"Version",
"linkedInAuthnLevel":"Authentication level",
"linkedInClientID":"Client ID",
"linkedInClientSecret":"Client secret",
"linkedInFields":"Searched fields",
"linkedinParams":"LinkedIn Parameters",
"linkedInScope":"Scope",
"linkedInUserField":"Field containing user identifier",
"load":"Load",
"loadedConfiguration":"Loaded configuration",
"loadFromUrl":"Load from URL",
"localSessionStorage":"Cache module",
"localSessionStorageOptions":"Cache module options",
"locationRules":"Access rule",
"loginHistory":"Login history",
"loginHistoryEnabled":"Activation",
"logo":"Logo",
"logout":"Logout",
"logoutServices":"Logout forward",
"logParams":"Logs",
"lwpOpts":"Options for server requests",
"lwpSslOpts":"SSL options for server requests",
"macros":"Macros",
"mail2f":"Mail second factor",
"mail2fActivation":"Activation",
"mail2fCodeRegex":"Code regex",
"mail2fTimeout":"Code timeout",
"mail2fSubject":"Mail subject",
"mail2fBody":"Mail body",
"mail2fAuthnLevel":"Authentication level",
"mail2fLogo":"Logo",
"mailBody":"Success mail content",
"mailCharset":"Charset",
"mailConfirmBody":"Confirmation mail content",
"mailConfirmSubject":"Confirmation mail subject",
"mailContent":"Password reset mail content",
"mailFrom":"Mail sender",
"mailHeaders":"Mail headers",
"mailLDAPFilter":"Mail filter",
"mailOnPasswordChange":"Send a mail when password is changed",
"mailOther":"Other",
"mailReplyTo":"Reply address",
"mailSessionKey":"Session key containing mail address",
"mailSubject":"Success mail subject",
"mailTimeout":"Validity time of a password reset request",
"mailUrl":"Reset page URL",
"maintenance":"Maintenance mode",
"malformedValue":"Malformed value",
"managerDn":"Account",
"managerPassword":"Password",
"mandatory":"Mandatory",
"markAsDone":"Mark as done",
"memberOfSSOGroups":"Member of SSO groups",
"menu":"Menu",
"message":"Message",
"messages":"Messages",
"menuCategory":"Menu category",
"modulesTitle":"Used modules",
"multiIp":"Multi IP",
"multipleSessions":"Multiple sessions",
"multiValuesSeparator":"Separator",
"name":"Name",
"needConfirmation":"A new configuration is available. To force saving this one, click on the check box near the 'save' button",
"networkProblem":"Network problem",
"newApp":"New application",
"newChain":"New chain",
"newCat":"New category",
"newCfgAvailable":"A new configuration is available",
"newCmbMod":"New module",
"newCmbOver":"New parameter",
"newEntry":"New entry",
"newGrantRule":"New grant rule",
"newHost":"New host",
"newPost":"New form replay",
"newPostVar":"New variable",
"newRSAKey":"New keys",
"newRule":"New rule",
"newValue":"New value",
"next":"Next",
"nginxCustomHandlers":"Custom Nginx handlers",
"noAjaxHook":"Keep redirections for Ajax",
"noDatas":"No datas to display",
"notABoolean":"Not a boolean",
"notAnInteger":"Not an integer",
"notAValidPerlExpression":"Not a valid Perl expression",
"notification":"Activation",
"notifications":"Notifications",
"notificationServer":"Notification server",
"notificationCreated":"Notification has been created",
"notificationDeleted":"Notification deleted",
"notificationDone":"notification done",
"notificationsDone":"notifications done",
"notificationNotCreated":"The notification was not created",
"notificationNotDeleted":"The notification was not marked as done",
"notificationNotFound":"The notification was not found",
"notificationNotPurged":"The notification was not definitely removed",
"notificationPurged":"Notification has been definitely removed",
"notificationStorage":"Storage module",
"notificationStorageOptions":"Storage module parameters",
"notificationWildcard":"Wildcard for all users",
"notificationXSLTfile":"Custom XSLT file",
"notifyDeleted":"Display deleted sessions",
"notifyOther":"Display other sessions",
"nullAuthnLevel":"Authentication level",
"nullParams":"Null parameters",
"number":"Number",
"off":"Off",
"oldValue":"Old value",
"on":"On",
"oidcAuthnLevel":"Authentication level",
"oidcConsents":"OpenID Connect Consents",
"oidcOP":"OpenID Connect Provider",
"oidcOPMetaDataExportedVars":"Exported attributes",
"oidcOPMetaDataJSON":"Metadata",
"oidcOPMetaDataJWKS":"JWKS data",
"oidcOPMetaDataNode":"OpenID Connect Providers",
"oidcOPMetaDataOptions":"Options",
"oidcRPMetaDataOptionsAuthentication":"Authentication",
"oidcOPMetaDataOptionsCheckJWTSignature":"Check JWT signature",
"oidcOPMetaDataOptionsClientID":"Client ID",
"oidcOPMetaDataOptionsClientSecret":"Client secret",
"oidcOPMetaDataOptionsConfiguration":"Configuration",
"oidcOPMetaDataOptionsConfigurationURI":"Configuration endpoint",
"oidcOPMetaDataOptionsDisplay":"Display",
"oidcOPMetaDataOptionsDisplayName":"Display name",
"oidcOPMetaDataOptionsDisplayParams":"Display",
"oidcOPMetaDataOptionsIcon":"Logo",
"oidcOPMetaDataOptionsJWKSTimeout":"JWKS data timeout",
"oidcRPMetaDataOptionsLogoutSessionRequired":"Session required",
"oidcRPMetaDataOptionsLogoutType":"Type",
"oidcRPMetaDataOptionsLogoutUrl":"URL",
"oidcOPMetaDataOptionsProtocol":"Protocol",
"oidcRPMetaDataOptionsRule":"Access rule",
"oidcOPMetaDataOptionsScope":"Scope",
"oidcOPMetaDataOptionsStoreIDToken":"Store ID Token",
"oidcOPMetaDataOptionsTokenEndpointAuthMethod":"Token endpoint authentication method",
"oidcOPName":"OpenID Connect Provider Name",
"oidcParams":"OpenID Connect parameters",
"oidcRP":"OpenID Connect Relying Party",
"oidcRPCallbackGetParam":"Callback GET parameter",
"oidcRPMetaDataExportedVars":"Exported attributes",
"oidcRPMetaDataNode":"OpenID Connect Relying Parties",
"oidcRPMetaDataOptions":"Options",
"oidcRPMetaDataOptionsAccessTokenExpiration":"Access token expiration",
"oidcRPMetaDataOptionsBypassConsent":"Bypass consent",
"oidcRPMetaDataOptionsClientID":"Client ID",
"oidcRPMetaDataOptionsClientSecret":"Client secret",
"oidcRPMetaDataOptionsDisplay":"Display",
"oidcRPMetaDataOptionsDisplayName":"Display name",
"oidcRPMetaDataOptionsIcon":"Logo",
"oidcRPMetaDataOptionsIDTokenExpiration":"ID Token expiration",
"oidcRPMetaDataOptionsIDTokenSignAlg":"ID Token signature algorithm",
"oidcRPMetaDataOptionsUserIDAttr":"User attribute",
"oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"State session timeout",
"oidcServiceMetaData":"OpenID Connect Service",
"oidcServiceMetaDataAuthorizeURI":"Authorization",
"oidcServiceMetaDataBackChannelURI":"Back-Channel URI",
"oidcServiceMetaDataEndPoints":"End points",
"oidcServiceMetaDataFrontChannelURI":"Front-Channel URI",
"oidcServiceMetaDataJWKSURI":"JWKS",
"oidcServiceMetaDataKeys":"Keys",
"oidcServiceMetaDataRegistrationURI":"Registration",
"oidcServiceMetaDataSecurity":"Security",
"oidcServiceMetaDataEndSessionURI":"End of session",
"oidcServiceMetaDataAuthnContext":"Authentication context",
"oidcServiceMetaDataSessions":"Sessions",
"oidcServicePrivateKeySig":"Signing private key",
"oidcServicePublicKeySig":"Signing public key",
"oidcServiceKeyIdSig":"Signing key ID",
"oidcStorage":"Sessions module name",
"oidcStorageOptions":"Sessions module options",
"oidcOPMetaDataNodes":"OpenID Connect Providers",
"oidcRPMetaDataNodes":"OpenID Connect Relying Parties",
"oidcOPMetaDataOptionsPrompt":"Prompt",
"oidcOPMetaDataOptionsMaxAge":"Max age",
"oidcOPMetaDataOptionsUiLocales":"Locales UI",
"oidcOPMetaDataOptionsAcrValues":"ACR values",
"oidcOPMetaDataOptionsIDTokenMaxAge":"ID Token max age",
"oidcOPMetaDataOptionsUseNonce":"Use nonce",
"oidcRPMetaDataOptionsRedirectUris":"Allowed redirection addresses for login",
"oidcRPMetaDataOptionsPostLogoutRedirectUris":"Allowed redirection addresses for logout",
"oidcRPMetaDataOptionsExtraClaims":"Extra claims",
"oidcServiceMetaDataIssuer":"Issuer identifier",
"oidcServiceMetaDataTokenURI":"Token",
"oidcServiceMetaDataUserInfoURI":"User Info",
"oidcServiceMetaDataCheckSessionURI":"Check Session",
"oidcServiceAllowDynamicRegistration":"Dynamic Registration",
"oidcServiceAllowAuthorizationCodeFlow":"Authorization Code Flow",
"oidcServiceAllowImplicitFlow":"Implicit Flow",
"oidcServiceAllowHybridFlow":"Hybrid Flow",
"ok":"OK",
"oldNotifFormat":"Use old XML format",
"openIdAttr":"OpenID login",
"openIdAuthnLevel":"Authentication level",
"openIdExportedVars":"Exported variables",
"openIdIDPList":"Authorized domains",
"openIdIssuerSecret":"Secret token",
"openidParams":"OpenID parameters",
"openIdSecret":"Secret token",
"openIdSreg":"SREG mapping",
"openIdSreg_fullname":"Full name",
"openIdSreg_nickname":"Nick name",
"openIdSreg_language":"Language",
"openIdSreg_postcode":"Postal code",
"openIdSreg_timezone":"Timezone",
"openIdSreg_country":"Country",
"openIdSreg_gender":"Gender",
"openIdSreg_email":"Email",
"openIdSreg_dob":"Date of birth",
"openIdSPList":"Authorized domains",
"OpenIDConnect":"OpenID Connect",
"OptionalTitle":"Optional title",
"overPrm":"Overloaded parameters",
"pamAuthnLevel":"Authentication level",
"pamParams":"PAM parameters",
"pamService":"PAM service",
"password":"Password",
"passwordDB":"Password module",
"passwordManagement":"Password management",
"passwordResetAllowedRetries":"Max reset password retries",
"persistent":"Persistent",
"persistentSessions":"Persistent sessions",
"persistentStorage":"Apache::Session module",
"persistentStorageOptions":"Apache::Session module parameters",
"plugins":"Plugins",
"port":"Port",
"portal":"URL",
"portalAntiFrame":"Anti iFrame protection",
"portalButtons":"Buttons on login page",
"portalCaptcha":"Captcha",
"portalCheckLogins":"Check last logins",
"portalCustomization":"Customization",
"portalDisplayAppslist":"Applications list",
"portalDisplayChangePassword":"Password change",
"portalDisplayLoginHistory":"Login History",
"portalDisplayLogout":"Logout",
"portalDisplayOidcConsents":"OIDC Consents",
"portalDisplayRegister":"Register new account",
"portalDisplayResetPassword":"Reset password",
"portalErrorOnExpiredSession":"Show error on expired session",
"portalErrorOnMailNotFound":"Show error on mail not found",
"portalForceAuthn":"Force authentication",
"portalForceAuthnInterval":"Force authentication interval",
"portalMenu":"Menu",
"portalModules":"Modules activation",
"portalOpenLinkInNewWindow":"New window",
"portalOther":"Other",
"portalParams":"Portal",
"portalPingInterval":"Ping Interval",
"portalRedirection":"Portal redirections",
"portalRequireOldPassword":"Require old password",
"portalServers":"Portal servers",
"portalSkin":"Default Skin",
"portalSkinBackground":"Skin background",
"portalSkinRules":"Skin display rules",
"portalMainLogo":"Main Logo",
"portalStatus":"Publish portal status",
"portalUserAttr":"User attribute",
"post":"Form replay",
"postedVars":"Variables to post",
"postUrl":"Form URL",
"postTargetUrl":"Form target URL (optional)",
"previous":"Previous",
"privateKey":"Private key",
"proxyAuthnLevel":"Authentication level",
"proxyAuthService":"Internal portal URL",
"proxySessionService":"Session service URL",
"proxyParams":"Proxy parameters",
"proxyUseSoap":"Use SOAP instead of REST",
"publicKey":"Public key",
"purgeNotification":"Delete notification definitely",
"radiusAuthnLevel":"Authentication level",
"radiusParams":"Radius parameters",
"radiusSecret":"Shared secret",
"radiusServer":"Server hostname",
"randomPasswordRegexp":"Regexp for password generation",
"readOnlyMode":"Read-Only mode",
"redirectFormMethod":"Method for redirect form",
"redirection":"Handler redirections",
"reference":"Reference",
"regexp":"Regular expression",
"regexps":"Regular expressions",
"register":"Register new account",
"registerConfirmSubject":"Subject for confirmation mail",
"registerDB":"Register module",
"registerDoneSubject":"Subject for done mail",
"registerTimeout":"Validity time of a register request",
"registerUrl":"Register page URL",
"reloadParams":"Configuration reload",
"reloadTimeout":"Reload timeout",
"reloadUrls":"Reload URLs",
"remoteCookieName":"Cookie name",
"remoteGlobalStorage":"Sessions module",
"remoteGlobalStorageOptions":"Sessions module options",
"remoteParams":"Remote parameters",
"remotePortal":"Portal URL",
"replaceByFile":"Replace by file",
"requireToken":"Require token for forms",
"restAuthnLevel":"Authentication level",
"restAuthUrl":"Authentication URL",
"restConfigServer":"REST configuration server",
"restore":"Restore",
"restoreConf":"Restore configuration",
"rest2f":"REST second factor",
"rest2fActivation":"Activation",
"rest2fAuthnLevel":"Authentication level",
"rest2fInitArgs":"Init Arguments",
"rest2fInitUrl":"Init URL",
"rest2fLogo":"Logo",
"rest2fVerifyArgs":"Verify Arguments",
"rest2fVerifyUrl":"Verify URL",
"restParams":"REST parameters",
"restPwdConfirmUrl":"Password confirmation URL",
"restPwdModifyUrl":"Password change URL",
"restSessionServer":"REST session server",
"restUserDBUrl":"User data URL",
"returnUrl":"Return URL",
"rp":"Relying Party",
"rule":"Rule",
"rules":"Rules",
"Same":"Same",
"save":"Save",
"saveReport":"Save report",
"savingConfirmation":"Saving confirmation",
"scope":"Scope",
"search":"Search ...",
"secondFactors":"Second factors",
"securedCookie":"Secured Cookie (SSL)",
"security":"Security",
"serverError":"Server error",
"session":"session",
"sessions":"Sessions",
"session_s":"session(s)",
"sessionDataToRemember":"Session data to store",
"sessionDeleted":"The session was deleted",
"sessionParams":"Sessions",
"sessionStartedAt":"Session started on",
"sessionStorage":"Sessions Storage",
"sessionTitle":"Session content",
"sfaTitle":"Second Factors Authentication",
"sfRequired":"Require 2FA",
"show":"Show",
"showHelp":"Show help",
"showLanguages":"Show languages choice",
"singleIP":"One IP only by user",
"singleSession":"One session only by user",
"singleUserByIP":"One user by IP address",
"singleSessionUserByIP":"One session by IP address",
"skipRenewConfirmation":"Skip re-auth confirmation",
"slaveAuthnLevel":"Authentication level",
"slaveExportedVars":"Exported variables",
"slaveMasterIP":"Master's IP address",
"slaveParams":"Slave parameters",
"slaveUserHeader":"Header for user login",
"slaveHeaderName":"Control header name",
"slaveHeaderContent":"Control header content",
"SMTP":"SMTP",
"SMTPAuthPass":"SMTP password",
"SMTPAuthUser":"SMTP user",
"SMTPPort":"SMTP port",
"SMTPServer":"SMTP server",
"SMTPTLS":"SSL/TLS protocol",
"SMTPTLSOpts":"SSL/TLS options",
"soapConfigServer":"SOAP configuration server",
"soapSessionServer":"SOAP session server",
"specialRule":"Special rule",
"SSLAuthnLevel":"Authentication level",
"sslByAjax":"Use Ajax request",
"sslHost":"Ajax SSL URL",
"sslParams":"SSL parameters",
"SSLVar":"Extracted certificate field",
"SSLVarIf":"Conditional extracted certificate field",
"ssoSessions":"SSO sessions",
"stateCheck":"State Check",
"stayConnected":"Persistent connections",
"successfullySaved":"Successfully saved",
"storePassword":"Store user password in session datas",
"successLoginNumber":"Number of registered logins",
"sympaHandler":"Sympa",
"sympaMailKey":"Mail session key",
"sympaSecret":"Shared secret",
"syntaxError":"Syntax Error",
"syslog":"Syslog facility",
"timeout":"Sessions timeout",
"timeoutActivity":"Sessions activity timeout",
"timeoutActivityInterval":"Sessions update interval",
"tokenUseGlobalStorage":"Use global storage",
"totp":"TOTP",
"totp2fActivation":"Activation",
"totp2fAuthnLevel":"TOTP authentication level",
"totp2fDigits":"Number of digits",
"totp2fDisplayExistingSecret":"Display existing secret",
"totp2fInterval":"Interval",
"totp2fIssuer":"TOTP Issuer name",
"totp2fRange":"Range of attempts",
"totp2fSelfRegistration":"Self registration",
"totp2fUserCanChangeKey":"Change existing secret",
"totp2fUserCanRemoveKey":"Authorize user to remove TOTP",
"trustedDomains":"Trusted domains",
"trustedProxies":"Trusted proxies IP",
"twitterAppName":"Application name",
"twitterAuthnLevel":"Authentication level",
"twitterKey":"API key",
"twitterParams":"Twitter parameters",
"twitterSecret":"API secret",
"twitterUserField":"Field containing user identifier",
"type":"Type",
"u2f":"U2F",
"u2fActivation":"Activation",
"u2fAuthnLevel":"U2F authentication level",
"u2fUserCanRemoveKey":"Authorize user to remove U2F key",
"u2fSelfRegistration":"Self registration",
"uid":"Identifier",
"unknownAttrOrMacro":"Unknown attribute or macro",
"unknownError":"Unknown error",
"unknownKey":"Unknown key",
"unsecuredCookie":"Unsecured cookie",
"up":"Move up",
"uploadDenied":"Upload denied",
"upgradeSession":"Session upgrade",
"uri":"URI",
"url":"URL",
"use":"Use",
"user":"user",
"users":"Users",
"userDB":"Users module",
"userdbOnly":"User DB only",
"userControl":"Username control",
"userPivot":"Login field name in user table",
"useRedirectOnError":"Redirect on error",
"useRedirectOnForbidden":"Redirect on forbidden",
"useSafeJail":"Use Safe jail",
"utotp2f":"TOTP-or-U2F",
"utotp2fActivation":"Activation",
"utotp2fAuthnLevel":"Authentication level",
"value":"Value",
"values":"Values",
"variables":"Variables",
"verifyU2FKey":"Verify U2F key",
"verifyTOTPKey":"Verify TOTP key",
"version":"Version",
"vhostAliases":"Aliases",
"vhostAuthnLevel":"Required authentication level",
"vhostHttps":"HTTPS",
"vhostMaintenance":"Maintenance mode",
"vhostOptions":"Options",
"vhostPort":"Port",
"vhostType":"Type",
"view":"View",
"viewer":"Viewer",
"virtualHost":"Virtual Host",
"virtualHostName":"Virtual host hostname",
"virtualHosts":"Virtual Hosts",
"warning":"Warning",
"warnings":"Warnings",
"waitingForDatas":"Waiting for datas",
"webIDAuthnLevel":"Authentication level",
"webIDExportedVars":"Exported variables",
"webidParams":"WebID parameters",
"webIDWhitelist":"WebID whitelist",
"waitOrF5":"Wait for redirection or press F5",
"whatToTrace":"REMOTE_USER",
"whiteList":"White list",
"wsdlServer":"WSDL server",
"XMLcontent":"XML content",
"yubikey2f":"Yubikey",
"yubikey2fActivation":"Activation",
"yubikey2fAuthnLevel":"Authentication level",
"yubikey2fClientID":"API client ID",
"yubikey2fNonce":"Nonce",
"yubikey2fPublicIDSize":"OTP public ID part size",
"yubikey2fSecretKey":"API secret key",
"yubikey2fSelfRegistration":"Self registration",
"yubikey2fUrl":"Service URL",
"yubikey2fUserCanRemoveKey":"Authorize user to remove Yubikey",
"zeroConfExplanations":"Server has no configuration. Use template to save the first.",
"saml":"SAML",
"samlAttribute":"SAML attribute",
"samlDiscoveryProtocol":"Discovery Protocol",
"samlDiscoveryProtocolActivation":"Activation",
"samlDiscoveryProtocolIsPassive":"Is Passive",
"samlDiscoveryProtocolPolicy":"Policy",
"samlDiscoveryProtocolURL":"EndPoint URL",
"samlNameIDFormatMap":"NameID formats",
"samlNameIDFormatMapEmail":"Email",
"samlNameIDFormatMapX509":"X509",
"samlNameIDFormatMapWindows":"Windows",
"samlNameIDFormatMapKerberos":"Kerberos",
"samlIDP":"SAML identity provider",
"samlIDPMetaDataNodes":"SAML Identity Providers",
"samlIDPMetaDataXML":"Metadata",
"samlIDPMetaDataExportedAttributes":"Exported attributes",
"samlIDPMetaDataOptions":"Options",
"samlIDPMetaDataOptionsNameIDFormat":"NameID format",
"samlIDPMetaDataOptionsForceAuthn":"Force authentication",
"samlIDPMetaDataOptionsIsPassive":"Passive authentication",
"samlIDPMetaDataOptionsAllowProxiedAuthn":"Allow proxied authentication",
"samlIDPMetaDataOptionsAllowLoginFromIDP":"Allow login from IDP",
"samlIDPMetaDataOptionsAdaptSessionUtime":"Adapt session lifetime",
"samlIDPMetaDataOptionsSignSSOMessage":"Sign SSO message",
"samlIDPMetaDataOptionsCheckSSOMessageSignature":"Check SSO message signature",
"samlIDPMetaDataOptionsSignSLOMessage":"Sign SLO message",
"samlIDPMetaDataOptionsCheckSLOMessageSignature":"Check SLO message signature",
"samlIDPMetaDataOptionsSSOBinding":"SSO binding",
"samlIDPMetaDataOptionsSLOBinding":"SLO binding",
"samlIDPMetaDataOptionsResolutionRule":"Resolution rule",
"samlIDPMetaDataOptionsRequestedAuthnContext":"Requested authentication context",
"samlIDPMetaDataOptionsForceUTF8":"Force UTF-8",
"samlIDPMetaDataOptionsEncryptionMode":"Encryption mode",
"samlIDPMetaDataOptionsCheckTime":"Check time conditions",
"samlIDPMetaDataOptionsCheckAudience":"Check audience conditions",
"samlIDPMetaDataOptionsAuthnRequest":"Authentication request",
"samlIDPMetaDataOptionsSession":"Session",
"samlIDPMetaDataOptionsSignature":"Signature",
"samlIDPMetaDataOptionsBinding":"Binding",
"samlIDPMetaDataOptionsDisplay":"Display",
"samlIDPMetaDataOptionsDisplayName":"Display name",
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Security",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Store SAML Token",
"samlIDPMetaDataOptionsRelayStateURL":"Allow URL as RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",
"samlSPMetaDataNodes":"SAML Service Providers",
"samlSPMetaDataXML":"Metadata",
"samlSPMetaDataExportedAttributes":"Exported attributes",
"samlSPMetaDataOptions":"Options",
"samlSPMetaDataOptionsNameIDFormat":"Default NameID format",
"samlSPMetaDataOptionsOneTimeUse":"One time use",
"samlSPMetaDataOptionsSignSSOMessage":"Sign SSO message",
"samlSPMetaDataOptionsCheckSSOMessageSignature":"Check SSO message signature",
"samlSPMetaDataOptionsSignSLOMessage":"Sign SLO message",
"samlSPMetaDataOptionsCheckSLOMessageSignature":"Check SLO message signature",
"samlSPMetaDataOptionsEncryptionMode":"Encryption mode",
"samlSPMetaDataOptionsAuthnResponse":"Authentication response",
"samlSPMetaDataOptionsSignature":"Signature",
"samlSPMetaDataOptionsSecurity":"Security",
"samlSPMetaDataOptionsEnableIDPInitiatedURL":"Enable use of IDP initiated URL",
"samlSPMetaDataOptionsNameIDSessionKey":"Force NameID session key",
"samlSPMetaDataOptionsSessionNotOnOrAfterTimeout":"sessionNotOnOrAfter duration",
"samlSPMetaDataOptionsNotOnOrAfterTimeout":"notOnOrAfter duration",
"samlSPMetaDataOptionsForceUTF8":"Force UTF-8",
"samlSPMetaDataOptionsRule":"Access rule",
"samlIDPName":"SAML IDP Name",
"samlServiceMetaData":"SAML2 Service",
"samlEntityID":"Entity Identifier",
"samlOrganization":"Organization",
"samlOrganizationDisplayName":"Display Name",
"samlOrganizationName":"Name",
"samlOrganizationURL":"URL",
"samlSP":"SAML Service Provider",
"samlSPName":"SAML Service Provider Name",
"samlSPSSODescriptor":"Service Provider",
"samlSPSSODescriptorAuthnRequestsSigned":"Signed Authentication Request",
"samlSPSSODescriptorWantAssertionsSigned":"Want Assertions Signed",
"samlSPSSODescriptorSingleLogoutService":"Single Logout",
"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect":"HTTP Redirect",
"samlSPSSODescriptorSingleLogoutServiceHTTPPost":"HTTP POST",
"samlSPSSODescriptorSingleLogoutServiceSOAP":"SOAP",
"samlSPSSODescriptorAssertionConsumerService":"Assertion Consumer",
"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact":"HTTP Artifact",
"samlSPSSODescriptorAssertionConsumerServiceHTTPPost":"HTTP POST",
"samlSPSSODescriptorArtifactResolutionService":"Artifact Resolution",
"samlSPSSODescriptorArtifactResolutionServiceArtifact":"Artifact Service",
"samlIDPSSODescriptor":"Identity Provider",
"samlIDPSSODescriptorWantAuthnRequestsSigned":"Want Authentication Request Signed",
"samlIDPSSODescriptorSingleSignOnService":"Single Sign On",
"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect":"HTTP Redirect",
"samlIDPSSODescriptorSingleSignOnServiceHTTPPost":"HTTP POST",
"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact":"HTTP Artifact",
"samlIDPSSODescriptorSingleLogoutService":"Single Logout",
"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect":"HTTP Redirect",
"samlIDPSSODescriptorSingleLogoutServiceHTTPPost":"HTTP POST",
"samlIDPSSODescriptorSingleLogoutServiceSOAP":"SOAP",
"samlIDPSSODescriptorArtifactResolutionService":"Artifact Resolution",
"samlIDPSSODescriptorArtifactResolutionServiceArtifact":"Artifact Service",
"samlAttributeAuthorityDescriptor":"Attribute Authority",
"samlAttributeAuthorityDescriptorAttributeService":"Attribute Service",
"samlAttributeAuthorityDescriptorAttributeServiceSOAP":"SOAP",
"samlServiceSecurity":"Security parameters",
"samlServiceSecuritySig":"Signature",
"samlServiceSecurityEnc":"Encryption",
"samlServicePrivateKeySig":"Private key",
"samlServicePrivateKeySigPwd":"Private key password",
"samlServicePublicKeySig":"Public key",
"samlServicePrivateKeyEnc":"Private key",
"samlServicePrivateKeyEncPwd":"Private key password",
"samlServicePublicKeyEnc":"Public key",
"samlServiceSignatureMethod":"Signature method",
"samlServiceUseCertificateInResponse":"Use certificate in responses",
"samlAdvanced":"Advanced",
"samlIdPResolveCookie":"IDP resolution cookie name",
"samlPartnerName":"Name of SAML partner",
"samlMetadataForceUTF8":"UTF8 metadata conversion",
"samlStorage":"SAML sessions module name",
"samlStorageOptions":"SAML sessions module options",
"samlAuthnContextMap":"Authentication contexts",
"samlAuthnContextMapPassword":"Password",
"samlAuthnContextMapPasswordProtectedTransport":"Password protected transport",
"samlAuthnContextMapTLSClient":"TLS client",
"samlAuthnContextMapKerberos":"Kerberos",
"samlCommonDomainCookie":"Common Domain Cookie",
"samlCommonDomainCookieActivation":"Activation",
"samlCommonDomainCookieDomain":"Common domain",
"samlCommonDomainCookieReader":"Reader URL",
"samlCommonDomainCookieWriter":"Writer URL",
"samlRelayStateTimeout":"RelayState session timeout",
"samlUseQueryStringSpecific":"Use specific query_string method",
"samlOverrideIDPEntityID": "Override Entity ID when acting as IDP"
}

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Affichage",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Sécurité",
"samlIDPMetaDataOptionsSortNumber":"Ordre",
"samlIDPMetaDataOptionsStoreSAMLToken":"Conserver le jeton SAML",
"samlIDPMetaDataOptionsRelayStateURL":"Pemettre une URL dans le RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribut contenant l'identité de l'utilisateur",

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Sicurezza",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Store SAML Token",
"samlIDPMetaDataOptionsRelayStateURL":"Consenti l'URL come RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attributo che contiene l'identificatore dell'utente",

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Bảo mật",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Lưu trữ token SAML",
"samlIDPMetaDataOptionsRelayStateURL":"Cho phép URL như RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",

View File

@ -894,6 +894,7 @@
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Security",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"Store SAML Token",
"samlIDPMetaDataOptionsRelayStateURL":"Allow URL as RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",

View File

@ -945,6 +945,7 @@ sub extractFormInfo {
$idpName = $self->{idpList}->{$_}->{displayName}
if $self->{idpList}->{$_}->{displayName};
my $icon = $self->{idpList}->{$_}->{icon};
my $order = $self->{idpList}->{$_}->{order};
my $img_src = '';
if ($icon) {
@ -955,16 +956,17 @@ sub extractFormInfo {
}
$self->logger->debug( "IDP "
. $self->{idpList}->{$_}->{name}
. " -> DisplayName : $idpName with Icon : $img_src" );
. " -> DisplayName : $idpName with Icon : $img_src at order : $order" );
push @list,
{
val => $_,
name => $idpName,
icon => $img_src,
val => $_,
name => $idpName,
icon => $img_src,
order => $order,
};
}
@list =
sort { $a->{name} cmp $b->{name} or $a->{val} cmp $b->{val} } @list;
sort { $a->{order} <=> $b->{order} or $a->{name} cmp $b->{name} or $a->{val} cmp $b->{val} } @list;
$req->data->{list} = \@list;
$req->data->{confirmRemember} = 1;

View File

@ -295,6 +295,9 @@ sub loadIDPs {
$self->idpList->{$entityID}->{icon} =
$self->conf->{samlIDPMetaDataOptions}->{$_}
->{samlIDPMetaDataOptionsIcon};
$self->idpList->{$entityID}->{order} =
$self->conf->{samlIDPMetaDataOptions}->{$_}
->{samlIDPMetaDataOptionsSortNumber};
# Set rule
my $cond = $self->conf->{samlIDPMetaDataOptions}->{$_}