diff --git a/lemonldap-ng-manager/site/htdocs/static/js/conftree.js b/lemonldap-ng-manager/site/htdocs/static/js/conftree.js deleted file mode 100644 index 79e57ef40..000000000 --- a/lemonldap-ng-manager/site/htdocs/static/js/conftree.js +++ /dev/null @@ -1,1154 +0,0 @@ -function templates(tpl,key) { - var ind; - var scalarTemplate = function(r) { - return { - "id": tpl+"s/"+(ind++), - "title": r, - "get": tpl+"s/"+key+"/"+r - }; - }; - switch(tpl){ - case 'casAppMetaDataNode': - return [ - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"casAppMetaDataOptionsService", - "id" : tpl+"s/"+key+"/"+"casAppMetaDataOptionsService", - "title" : "casAppMetaDataOptionsService" - }, - { - "get" : tpl+"s/"+key+"/"+"casAppMetaDataOptionsRule", - "id" : tpl+"s/"+key+"/"+"casAppMetaDataOptionsRule", - "title" : "casAppMetaDataOptionsRule" - } - ], - "id" : "casAppMetaDataOptions", - "title" : "casAppMetaDataOptions", - "type" : "simpleInputContainer" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"casAppMetaDataExportedVars", - "default" : [ - { - "data" : "cn", - "id" : tpl+"s/"+key+"/"+"casAppMetaDataExportedVars/cn", - "title" : "cn", - "type" : "keyText" - }, - { - "data" : "mail", - "id" : tpl+"s/"+key+"/"+"casAppMetaDataExportedVars/mail", - "title" : "mail", - "type" : "keyText" - }, - { - "data" : "uid", - "id" : tpl+"s/"+key+"/"+"casAppMetaDataExportedVars/uid", - "title" : "uid", - "type" : "keyText" - } - ], - "id" : tpl+"s/"+key+"/"+"casAppMetaDataExportedVars", - "title" : "casAppMetaDataExportedVars", - "type" : "keyTextContainer" - } -] -; - case 'casSrvMetaDataNode': - return [ - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsUrl", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsUrl", - "title" : "casSrvMetaDataOptionsUrl" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsRenew", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsRenew", - "title" : "casSrvMetaDataOptionsRenew", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsGateway", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsGateway", - "title" : "casSrvMetaDataOptionsGateway", - "type" : "bool" - }, - { - "get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsDisplayName", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsDisplayName", - "title" : "casSrvMetaDataOptionsDisplayName" - }, - { - "get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsIcon", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsIcon", - "title" : "casSrvMetaDataOptionsIcon" - } - ], - "id" : "casSrvMetaDataOptions", - "title" : "casSrvMetaDataOptions", - "type" : "simpleInputContainer" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"casSrvMetaDataExportedVars", - "default" : [ - { - "data" : "cn", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataExportedVars/cn", - "title" : "cn", - "type" : "keyText" - }, - { - "data" : "mail", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataExportedVars/mail", - "title" : "mail", - "type" : "keyText" - }, - { - "data" : "uid", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataExportedVars/uid", - "title" : "uid", - "type" : "keyText" - } - ], - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataExportedVars", - "title" : "casSrvMetaDataExportedVars", - "type" : "keyTextContainer" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsProxiedServices", - "id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsProxiedServices", - "title" : "casSrvMetaDataOptionsProxiedServices", - "type" : "keyTextContainer" - } -] -; - case 'oidcOPMetaDataNode': - return [ - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataJSON", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataJSON", - "title" : "oidcOPMetaDataJSON", - "type" : "file" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataJWKS", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataJWKS", - "title" : "oidcOPMetaDataJWKS", - "type" : "file" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars", - "default" : [ - { - "data" : "name", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars/cn", - "title" : "cn", - "type" : "keyText" - }, - { - "data" : "email", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars/mail", - "title" : "mail", - "type" : "keyText" - }, - { - "data" : "family_name", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars/sn", - "title" : "sn", - "type" : "keyText" - }, - { - "data" : "sub", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars/uid", - "title" : "uid", - "type" : "keyText" - } - ], - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataExportedVars", - "title" : "oidcOPMetaDataExportedVars", - "type" : "keyTextContainer" - }, - { - "_nodes" : [ - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsConfigurationURI", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsConfigurationURI", - "title" : "oidcOPMetaDataOptionsConfigurationURI" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsJWKSTimeout", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsJWKSTimeout", - "title" : "oidcOPMetaDataOptionsJWKSTimeout", - "type" : "int" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsClientID", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsClientID", - "title" : "oidcOPMetaDataOptionsClientID" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsClientSecret", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsClientSecret", - "title" : "oidcOPMetaDataOptionsClientSecret", - "type" : "password" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsStoreIDToken", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsStoreIDToken", - "title" : "oidcOPMetaDataOptionsStoreIDToken", - "type" : "bool" - } - ], - "id" : "oidcOPMetaDataOptionsConfiguration", - "title" : "oidcOPMetaDataOptionsConfiguration", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : "openid profile", - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsScope", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsScope", - "title" : "oidcOPMetaDataOptionsScope" - }, - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsDisplay", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsDisplay", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "page", - "v" : "page" - }, - { - "k" : "popup", - "v" : "popup" - }, - { - "k" : "touch", - "v" : "touch" - }, - { - "k" : "wap", - "v" : "wap" - } - ], - "title" : "oidcOPMetaDataOptionsDisplay", - "type" : "select" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsPrompt", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsPrompt", - "title" : "oidcOPMetaDataOptionsPrompt" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsMaxAge", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsMaxAge", - "title" : "oidcOPMetaDataOptionsMaxAge", - "type" : "int" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsUiLocales", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsUiLocales", - "title" : "oidcOPMetaDataOptionsUiLocales" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsAcrValues", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsAcrValues", - "title" : "oidcOPMetaDataOptionsAcrValues" - }, - { - "default" : "client_secret_post", - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsTokenEndpointAuthMethod", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsTokenEndpointAuthMethod", - "select" : [ - { - "k" : "client_secret_post", - "v" : "client_secret_post" - }, - { - "k" : "client_secret_basic", - "v" : "client_secret_basic" - } - ], - "title" : "oidcOPMetaDataOptionsTokenEndpointAuthMethod", - "type" : "select" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsCheckJWTSignature", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsCheckJWTSignature", - "title" : "oidcOPMetaDataOptionsCheckJWTSignature", - "type" : "bool" - }, - { - "default" : 30, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsIDTokenMaxAge", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsIDTokenMaxAge", - "title" : "oidcOPMetaDataOptionsIDTokenMaxAge", - "type" : "int" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsUseNonce", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsUseNonce", - "title" : "oidcOPMetaDataOptionsUseNonce", - "type" : "bool" - } - ], - "id" : "oidcOPMetaDataOptionsProtocol", - "title" : "oidcOPMetaDataOptionsProtocol", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsDisplayName", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsDisplayName", - "title" : "oidcOPMetaDataOptionsDisplayName" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsIcon", - "id" : tpl+"s/"+key+"/"+"oidcOPMetaDataOptionsIcon", - "title" : "oidcOPMetaDataOptionsIcon" - } - ], - "id" : "oidcOPMetaDataOptionsDisplayParams", - "title" : "oidcOPMetaDataOptionsDisplayParams", - "type" : "simpleInputContainer" - } - ], - "id" : "oidcOPMetaDataOptions", - "title" : "oidcOPMetaDataOptions" - } -] -; - case 'oidcRPMetaDataNode': - return [ - { - "cnodes" : tpl+"s/"+key+"/"+"oidcRPMetaDataExportedVars", - "default" : [ - { - "data" : "mail", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataExportedVars/email", - "title" : "email", - "type" : "keyText" - }, - { - "data" : "sn", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataExportedVars/family_name", - "title" : "family_name", - "type" : "keyText" - }, - { - "data" : "cn", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataExportedVars/name", - "title" : "name", - "type" : "keyText" - } - ], - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataExportedVars", - "title" : "oidcRPMetaDataExportedVars", - "type" : "keyTextContainer" - }, - { - "_nodes" : [ - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsClientID", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsClientID", - "title" : "oidcRPMetaDataOptionsClientID" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsClientSecret", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsClientSecret", - "title" : "oidcRPMetaDataOptionsClientSecret", - "type" : "password" - } - ], - "id" : "oidcRPMetaDataOptionsAuthentication", - "title" : "oidcRPMetaDataOptionsAuthentication", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsDisplayName", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsDisplayName", - "title" : "oidcRPMetaDataOptionsDisplayName" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIcon", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIcon", - "title" : "oidcRPMetaDataOptionsIcon" - } - ], - "id" : "oidcRPMetaDataOptionsDisplay", - "title" : "oidcRPMetaDataOptionsDisplay", - "type" : "simpleInputContainer" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsUserIDAttr", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsUserIDAttr", - "title" : "oidcRPMetaDataOptionsUserIDAttr" - }, - { - "default" : "HS512", - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIDTokenSignAlg", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIDTokenSignAlg", - "select" : [ - { - "k" : "none", - "v" : "None" - }, - { - "k" : "HS256", - "v" : "HS256" - }, - { - "k" : "HS384", - "v" : "HS384" - }, - { - "k" : "HS512", - "v" : "HS512" - }, - { - "k" : "RS256", - "v" : "RS256" - }, - { - "k" : "RS384", - "v" : "RS384" - }, - { - "k" : "RS512", - "v" : "RS512" - } - ], - "title" : "oidcRPMetaDataOptionsIDTokenSignAlg", - "type" : "select" - }, - { - "default" : 3600, - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIDTokenExpiration", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsIDTokenExpiration", - "title" : "oidcRPMetaDataOptionsIDTokenExpiration", - "type" : "int" - }, - { - "default" : 3600, - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsAccessTokenExpiration", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsAccessTokenExpiration", - "title" : "oidcRPMetaDataOptionsAccessTokenExpiration", - "type" : "int" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRedirectUris", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRedirectUris", - "title" : "oidcRPMetaDataOptionsRedirectUris" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsBypassConsent", - "help" : "openidconnectclaims.html", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsBypassConsent", - "title" : "oidcRPMetaDataOptionsBypassConsent", - "type" : "bool" - }, - { - "_nodes" : [ - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsPostLogoutRedirectUris", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsPostLogoutRedirectUris", - "title" : "oidcRPMetaDataOptionsPostLogoutRedirectUris" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutUrl", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutUrl", - "title" : "oidcRPMetaDataOptionsLogoutUrl" - }, - { - "default" : "front", - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutType", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutType", - "select" : [ - { - "k" : "front", - "v" : "Front Channel" - }, - { - "k" : "back", - "v" : "Back Channel" - } - ], - "title" : "oidcRPMetaDataOptionsLogoutType", - "type" : "select" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutSessionRequired", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsLogoutSessionRequired", - "title" : "oidcRPMetaDataOptionsLogoutSessionRequired", - "type" : "bool" - } - ], - "id" : "logout", - "title" : "logout", - "type" : "simpleInputContainer" - }, - { - "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRule", - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRule", - "title" : "oidcRPMetaDataOptionsRule" - } - ], - "id" : "oidcRPMetaDataOptions", - "title" : "oidcRPMetaDataOptions" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsExtraClaims", - "default" : [], - "id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsExtraClaims", - "title" : "oidcRPMetaDataOptionsExtraClaims", - "type" : "keyTextContainer" - } -] -; - case 'samlIDPMetaDataNode': - return [ - { - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataXML", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataXML", - "title" : "samlIDPMetaDataXML", - "type" : "file" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"samlIDPMetaDataExportedAttributes", - "default" : [], - "help" : "authsaml.html#exported_attributes", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataExportedAttributes", - "title" : "samlIDPMetaDataExportedAttributes", - "type" : "samlAttributeContainer" - }, - { - "_nodes" : [ - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsResolutionRule", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsResolutionRule", - "title" : "samlIDPMetaDataOptionsResolutionRule", - "type" : "longtext" - }, - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsNameIDFormat", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsNameIDFormat", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "unspecified", - "v" : "Unspecified" - }, - { - "k" : "email", - "v" : "Email" - }, - { - "k" : "x509", - "v" : "X509 certificate" - }, - { - "k" : "windows", - "v" : "Windows" - }, - { - "k" : "kerberos", - "v" : "Kerberos" - }, - { - "k" : "entity", - "v" : "Entity" - }, - { - "k" : "persistent", - "v" : "Persistent" - }, - { - "k" : "transient", - "v" : "Transient" - }, - { - "k" : "encrypted", - "v" : "Encrypted" - } - ], - "title" : "samlIDPMetaDataOptionsNameIDFormat", - "type" : "select" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsForceAuthn", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsForceAuthn", - "title" : "samlIDPMetaDataOptionsForceAuthn", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsIsPassive", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsIsPassive", - "title" : "samlIDPMetaDataOptionsIsPassive", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAllowProxiedAuthn", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAllowProxiedAuthn", - "title" : "samlIDPMetaDataOptionsAllowProxiedAuthn", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAllowLoginFromIDP", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAllowLoginFromIDP", - "title" : "samlIDPMetaDataOptionsAllowLoginFromIDP", - "type" : "bool" - }, - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsRequestedAuthnContext", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsRequestedAuthnContext", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "kerberos", - "v" : "Kerberos" - }, - { - "k" : "password-protected-transport", - "v" : "Password protected transport" - }, - { - "k" : "password", - "v" : "Password" - }, - { - "k" : "tls-client", - "v" : "TLS client certificate" - } - ], - "title" : "samlIDPMetaDataOptionsRequestedAuthnContext", - "type" : "select" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsRelayStateURL", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsRelayStateURL", - "title" : "samlIDPMetaDataOptionsRelayStateURL", - "type" : "bool" - } - ], - "help" : "authsaml.html#options", - "id" : "samlIDPMetaDataOptions", - "title" : "samlIDPMetaDataOptions", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAdaptSessionUtime", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsAdaptSessionUtime", - "title" : "samlIDPMetaDataOptionsAdaptSessionUtime", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsForceUTF8", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsForceUTF8", - "title" : "samlIDPMetaDataOptionsForceUTF8", - "type" : "bool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsStoreSAMLToken", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsStoreSAMLToken", - "title" : "samlIDPMetaDataOptionsStoreSAMLToken", - "type" : "bool" - } - ], - "id" : "samlIDPMetaDataOptionsSession", - "title" : "samlIDPMetaDataOptionsSession", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSignSSOMessage", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSignSSOMessage", - "title" : "samlIDPMetaDataOptionsSignSSOMessage", - "type" : "trool" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckSSOMessageSignature", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckSSOMessageSignature", - "title" : "samlIDPMetaDataOptionsCheckSSOMessageSignature", - "type" : "bool" - }, - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSignSLOMessage", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSignSLOMessage", - "title" : "samlIDPMetaDataOptionsSignSLOMessage", - "type" : "trool" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckSLOMessageSignature", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckSLOMessageSignature", - "title" : "samlIDPMetaDataOptionsCheckSLOMessageSignature", - "type" : "bool" - } - ], - "id" : "samlIDPMetaDataOptionsSignature", - "title" : "samlIDPMetaDataOptionsSignature", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSSOBinding", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSSOBinding", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "http-post", - "v" : "POST" - }, - { - "k" : "http-redirect", - "v" : "Redirect" - }, - { - "k" : "artifact-get", - "v" : "Artifact GET" - } - ], - "title" : "samlIDPMetaDataOptionsSSOBinding", - "type" : "select" - }, - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSLOBinding", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsSLOBinding", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "http-post", - "v" : "POST" - }, - { - "k" : "http-redirect", - "v" : "Redirect" - }, - { - "k" : "http-soap", - "v" : "SOAP" - } - ], - "title" : "samlIDPMetaDataOptionsSLOBinding", - "type" : "select" - } - ], - "id" : "samlIDPMetaDataOptionsBinding", - "title" : "samlIDPMetaDataOptionsBinding", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : "none", - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsEncryptionMode", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsEncryptionMode", - "select" : [ - { - "k" : "none", - "v" : "None" - }, - { - "k" : "nameid", - "v" : "Name ID" - }, - { - "k" : "assertion", - "v" : "Assertion" - } - ], - "title" : "samlIDPMetaDataOptionsEncryptionMode", - "type" : "select" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckTime", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckTime", - "title" : "samlIDPMetaDataOptionsCheckTime", - "type" : "bool" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckAudience", - "id" : tpl+"s/"+key+"/"+"samlIDPMetaDataOptionsCheckAudience", - "title" : "samlIDPMetaDataOptionsCheckAudience", - "type" : "bool" - } - ], - "id" : "samlIDPMetaDataOptionsSecurity", - "title" : "samlIDPMetaDataOptionsSecurity", - "type" : "simpleInputContainer" - } -] -; - case 'samlSPMetaDataNode': - return [ - { - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataXML", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataXML", - "title" : "samlSPMetaDataXML", - "type" : "file" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"samlSPMetaDataExportedAttributes", - "default" : [], - "help" : "idpsaml.html#exported_attributes", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataExportedAttributes", - "title" : "samlSPMetaDataExportedAttributes", - "type" : "samlAttributeContainer" - }, - { - "_nodes" : [ - { - "_nodes" : [ - { - "default" : "", - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNameIDFormat", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNameIDFormat", - "select" : [ - { - "k" : "", - "v" : "" - }, - { - "k" : "unspecified", - "v" : "Unspecified" - }, - { - "k" : "email", - "v" : "Email" - }, - { - "k" : "x509", - "v" : "X509 certificate" - }, - { - "k" : "windows", - "v" : "Windows" - }, - { - "k" : "kerberos", - "v" : "Kerberos" - }, - { - "k" : "entity", - "v" : "Entity" - }, - { - "k" : "persistent", - "v" : "Persistent" - }, - { - "k" : "transient", - "v" : "Transient" - }, - { - "k" : "encrypted", - "v" : "Encrypted" - } - ], - "title" : "samlSPMetaDataOptionsNameIDFormat", - "type" : "select" - }, - { - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNameIDSessionKey", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNameIDSessionKey", - "title" : "samlSPMetaDataOptionsNameIDSessionKey" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsOneTimeUse", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsOneTimeUse", - "title" : "samlSPMetaDataOptionsOneTimeUse", - "type" : "bool" - }, - { - "default" : 72000, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSessionNotOnOrAfterTimeout", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSessionNotOnOrAfterTimeout", - "title" : "samlSPMetaDataOptionsSessionNotOnOrAfterTimeout", - "type" : "int" - }, - { - "default" : 72000, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNotOnOrAfterTimeout", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsNotOnOrAfterTimeout", - "title" : "samlSPMetaDataOptionsNotOnOrAfterTimeout", - "type" : "int" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsForceUTF8", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsForceUTF8", - "title" : "samlSPMetaDataOptionsForceUTF8", - "type" : "bool" - } - ], - "id" : "samlSPMetaDataOptionsAuthnResponse", - "title" : "samlSPMetaDataOptionsAuthnResponse", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSignSSOMessage", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSignSSOMessage", - "title" : "samlSPMetaDataOptionsSignSSOMessage", - "type" : "trool" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsCheckSSOMessageSignature", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsCheckSSOMessageSignature", - "title" : "samlSPMetaDataOptionsCheckSSOMessageSignature", - "type" : "bool" - }, - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSignSLOMessage", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsSignSLOMessage", - "title" : "samlSPMetaDataOptionsSignSLOMessage", - "type" : "trool" - }, - { - "default" : 1, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsCheckSLOMessageSignature", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsCheckSLOMessageSignature", - "title" : "samlSPMetaDataOptionsCheckSLOMessageSignature", - "type" : "bool" - } - ], - "id" : "samlSPMetaDataOptionsSignature", - "title" : "samlSPMetaDataOptionsSignature", - "type" : "simpleInputContainer" - }, - { - "_nodes" : [ - { - "default" : "none", - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsEncryptionMode", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsEncryptionMode", - "select" : [ - { - "k" : "none", - "v" : "None" - }, - { - "k" : "nameid", - "v" : "Name ID" - }, - { - "k" : "assertion", - "v" : "Assertion" - } - ], - "title" : "samlSPMetaDataOptionsEncryptionMode", - "type" : "select" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsEnableIDPInitiatedURL", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsEnableIDPInitiatedURL", - "title" : "samlSPMetaDataOptionsEnableIDPInitiatedURL", - "type" : "bool" - }, - { - "get" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsRule", - "id" : tpl+"s/"+key+"/"+"samlSPMetaDataOptionsRule", - "title" : "samlSPMetaDataOptionsRule" - } - ], - "id" : "samlSPMetaDataOptionsSecurity", - "title" : "samlSPMetaDataOptionsSecurity", - "type" : "simpleInputContainer" - } - ], - "help" : "idpsaml.html#options", - "id" : "samlSPMetaDataOptions", - "title" : "samlSPMetaDataOptions" - } -] -; - case 'virtualHost': - return [ - { - "cnodes" : tpl+"s/"+key+"/"+"locationRules", - "default" : [ - { - "data" : "deny", - "id" : tpl+"s/"+key+"/"+"locationRules/default", - "re" : "default", - "title" : "default", - "type" : "rule" - } - ], - "help" : "writingrulesand_headers.html#rules", - "id" : tpl+"s/"+key+"/"+"locationRules", - "title" : "locationRules", - "type" : "ruleContainer" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"exportedHeaders", - "help" : "writingrulesand_headers.html#headers", - "id" : tpl+"s/"+key+"/"+"exportedHeaders", - "title" : "exportedHeaders", - "type" : "keyTextContainer" - }, - { - "cnodes" : tpl+"s/"+key+"/"+"post", - "help" : "formreplay.html", - "id" : tpl+"s/"+key+"/"+"post", - "title" : "post", - "type" : "postContainer" - }, - { - "_nodes" : [ - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"vhostPort", - "id" : tpl+"s/"+key+"/"+"vhostPort", - "title" : "vhostPort", - "type" : "int" - }, - { - "default" : -1, - "get" : tpl+"s/"+key+"/"+"vhostHttps", - "id" : tpl+"s/"+key+"/"+"vhostHttps", - "title" : "vhostHttps", - "type" : "trool" - }, - { - "default" : 0, - "get" : tpl+"s/"+key+"/"+"vhostMaintenance", - "id" : tpl+"s/"+key+"/"+"vhostMaintenance", - "title" : "vhostMaintenance", - "type" : "bool" - }, - { - "get" : tpl+"s/"+key+"/"+"vhostAliases", - "id" : tpl+"s/"+key+"/"+"vhostAliases", - "title" : "vhostAliases" - }, - { - "default" : "Main", - "get" : tpl+"s/"+key+"/"+"vhostType", - "id" : tpl+"s/"+key+"/"+"vhostType", - "select" : [ - { - "k" : "Main", - "v" : "Main" - }, - { - "k" : "Zimbra", - "v" : "ZimbraPreAuth" - }, - { - "k" : "AuthBasic", - "v" : "AuthBasic" - }, - { - "k" : "SecureToken", - "v" : "SecureToken" - }, - { - "k" : "CDA", - "v" : "CDA" - }, - { - "k" : "DevOps", - "v" : "DevOps" - }, - { - "k" : "DevOpsST", - "v" : "DevOpsST" - }, - { - "k" : "ServiceToken", - "v" : "ServiceToken" - } - ], - "title" : "vhostType", - "type" : "select" - }, - { - "get" : tpl+"s/"+key+"/"+"vhostAuthnLevel", - "id" : tpl+"s/"+key+"/"+"vhostAuthnLevel", - "title" : "vhostAuthnLevel", - "type" : "int" - } - ], - "help" : "configvhost.html#options", - "id" : "vhostOptions", - "title" : "vhostOptions" - } -] -; - default: - return []; - } -} - -function setScopeVars(scope) { - scope.portal = scope.data[0]._nodes[0]._nodes[0]; - scope.getKey(scope.portal); - scope.domain = scope.data[0]._nodes[4]._nodes[1]; - scope.getKey(scope.domain); -} \ No newline at end of file diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm index 130b18c5b..83f3eda4e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm @@ -140,21 +140,21 @@ sub display { ); } - # 1.4 Brute-Force attack detected - elsif ( $req->{error} == PE_WAIT ) { - $self->logger->debug('Display: waiting before retrying authentication'); - $self->logger->debug('Hidden values -> '. Dumper( $req->{portalHiddenFormValues})); - $skinfile = 'info'; - %templateParams = ( - AUTH_ERROR => $self->error, - AUTH_ERROR_TYPE => $req->error_type, - MSG => '{error}" . '">">' . "PE$req->{error}" . '', - URL => $req->{urldc}, - HIDDEN_INPUTS => $self->buildHiddenForm($req), - ACTIVE_TIMER => $req->data->{activeTimer}, - FORM_METHOD => $self->conf->{infoFormMethod}, - ); - } + # # 1.4 Brute-Force attack detected + # elsif ( $req->{error} == PE_WAIT ) { + # $self->logger->debug('Display: waiting before retrying authentication'); + # $self->logger->debug('Hidden values -> '. Dumper( $req->{portalHiddenFormValues})); + # $skinfile = 'info'; + # %templateParams = ( + # AUTH_ERROR => $self->error, + # AUTH_ERROR_TYPE => $req->error_type, + # MSG => '{error}" . '">">' . "PE$req->{error}" . '', + # URL => $req->{urldc}, + # HIDDEN_INPUTS => $self->buildHiddenForm($req), + # ACTIVE_TIMER => $req->data->{activeTimer}, + # FORM_METHOD => $self->conf->{infoFormMethod}, + # ); + # } # 1.4 OpenID menu page elsif ($req->{error} == PE_OPENID_EMPTY @@ -330,6 +330,7 @@ sub display { # * Logout message # * Bad URL error elsif ($req->{error} == PE_LOGOUT_OK + or $req->{error} == PE_WAIT or $req->{error} == PE_BADURL ) { %templateParams = ( diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/BruteForceProtection.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/BruteForceProtection.pm index 8e7f2e1f3..54b6ab88e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/BruteForceProtection.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/BruteForceProtection.pm @@ -1,6 +1,5 @@ package Lemonldap::NG::Portal::Plugins::BruteForceProtection; -use Data::Dumper; use strict; use Mouse; use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_WAIT); @@ -20,41 +19,42 @@ sub init {1} sub run { my ( $self, $req ) = @_; - my $countFailed = 0; - my $lastFailedLoginEpoch = 0; - - # Last failed login epoch before this authentication -> Auth_N-1 - if ( defined $req->sessionInfo->{_loginHistory}->{failedLogin} ){ + my $countFailed = 0; + my @lastFailedLoginEpoch = (); + + # Auth_N-2 failed login epoch + if ( defined $req->sessionInfo->{_loginHistory}->{failedLogin} ) { $countFailed = @{ $req->sessionInfo->{_loginHistory}->{failedLogin} }; } - if ( defined $req->sessionInfo->{_loginHistory}->{failedLogin}->[1] ){ - $lastFailedLoginEpoch = $req->sessionInfo->{_loginHistory}->{failedLogin}->[1]->{_utime} + + $self->logger->debug( " Number of failedLogin = $countFailed" ); + return PE_OK if ( $countFailed < 3 ); + + foreach ( 0 .. 2 ) { + if ( defined $req->sessionInfo->{_loginHistory}->{failedLogin}->[$_] ) + { + push @lastFailedLoginEpoch, + $req->sessionInfo->{_loginHistory}->{failedLogin}->[$_] + ->{_utime}; + } } - # If Auth. N-1 older than 10 minutes -> another try allowed - if ( ( time - $lastFailedLoginEpoch ) > 600 ) { - $lastFailedLoginEpoch = 0; - } + # If Auth_N-2 older than 5 minutes -> another try allowed + return PE_OK + if ( ( $lastFailedLoginEpoch[0] - $lastFailedLoginEpoch[2] ) > 300 ); # Delta between the two last failed logins -> Auth_N - Auth_N-1 - my $delta = time - $lastFailedLoginEpoch; + my $delta = time - $lastFailedLoginEpoch[1]; - $self->logger->debug( " successLogin -> " . Dumper( $req->sessionInfo->{_loginHistory}->{successLogin} ) ); - $self->logger->debug( " failedLogin -> " . Dumper( $req->sessionInfo->{_loginHistory}->{failedLogin} ) ); - $self->logger->debug(" Number of failedLogin -> $countFailed"); - $self->logger->debug(" Last failedLogin epoch -> $lastFailedLoginEpoch"); - $self->logger->debug( " Local time = " . localtime ); - $self->logger->debug(" Delta Auth_N - Auth_N-1 = $delta"); + $self->logger->debug( " Local time = " . time ); + $self->logger->debug(" Delta time - lastFailedLoginN-1 = $delta"); -# If Delta between the two last failed logins < 10s and more than 2 failedLogins => waiting = failedLogins * 10s - if ( $countFailed > 2 and ( $delta < 10 ) ) { - - #sleep $countFailed * 10; - return PE_WAIT; - - } - - return PE_OK; + # Delta between the two last failed logins < 30s => wait + return PE_OK unless ( $delta < 31 ); + + # Account locked + shift @{ $req->sessionInfo->{_loginHistory}->{failedLogin} }; + return PE_WAIT; } 1; diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json index 249f2d49d..beb3774ec 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":" الموقع البعيد يطلب جلسة جديدة (ولم يتم تحميل برنامج ترقية الجلسة).\nسجل الخروج و أعد المحاولة", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"قبول", "accessDenied":"ليس لديك إذن بالدخول لهذا التطبيق", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/de.json b/lemonldap-ng-portal/site/htdocs/static/languages/de.json index 2a5e02136..27a28bd37 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/de.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/de.json @@ -85,7 +85,7 @@ "PE83":"U2F-Überprüfung fehlgeschlagen. Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator", "PE84":"Sie sind nicht berechtigt, auf diesen Host zuzugreifen", "PE85":"Die Gegenseite fragt nach einer neueren Sitzung (und das UpgradeSession-Plugin wurde nicht geladen). Abmelden und erneut versuchen", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Akzeptieren", "accessDenied":"Sie haben keine Zugriffsberechtigung für diese Anwendung", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/en.json b/lemonldap-ng-portal/site/htdocs/static/languages/en.json index 6dc84d0ce..f71c8c40c 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/en.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accept", "accessDenied":"You have no access authorization for this application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/es.json b/lemonldap-ng-portal/site/htdocs/static/languages/es.json index 7a2e93d11..6c21a082b 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/es.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/es.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accept", "accessDenied":"You have no access authorization for this application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json index eeafd018d..a751d10f0 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json @@ -85,7 +85,7 @@ "PE83":"La vérification U2F a échoué. Réessayez ou contactez votre administrateur", "PE84":"Vous n'êtes pas autorisé à accéder à ce site", "PE85":"Le site souhaite une authentification plus récente (et le plugin UpgradeSession n'est pas chargé). Déconnectez-vous et réessayez", -"PE86":"Vous devez attendre avant de pouvoir vous ré-authentifier", +"PE86":"Votre compte est verrouillé. Vous devez attendre 30s avant de vous ré-authentifier.", "2fRegRequired":"Ce service requiert une authentification à deux facteurs. Enregistrez un équipement ici et retournez au portail.", "accept":"Accepter", "accessDenied":"Vous n'avez pas les droits d'accès à cette application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/it.json b/lemonldap-ng-portal/site/htdocs/static/languages/it.json index 2fd7c14e7..f097a17fe 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/it.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"Non sei autorizzato ad accedere a questo host", "PE85":"Il sito remoto richiede una sessione più recente (e il plug-in di UpgradeSession non viene caricato). Disconnetti e riprova", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accetta", "accessDenied":"Non hai un'autorizzazione di accesso per questa applicazione", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json index cd6dae111..a6a989d79 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accept", "accessDenied":"You have no access authorization for this application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json index 7e994c94a..36d831997 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accept", "accessDenied":"You have no access authorization for this application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json index 90c921896..e907869fd 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json @@ -85,7 +85,7 @@ "PE83":"U2F verification failed. Retry or contact your administrator", "PE84":"You're not authorized to access to this host", "PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Accept", "accessDenied":"You have no access authorization for this application", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json index 0437518d7..6d36241c1 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json @@ -85,7 +85,7 @@ "PE83":"Xác minh U2F không thành công", "PE84":"Bạn không được phép truy cập vào máy chủ lưu trữ này", "PE85":"Trang web từ xa yêu cầu một phiên mới (và plugin UpgradeSession không được tải). Đăng xuất và thử lại ", -"PE86":"You must wait before trying to authenticate again", +"PE86":"Your account is locked. You must wait 30s before authenticate again", "2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.", "accept":"Chấp nhận", "accessDenied":"Bạn không có quyền truy cập vào ứng dụng này",