From ec7ae5f3d664b801dac934fc7ce13f3df189559c Mon Sep 17 00:00:00 2001 From: Christophe Maudoux Date: Wed, 8 May 2019 23:20:39 +0200 Subject: [PATCH] Append unit test (#1741) --- .../t/11-save-appCat-changed-conf.t | 65 + lemonldap-ng-manager/t/12-save-changed-conf.t | 2 +- .../03-base-tree-appCat-modifed.json | 2208 +++++++++++++++++ 3 files changed, 2274 insertions(+), 1 deletion(-) create mode 100644 lemonldap-ng-manager/t/11-save-appCat-changed-conf.t create mode 100644 lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json diff --git a/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t b/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t new file mode 100644 index 000000000..144c7e53c --- /dev/null +++ b/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t @@ -0,0 +1,65 @@ +# Verify that an unmodified configuration is rejected + +use Data::Dumper; +use Test::More; +use strict; +use JSON; +require 't/test-lib.pm'; + +my @struct = + qw[t/jsonfiles/03-base-tree-appCat-modifed.json]; +my @desc = ( 'Changed conf with deleted Category' ); +my $confFiles = [ 't/conf/lmConf-1.json', 't/conf/lmConf-2.json' ]; + +sub body { + return 0 unless (@struct); + my $t = shift @struct; + return IO::File->new( $t, 'r' ); +} + +# Delete lmConf-2.json if exists +eval { unlink $confFiles->[1]; }; +mkdir 't/sessions'; + +# Try to save a modified conf +while ( my $body = &body() ) { + my $desc = shift @desc; + my ( $res, $resBody ); + ok( + $res = + &client->_post( '/confs/', 'cfgNum=1', $body, 'application/json' ), + "$desc: positive result" + ); + ok( $res->[0] == 200, "$desc: result code is 200" ) + or print STDERR Dumper($res); + ok( + $resBody = from_json( $res->[2]->[0] ), + "$desc: result body contains JSON text" + ); + + #print STDERR Dumper($resBody); + ok( $resBody->{result} == 1, "$desc: JSON response contains \"result:1\"" ); + ok( @{ $resBody->{details}->{__changes__} } eq 1, + "$desc: conf has changed" ) + or print STDERR Dumper($resBody); + ok( $resBody->{details}->{__changes__}->[0]->{new} eq 'categoryList, Administration, Documentation', + "$desc: new key received" ) + or print STDERR Dumper($resBody); + ok( $resBody->{details}->{__changes__}->[0]->{old} eq 'categoryList, Administration, Documentation, Sample applications', + "$desc: old key received" ) + or print STDERR Dumper($resBody); + ok( $resBody->{details}->{__changes__}->[0]->{key} eq 'Deletes in cat(s), Sample applications', + "$desc: key received" ) + or print STDERR Dumper($resBody); + ok( -e $confFiles->[1], "$desc: file is created" ); + + #print STDERR Dumper($resBody); + count(9); +} +eval { unlink $confFiles->[1]; rmdir 't/sessions'; }; + +done_testing( count() ); + +# Remove sessions directory +`rm -rf t/sessions`; + diff --git a/lemonldap-ng-manager/t/12-save-changed-conf.t b/lemonldap-ng-manager/t/12-save-changed-conf.t index 0de54401f..3f1496709 100644 --- a/lemonldap-ng-manager/t/12-save-changed-conf.t +++ b/lemonldap-ng-manager/t/12-save-changed-conf.t @@ -39,7 +39,7 @@ foreach my $i ( 0 .. 1 ) { ok( @{ $resBody->{details}->{__changes__} } == 20, - 'JSON response contains 24 changes' + 'JSON response contains 20 changes' ) or print STDERR Dumper($resBody); #print STDERR Dumper($resBody); diff --git a/lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json b/lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json new file mode 100644 index 000000000..f37592c00 --- /dev/null +++ b/lemonldap-ng-manager/t/jsonfiles/03-base-tree-appCat-modifed.json @@ -0,0 +1,2208 @@ +[{ + "id": "generalParameters", + "title": "generalParameters", + "nodes": [{ + "id": "portalParams", + "title": "portalParams", + "nodes": [{ + "default": "http://auth.example.com/", + "id": "portal", + "title": "portal", + "data": "http://auth.example.com/" + }, { + "id": "portalMenu", + "title": "portalMenu", + "nodes": [{ + "id": "portalModules", + "title": "portalModules", + "type": "simpleInputContainer", + "nodes": [{ + "default": 1, + "id": "portalDisplayLogout", + "title": "portalDisplayLogout", + "type": "boolOrExpr", + "data": 1 + }, { + "default": "$_auth =~ /^(LDAP|DBI|Demo)$/", + "id": "portalDisplayChangePassword", + "title": "portalDisplayChangePassword", + "type": "boolOrExpr", + "data": "$_auth =~ /^(LDAP|DBI|Demo)$/" + }, { + "default": 1, + "id": "portalDisplayAppslist", + "title": "portalDisplayAppslist", + "type": "boolOrExpr", + "data": 1 + }, { + "default": 1, + "id": "portalDisplayLoginHistory", + "title": "portalDisplayLoginHistory", + "type": "boolOrExpr", + "data": 1 + }] + }, { + "default": [{ + "data": { + "catname": "Default category", + "type": "category" + }, + "id": "applicationList/default", + "title": "default", + "type": "catAndAppList" + }], + "id": "applicationList", + "title": "applicationList", + "type": "catAndAppList", + "nodes": [{ + "type": "menuCat", + "id": "applicationList/0004-cat", + "nodes": [{ + "title": "WebSSO Manager", + "id": "applicationList/0004-cat/0005-app", + "type": "menuApp", + "data": { + "display": "auto", + "uri": "http://manager.example.com/", + "logo": "configure.png", + "description": "Configure LemonLDAP::NG WebSSO" + } + }, { + "title": "Notifications explorer", + "type": "menuApp", + "id": "applicationList/0004-cat/0006-app", + "data": { + "display": "auto", + "uri": "http://manager.example.com/notifications", + "description": "Explore WebSSO notifications", + "logo": "database.png" + } + }, { + "data": { + "display": "auto", + "description": "Explore WebSSO sessions", + "logo": "database.png", + "uri": "http://manager.example.com/sessions" + }, + "title": "Sessions explorer", + "type": "menuApp", + "id": "applicationList/0004-cat/0007-app" + }], + "title": "Administration" + }, { + "nodes": [{ + "data": { + "uri": "http://manager.example.com/doc/", + "logo": "help.png", + "description": "Documentation supplied with LemonLDAP::NG", + "display": "on" + }, + "title": "Local documentation", + "id": "applicationList/0008-cat/0009-app", + "type": "menuApp" + }, { + "title": "Official Website", + "type": "menuApp", + "id": "applicationList/0008-cat/0010-app", + "data": { + "display": "on", + "description": "Official LemonLDAP::NG Website", + "logo": "network.png", + "uri": "http://lemonldap-ng.org/" + } + }], + "title": "Documentation", + "id": "applicationList/0008-cat", + "type": "menuCat" + }] + }] + }, { + "id": "portalCustomization", + "title": "portalCustomization", + "nodes": [{ + "default": "bootstrap", + "id": "portalSkin", + "select": [{ + "k": "bootstrap", + "v": "Bootstrap" + }, { + "k": "pastel", + "v": "Pastel" + }, { + "k": "impact", + "v": "Impact" + }, { + "k": "dark", + "v": "Dark" + }], + "title": "portalSkin", + "type": "portalskin", + "data": "bootstrap" + }, { + "id": "portalSkinRules", + "title": "portalSkinRules", + "type": "keyTextContainer", + "nodes": [] + }, { + "id": "portalButtons", + "title": "portalButtons", + "type": "simpleInputContainer", + "nodes": [{ + "default": 1, + "id": "portalCheckLogins", + "title": "portalCheckLogins", + "type": "bool", + "data": 1 + }, { + "default": 0, + "id": "portalDisplayResetPassword", + "title": "portalDisplayResetPassword", + "type": "boolOrExpr", + "data": 0 + }, { + "default": 1, + "id": "portalDisplayRegister", + "title": "portalDisplayRegister", + "type": "boolOrExpr", + "data": 1 + }] + }, { + "id": "passwordManagement", + "title": "passwordManagement", + "type": "simpleInputContainer", + "nodes": [{ + "default": 1, + "id": "portalRequireOldPassword", + "title": "portalRequireOldPassword", + "type": "bool", + "data": 1 + }, { + "default": 0, + "id": "hideOldPassword", + "title": "hideOldPassword", + "type": "bool", + "data": 0 + }, { + "default": 0, + "id": "mailOnPasswordChange", + "title": "mailOnPasswordChange", + "type": "bool", + "data": 0 + }] + }, { + "id": "portalOther", + "title": "portalOther", + "type": "simpleInputContainer", + "nodes": [{ + "default": "_user", + "id": "portalUserAttr", + "title": "portalUserAttr", + "data": "_user" + }, { + "default": 0, + "id": "portalOpenLinkInNewWindow", + "title": "portalOpenLinkInNewWindow", + "type": "bool", + "data": 0 + }, { + "default": 1, + "id": "portalAntiFrame", + "title": "portalAntiFrame", + "type": "bool", + "data": 1 + }, { + "default": 60000, + "id": "portalPingInterval", + "title": "portalPingInterval", + "type": "int", + "data": 60000 + }] + }] + }, { + "id": "portalCaptcha", + "title": "portalCaptcha", + "nodes": [{ + "default": 0, + "id": "captcha_login_enabled", + "title": "captcha_login_enabled", + "type": "bool", + "data": 0 + }, { + "default": 1, + "id": "captcha_mail_enabled", + "title": "captcha_mail_enabled", + "type": "bool", + "data": 1 + }, { + "default": 1, + "id": "captcha_register_enabled", + "title": "captcha_register_enabled", + "type": "bool", + "data": 1 + }, { + "default": 6, + "id": "captcha_size", + "title": "captcha_size", + "type": "int", + "data": 6 + }] + }] + }, { + "_nodes_filter": "authParams", + "id": "authParams", + "title": "authParams", + "type": "authParams", + "nodes": [{ + "default": "Demo", + "id": "authentication", + "select": [{ + "k": "Apache", + "v": "Apache" + }, { + "k": "AD", + "v": "Active Directory" + }, { + "k": "BrowserID", + "v": "BrowserID (Mozilla Persona)" + }, { + "k": "Choice", + "v": "authChoice" + }, { + "k": "CAS", + "v": "Central Authentication Service (CAS)" + }, { + "k": "DBI", + "v": "Database (DBI)" + }, { + "k": "Demo", + "v": "Demonstration" + }, { + "k": "Facebook", + "v": "Facebook" + }, { + "k": "Google", + "v": "Google" + }, { + "k": "LDAP", + "v": "LDAP" + }, { + "k": "Multi", + "v": "Multiple" + }, { + "k": "Null", + "v": "None" + }, { + "k": "OpenID", + "v": "OpenID" + }, { + "k": "Proxy", + "v": "Proxy" + }, { + "k": "Radius", + "v": "Radius" + }, { + "k": "Remote", + "v": "Remote" + }, { + "k": "SAML", + "v": "SAML v2" + }, { + "k": "Slave", + "v": "Slave" + }, { + "k": "SSL", + "v": "SSL" + }, { + "k": "Twitter", + "v": "Twitter" + }, { + "k": "WebID", + "v": "WebID" + }, { + "k": "Yubikey", + "v": "Yubikey" + }], + "title": "authentication", + "type": "select", + "data": "Demo" + }, { + "default": "Same", + "id": "userDB", + "select": [{ + "k": "Same", + "v": "Same as auth" + }, { + "k": "AD", + "v": "Active Directory" + }, { + "k": "DBI", + "v": "Database (DBI)" + }, { + "k": "LDAP", + "v": "LDAP" + }, { + "k": "Null", + "v": "None" + }], + "title": "userDB", + "type": "select", + "data": "Same" + }, { + "default": "Demo", + "id": "passwordDB", + "select": [{ + "k": "AD", + "v": "Active Directory" + }, { + "k": "Choice", + "v": "authChoice" + }, { + "k": "DBI", + "v": "Database (DBI)" + }, { + "k": "Demo", + "v": "Demonstration" + }, { + "k": "LDAP", + "v": "LDAP" + }, { + "k": "Null", + "v": "None" + }], + "title": "passwordDB", + "type": "select", + "data": "Demo" + }], + "nodes_cond": [{ + "_nodes": [{ + "default": 4, + "id": "apacheAuthnLevel", + "title": "apacheAuthnLevel", + "type": "int" + }], + "id": "apacheParams", + "show": false, + "title": "apacheParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 1, + "id": "browserIdAuthnLevel", + "title": "browserIdAuthnLevel", + "type": "int" + }, { + "id": "browserIdAutoLogin", + "title": "browserIdAutoLogin", + "type": "bool" + }, { + "id": "browserIdVerificationURL", + "title": "browserIdVerificationURL" + }, { + "id": "browserIdSiteName", + "title": "browserIdSiteName" + }, { + "id": "browserIdSiteLogo", + "title": "browserIdSiteLogo" + }, { + "id": "browserIdBackgroundColor", + "title": "browserIdBackgroundColor" + }], + "id": "browserIdParams", + "show": false, + "title": "browserIdParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 1, + "id": "CAS_authnLevel", + "title": "CAS_authnLevel", + "type": "int" + }, { + "id": "CAS_url", + "title": "CAS_url" + }, { + "id": "CAS_CAFile", + "title": "CAS_CAFile" + }, { + "id": "CAS_renew", + "title": "CAS_renew", + "type": "bool" + }, { + "id": "CAS_gateway", + "title": "CAS_gateway", + "type": "bool" + }, { + "default": "/tmp/pgt.txt", + "id": "CAS_pgtFile", + "title": "CAS_pgtFile" + }, { + "cnodes": "CAS_proxiedServices", + "id": "CAS_proxiedServices", + "title": "CAS_proxiedServices", + "type": "keyTextContainer" + }], + "id": "casParams", + "show": false, + "title": "casParams" + }, { + "_nodes": [{ + "id": "authChoiceParam", + "title": "authChoiceParam" + }, { + "cnodes": "authChoiceModules", + "id": "authChoiceModules", + "title": "authChoiceModules", + "type": "keyTextContainer" + }], + "id": "choiceParams", + "show": false, + "title": "choiceParams" + }, { + "_nodes": [{ + "default": 2, + "id": "dbiAuthnLevel", + "title": "dbiAuthnLevel", + "type": "int" + }, { + "cnodes": "dbiExportedVars", + "default": [], + "id": "dbiExportedVars", + "title": "dbiExportedVars", + "type": "keyTextContainer" + }, { + "_nodes": [{ + "_nodes": [{ + "id": "dbiAuthChain", + "title": "dbiAuthChain" + }, { + "id": "dbiAuthUser", + "title": "dbiAuthUser" + }, { + "id": "dbiAuthPassword", + "title": "dbiAuthPassword" + }], + "id": "dbiConnectionAuth", + "title": "dbiConnectionAuth", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "id": "dbiUserChain", + "title": "dbiUserChain" + }, { + "id": "dbiUserUser", + "title": "dbiUserUser" + }, { + "id": "dbiUserPassword", + "title": "dbiUserPassword" + }], + "id": "dbiConnectionUser", + "title": "dbiConnectionUser", + "type": "simpleInputContainer" + }], + "id": "dbiConnection", + "title": "dbiConnection" + }, { + "_nodes": [{ + "id": "dbiAuthTable", + "title": "dbiAuthTable" + }, { + "id": "dbiUserTable", + "title": "dbiUserTable" + }, { + "id": "dbiAuthLoginCol", + "title": "dbiAuthLoginCol" + }, { + "id": "dbiAuthPasswordCol", + "title": "dbiAuthPasswordCol" + }, { + "id": "dbiPasswordMailCol", + "title": "dbiPasswordMailCol" + }, { + "id": "userPivot", + "title": "userPivot" + }], + "id": "dbiSchema", + "title": "dbiSchema", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "id": "dbiAuthPasswordHash", + "title": "dbiAuthPasswordHash" + }], + "id": "dbiPassword", + "title": "dbiPassword", + "type": "simpleInputContainer" + }], + "id": "dbiParams", + "show": false, + "title": "dbiParams" + }, { + "id": "demoParams", + "show": true, + "title": "demoParams", + "nodes": [{ + "default": [{ + "data": "cn", + "id": "demoExportedVars/cn", + "title": "cn", + "type": "keyText" + }, { + "data": "mail", + "id": "demoExportedVars/mail", + "title": "mail", + "type": "keyText" + }, { + "data": "uid", + "id": "demoExportedVars/uid", + "title": "uid", + "type": "keyText" + }], + "id": "demoExportedVars", + "title": "demoExportedVars", + "type": "keyTextContainer", + "nodes": [{ + "data": "cn", + "title": "cn", + "id": "demoExportedVars/cn", + "type": "keyText" + }, { + "data": "mail", + "title": "mail", + "type": "keyText", + "id": "demoExportedVars/mail" + }, { + "type": "keyText", + "id": "demoExportedVars/uid", + "title": "uid", + "data": "uid" + }] + }] + }, { + "_nodes": [{ + "default": 1, + "id": "facebookAuthnLevel", + "title": "facebookAuthnLevel", + "type": "int" + }, { + "cnodes": "facebookExportedVars", + "default": [], + "id": "facebookExportedVars", + "title": "facebookExportedVars", + "type": "keyTextContainer" + }, { + "id": "facebookAppId", + "title": "facebookAppId" + }, { + "id": "facebookAppSecret", + "title": "facebookAppSecret" + }], + "id": "facebookParams", + "show": false, + "title": "facebookParams" + }, { + "_nodes": [{ + "default": 1, + "id": "googleAuthnLevel", + "title": "googleAuthnLevel", + "type": "int" + }, { + "cnodes": "googleExportedVars", + "default": [], + "id": "googleExportedVars", + "title": "googleExportedVars", + "type": "keyTextContainer" + }], + "id": "googleParams", + "show": false, + "title": "googleParams" + }, { + "_nodes": [{ + "default": 2, + "id": "ldapAuthnLevel", + "title": "ldapAuthnLevel", + "type": "int" + }, { + "cnodes": "ldapExportedVars", + "default": [{ + "data": "cn", + "id": "ldapExportedVars/cn", + "title": "cn", + "type": "keyText" + }, { + "data": "mail", + "id": "ldapExportedVars/mail", + "title": "mail", + "type": "keyText" + }, { + "data": "uid", + "id": "ldapExportedVars/uid", + "title": "uid", + "type": "keyText" + }], + "id": "ldapExportedVars", + "title": "ldapExportedVars", + "type": "keyTextContainer" + }, { + "_nodes": [{ + "default": "ldap://localhost", + "id": "ldapServer", + "title": "ldapServer" + }, { + "default": 389, + "id": "ldapPort", + "title": "ldapPort", + "type": "int" + }, { + "default": "dc=example,dc=com", + "id": "ldapBase", + "title": "ldapBase" + }, { + "default": "", + "id": "managerDn", + "title": "managerDn" + }, { + "default": "", + "id": "managerPassword", + "title": "managerPassword" + }, { + "default": 120, + "id": "ldapTimeout", + "title": "ldapTimeout", + "type": "int" + }, { + "default": 3, + "id": "ldapVersion", + "title": "ldapVersion", + "type": "int" + }, { + "id": "ldapRaw", + "title": "ldapRaw" + }], + "id": "ldapConnection", + "title": "ldapConnection", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "id": "LDAPFilter", + "title": "LDAPFilter" + }, { + "id": "AuthLDAPFilter", + "title": "AuthLDAPFilter" + }, { + "id": "mailLDAPFilter", + "title": "mailLDAPFilter" + }], + "id": "ldapFilters", + "title": "ldapFilters", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "id": "ldapGroupBase", + "title": "ldapGroupBase" + }, { + "default": "groupOfNames", + "id": "ldapGroupObjectClass", + "title": "ldapGroupObjectClass" + }, { + "default": "member", + "id": "ldapGroupAttributeName", + "title": "ldapGroupAttributeName" + }, { + "default": "dn", + "id": "ldapGroupAttributeNameUser", + "title": "ldapGroupAttributeNameUser" + }, { + "default": "cn", + "id": "ldapGroupAttributeNameSearch", + "title": "ldapGroupAttributeNameSearch" + }, { + "default": 0, + "id": "ldapGroupRecursive", + "title": "ldapGroupRecursive", + "type": "bool" + }, { + "default": "dn", + "id": "ldapGroupAttributeNameGroup", + "title": "ldapGroupAttributeNameGroup" + }], + "id": "ldapGroups", + "title": "ldapGroups", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 0, + "id": "ldapPpolicyControl", + "title": "ldapPpolicyControl", + "type": "bool" + }, { + "default": 0, + "id": "ldapSetPassword", + "title": "ldapSetPassword", + "type": "bool" + }, { + "default": 0, + "id": "ldapChangePasswordAsUser", + "title": "ldapChangePasswordAsUser", + "type": "bool" + }, { + "default": "utf-8", + "id": "ldapPwdEnc", + "title": "ldapPwdEnc" + }, { + "default": 1, + "id": "ldapUsePasswordResetAttribute", + "title": "ldapUsePasswordResetAttribute", + "type": "bool" + }, { + "default": "pwdReset", + "id": "ldapPasswordResetAttribute", + "title": "ldapPasswordResetAttribute" + }, { + "default": "TRUE", + "id": "ldapPasswordResetAttributeValue", + "title": "ldapPasswordResetAttributeValue" + }], + "id": "ldapPassword", + "title": "ldapPassword", + "type": "simpleInputContainer" + }], + "id": "ldapParams", + "show": false, + "title": "ldapParams" + }, { + "_nodes": [{ + "default": 2, + "id": "nullAuthnLevel", + "title": "nullAuthnLevel", + "type": "int" + }], + "id": "nullParams", + "show": false, + "title": "nullParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 1, + "id": "openIdAuthnLevel", + "title": "openIdAuthnLevel", + "type": "int" + }, { + "cnodes": "openIdExportedVars", + "default": [], + "id": "openIdExportedVars", + "title": "openIdExportedVars", + "type": "keyTextContainer" + }, { + "id": "openIdSecret", + "title": "openIdSecret" + }, { + "id": "openIdIDPList", + "title": "openIdIDPList" + }], + "id": "openIdParams", + "show": false, + "title": "openIdParams" + }, { + "_nodes": [{ + "id": "soapAuthService", + "title": "soapAuthService" + }, { + "id": "remoteCookieName", + "title": "remoteCookieName" + }, { + "id": "soapSessionService", + "title": "soapSessionService" + }], + "id": "proxyParams", + "show": false, + "title": "proxyParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 3, + "id": "radiusAuthnLevel", + "title": "radiusAuthnLevel", + "type": "int" + }, { + "id": "radiusSecret", + "title": "radiusSecret" + }, { + "id": "radiusServer", + "title": "radiusServer" + }], + "id": "radiusParams", + "show": false, + "title": "radiusParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "id": "remotePortal", + "title": "remotePortal" + }, { + "id": "remoteCookieName", + "title": "remoteCookieName" + }, { + "default": "Lemonldap::NG::Common::Apache::Session::SOAP", + "id": "remoteGlobalStorage", + "title": "remoteGlobalStorage" + }, { + "cnodes": "remoteGlobalStorageOptions", + "default": [{ + "data": "http://auth.example.com/Lemonldap/NG/Common/PSGI/SOAPService", + "id": "remoteGlobalStorageOptions/ns", + "title": "ns", + "type": "keyText" + }, { + "data": "http://auth.example.com/sessions", + "id": "remoteGlobalStorageOptions/proxy", + "title": "proxy", + "type": "keyText" + }], + "id": "remoteGlobalStorageOptions", + "title": "remoteGlobalStorageOptions", + "type": "keyTextContainer" + }], + "id": "remoteParams", + "show": false, + "title": "remoteParams" + }, { + "_nodes": [{ + "default": 2, + "id": "slaveAuthnLevel", + "title": "slaveAuthnLevel", + "type": "int" + }, { + "cnodes": "slaveExportedVars", + "default": [], + "id": "slaveExportedVars", + "title": "slaveExportedVars", + "type": "keyTextContainer" + }, { + "id": "slaveUserHeader", + "title": "slaveUserHeader" + }, { + "id": "slaveMasterIP", + "title": "slaveMasterIP" + }], + "id": "slaveParams", + "show": false, + "title": "slaveParams" + }, { + "_nodes": [{ + "default": 5, + "id": "SSLAuthnLevel", + "title": "SSLAuthnLevel", + "type": "int" + }, { + "id": "SSLVar", + "title": "SSLVar" + }], + "id": "sslParams", + "show": false, + "title": "sslParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 1, + "id": "twitterAuthnLevel", + "title": "twitterAuthnLevel", + "type": "int" + }, { + "id": "twitterKey", + "title": "twitterKey" + }, { + "id": "twitterSecret", + "title": "twitterSecret" + }, { + "id": "twitterAppName", + "title": "twitterAppName" + }], + "id": "twitterParams", + "show": false, + "title": "twitterParams", + "type": "simpleInputContainer" + }, { + "_nodes": [{ + "default": 1, + "id": "webIDAuthnLevel", + "title": "webIDAuthnLevel", + "type": "int" + }, { + "cnodes": "webIDExportedVars", + "default": [], + "id": "webIDExportedVars", + "title": "webIDExportedVars", + "type": "keyTextContainer" + }, { + "id": "webIDWhitelist", + "title": "webIDWhitelist" + }], + "id": "webIDParams", + "show": false, + "title": "webIDParams" + }, { + "_nodes": [{ + "default": 3, + "id": "yubikeyAuthnLevel", + "title": "yubikeyAuthnLevel", + "type": "int" + }, { + "id": "yubikeyClientID", + "title": "yubikeyClientID" + }, { + "id": "yubikeySecretKey", + "title": "yubikeySecretKey" + }, { + "default": 12, + "id": "yubikeyPublicIDSize", + "title": "yubikeyPublicIDSize", + "type": "int" + }], + "id": "yubikeyParams", + "show": false, + "title": "yubikeyParams", + "type": "simpleInputContainer" + }] + }, { + "id": "issuerParams", + "title": "issuerParams", + "nodes": [{ + "id": "issuerDBSAML", + "title": "issuerDBSAML", + "type": "simpleInputContainer", + "nodes": [{ + "default": 0, + "id": "issuerDBSAMLActivation", + "title": "issuerDBSAMLActivation", + "type": "bool", + "data": 0 + }, { + "default": "^/saml/", + "id": "issuerDBSAMLPath", + "title": "issuerDBSAMLPath", + "data": "^/saml/" + }, { + "default": 1, + "id": "issuerDBSAMLRule", + "title": "issuerDBSAMLRule", + "type": "boolOrExpr", + "data": 1 + }] + }, { + "id": "issuerDBCAS", + "title": "issuerDBCAS", + "nodes": [{ + "default": 0, + "id": "issuerDBCASActivation", + "title": "issuerDBCASActivation", + "type": "bool", + "data": 0 + }, { + "default": "^/cas/", + "id": "issuerDBCASPath", + "title": "issuerDBCASPath", + "data": "^/cas/" + }, { + "default": 1, + "id": "issuerDBCASRule", + "title": "issuerDBCASRule", + "type": "boolOrExpr", + "data": 1 + }, { + "id": "issuerDBCASOptions", + "title": "issuerDBCASOptions", + "nodes": [{ + "id": "casAttr", + "title": "casAttr" + }, { + "default": "none", + "id": "casAccessControlPolicy", + "select": [{ + "k": "none", + "v": "None" + }, { + "k": "error", + "v": "Display error on portal" + }, { + "k": "faketicket", + "v": "Send a fake service ticket" + }], + "title": "casAccessControlPolicy", + "type": "select", + "data": "none" + }, { + "id": "casStorage", + "title": "casStorage" + }, { + "id": "casStorageOptions", + "title": "casStorageOptions", + "type": "keyTextContainer", + "nodes": [] + }] + }] + }, { + "id": "issuerDBOpenID", + "title": "issuerDBOpenID", + "nodes": [{ + "default": 0, + "id": "issuerDBOpenIDActivation", + "title": "issuerDBOpenIDActivation", + "type": "bool", + "data": 0 + }, { + "default": "^/openidserver/", + "id": "issuerDBOpenIDPath", + "title": "issuerDBOpenIDPath", + "data": "^/openidserver/" + }, { + "default": 1, + "id": "issuerDBOpenIDRule", + "title": "issuerDBOpenIDRule", + "type": "boolOrExpr", + "data": 1 + }, { + "id": "issuerDBOpenIDOptions", + "title": "issuerDBOpenIDOptions", + "nodes": [{ + "id": "openIdIssuerSecret", + "title": "openIdIssuerSecret" + }, { + "id": "openIdAttr", + "title": "openIdAttr" + }, { + "id": "openIdSPList", + "title": "openIdSPList", + "type": "openidServerList" + }, { + "id": "openIdSreg", + "title": "openIdSreg", + "type": "simpleInputContainer", + "nodes": [{ + "default": "cn", + "id": "openIdSreg_fullname", + "title": "openIdSreg_fullname", + "data": "cn" + }, { + "default": "uid", + "id": "openIdSreg_nickname", + "title": "openIdSreg_nickname", + "data": "uid" + }, { + "id": "openIdSreg_language", + "title": "openIdSreg_language" + }, { + "id": "openIdSreg_postcode", + "title": "openIdSreg_postcode" + }, { + "default": "_timezone", + "id": "openIdSreg_timezone", + "title": "openIdSreg_timezone", + "data": "_timezone" + }, { + "id": "openIdSreg_country", + "title": "openIdSreg_country" + }, { + "id": "openIdSreg_gender", + "title": "openIdSreg_gender" + }, { + "default": "mail", + "id": "openIdSreg_email", + "title": "openIdSreg_email", + "data": "mail" + }, { + "id": "openIdSreg_dob", + "title": "openIdSreg_dob" + }] + }] + }] + }] + }, { + "id": "logParams", + "title": "logParams", + "type": "simpleInputContainer", + "nodes": [{ + "default": "uid", + "id": "whatToTrace", + "title": "whatToTrace", + "data": "_whatToTrace" + }] + }, { + "id": "cookieParams", + "title": "cookieParams", + "type": "simpleInputContainer", + "nodes": [{ + "default": "lemonldap", + "id": "cookieName", + "title": "cookieName", + "data": "lemonldap" + }, { + "default": "example.com", + "id": "domain", + "title": "domain", + "data": "example.com" + }, { + "default": 0, + "id": "cda", + "title": "cda", + "type": "bool", + "data": 0 + }, { + "default": 0, + "id": "securedCookie", + "select": [{ + "k": "0", + "v": "unsecuredCookie" + }, { + "k": "1", + "v": "securedCookie" + }, { + "k": "2", + "v": "doubleCookie" + }, { + "k": "3", + "v": "doubleCookieForSingleSession" + }], + "title": "securedCookie", + "type": "select", + "data": 0 + }, { + "default": 1, + "id": "httpOnly", + "title": "httpOnly", + "type": "bool", + "data": 1 + }, { + "id": "cookieExpiration", + "title": "cookieExpiration" + }] + }, { + "id": "sessionParams", + "title": "sessionParams", + "nodes": [{ + "default": 0, + "id": "storePassword", + "title": "storePassword", + "type": "bool", + "data": 0 + }, { + "default": 72000, + "id": "timeout", + "title": "timeout", + "type": "int", + "data": 72000 + }, { + "default": 0, + "id": "timeoutActivity", + "select": [{ + "k": "0", + "v": "None" + }, { + "k": "900", + "v": "15 min" + }, { + "k": "1800", + "v": "30 min" + }, { + "k": "2700", + "v": "45 min" + }, { + "k": "3600", + "v": "60 min" + }], + "title": "timeoutActivity", + "type": "select", + "data": 0 + }, { + "id": "grantSessionRules", + "title": "grantSessionRules", + "type": "keyTextContainer", + "nodes": [] + }, { + "id": "sessionStorage", + "title": "sessionStorage", + "nodes": [{ + "default": "Apache::Session::File", + "id": "globalStorage", + "title": "globalStorage", + "data": "Apache::Session::File" + }, { + "default": [{ + "data": "t/sessions", + "id": "globalStorageOptions/Directory", + "title": "Directory", + "type": "keyText" + }, { + "data": "t/sessions", + "id": "globalStorageOptions/LockDirectory", + "title": "LockDirectory", + "type": "keyText" + }, { + "data": "Lemonldap::NG::Common::Apache::Session::Generate::SHA256", + "id": "globalStorageOptions/generateModule", + "title": "generateModule", + "type": "keyText" + }], + "id": "globalStorageOptions", + "title": "globalStorageOptions", + "type": "keyTextContainer", + "nodes": [{ + "data": "t/sessions", + "title": "Directory", + "type": "keyText", + "id": "globalStorageOptions/Directory" + }, { + "data": "t/sessions", + "title": "LockDirectory", + "type": "keyText", + "id": "globalStorageOptions/LockDirectory" + }, { + "data": "Lemonldap::NG::Common::Apache::Session::Generate::SHA256", + "type": "keyText", + "id": "globalStorageOptions/generateModule", + "title": "generateModule" + }] + }, { + "default": "Cache::FileCache", + "id": "localSessionStorage", + "title": "localSessionStorage", + "data": "Cache::FileCache" + }] + }, { + "id": "multipleSessions", + "title": "multipleSessions", + "type": "simpleInputContainer", + "nodes": [{ + "default": 0, + "id": "singleSession", + "title": "singleSession", + "type": "bool", + "data": 0 + }, { + "default": 0, + "id": "singleIP", + "title": "singleIP", + "type": "bool", + "data": 0 + }, { + "default": 0, + "id": "singleUserByIP", + "title": "singleUserByIP", + "type": "bool", + "data": 0 + }, { + "default": 0, + "id": "singleSessionUserByIP", + "title": "singleSessionUserByIP", + "type": "bool", + "data": 0 + }, { + "default": 1, + "id": "notifyDeleted", + "title": "notifyDeleted", + "type": "bool", + "data": 1 + }, { + "default": 0, + "id": "notifyOther", + "title": "notifyOther", + "type": "bool", + "data": 0 + }] + }, { + "id": "persistentSessions", + "title": "persistentSessions", + "nodes": [{ + "id": "persistentStorage", + "title": "persistentStorage", + "data": "Apache::Session::File" + }, { + "id": "persistentStorageOptions", + "title": "persistentStorageOptions", + "type": "keyTextContainer", + "nodes": [{ + "title": "Directory", + "id": "persistentStorageOptions/Directory", + "type": "keyText", + "data": "t/sessions" + }, { + "data": "t/sessions", + "id": "persistentStorageOptions/LockDirectory", + "title": "LockDirectory", + "type": "keyText" + }] + }] + }] + }, { + "id": "reloadUrls", + "title": "reloadUrls", + "type": "keyTextContainer" + }, { + "id": "advancedParams", + "title": "advancedParams", + "nodes": [{ + "id": "customFunctions", + "title": "customFunctions" + }, { + "id": "loginHistory", + "title": "loginHistory", + "nodes": [{ + "default": 1, + "id": "loginHistoryEnabled", + "title": "loginHistoryEnabled", + "type": "bool", + "data": 1 + }, { + "default": 5, + "id": "successLoginNumber", + "title": "successLoginNumber", + "type": "int", + "data": 5 + }, { + "default": 5, + "id": "failedLoginNumber", + "title": "failedLoginNumber", + "type": "int", + "data": 5 + }, { + "id": "sessionDataToRemember", + "title": "sessionDataToRemember", + "type": "keyTextContainer", + "nodes": [] + }] + }, { + "id": "notifications", + "title": "notifications", + "nodes": [{ + "default": 0, + "id": "notification", + "title": "notification", + "type": "bool", + "data": 1 + }, { + "default": "File", + "id": "notificationStorage", + "title": "notificationStorage", + "data": "File" + }, { + "default": [{ + "data": "/var/lib/lemonldap-ng/notifications", + "id": "notificationStorageOptions/dirName", + "title": "dirName", + "type": "keyText" + }], + "id": "notificationStorageOptions", + "title": "notificationStorageOptions", + "type": "keyTextContainer", + "nodes": [{ + "title": "dirName", + "type": "keyText", + "id": "notificationStorageOptions/dirName", + "data": "t/notifications" + }] + }, { + "default": "allusers", + "id": "notificationWildcard", + "title": "notificationWildcard", + "data": "allusers" + }, { + "id": "notificationXSLTfile", + "title": "notificationXSLTfile" + }] + }, { + "id": "passwordManagement", + "title": "passwordManagement", + "nodes": [{ + "id": "SMTP", + "title": "SMTP", + "type": "simpleInputContainer", + "nodes": [{ + "default": "", + "id": "SMTPServer", + "title": "SMTPServer", + "data": "" + }, { + "id": "SMTPAuthUser", + "title": "SMTPAuthUser" + }, { + "id": "SMTPAuthPass", + "title": "SMTPAuthPass" + }] + }, { + "id": "mailHeaders", + "title": "mailHeaders", + "type": "simpleInputContainer", + "nodes": [{ + "default": "noreply@example.com", + "id": "mailFrom", + "title": "mailFrom", + "data": "noreply@example.com" + }, { + "id": "mailReplyTo", + "title": "mailReplyTo" + }, { + "default": "utf-8", + "id": "mailCharset", + "title": "mailCharset", + "data": "utf-8" + }] + }, { + "id": "mailContent", + "title": "mailContent", + "type": "simpleInputContainer", + "nodes": [{ + "default": "", + "id": "mailSubject", + "title": "mailSubject" + }, { + "id": "mailBody", + "title": "mailBody", + "type": "longtext" + }, { + "default": "", + "id": "mailConfirmSubject", + "title": "mailConfirmSubject" + }, { + "id": "mailConfirmBody", + "title": "mailConfirmBody", + "type": "longtext" + }] + }, { + "id": "mailOther", + "title": "mailOther", + "type": "simpleInputContainer", + "nodes": [{ + "default": "http://auth.example.com/resetpwd", + "id": "mailUrl", + "title": "mailUrl", + "data": "http://auth.example.com/resetpwd" + }, { + "default": "[A-Z]{3}[a-z]{5}.\\d{2}", + "id": "randomPasswordRegexp", + "title": "randomPasswordRegexp", + "data": "[A-Z]{3}[a-z]{5}.\\d{2}" + }, { + "default": 0, + "id": "mailTimeout", + "title": "mailTimeout", + "type": "int", + "data": 0 + }, { + "default": "mail", + "id": "mailSessionKey", + "title": "mailSessionKey", + "data": "mail" + }] + }] + }, { + "id": "register", + "title": "register", + "type": "simpleInputContainer", + "nodes": [{ + "default": "Null", + "id": "registerDB", + "select": [{ + "k": "AD", + "v": "Active Directory" + }, { + "k": "Demo", + "v": "Demonstration" + }, { + "k": "LDAP", + "v": "LDAP" + }, { + "k": "Null", + "v": "None" + }], + "title": "registerDB", + "type": "select", + "data": "Null" + }, { + "default": 0, + "id": "registerTimeout", + "title": "registerTimeout", + "type": "int", + "data": 0 + }, { + "default": "", + "id": "registerConfirmSubject", + "title": "registerConfirmSubject" + }, { + "default": "", + "id": "registerDoneSubject", + "title": "registerDoneSubject" + }] + }, { + "id": "security", + "title": "security", + "type": "simpleInputContainer", + "nodes": [{ + "default": "^[\\w\\.\\-@]+$", + "id": "userControl", + "title": "userControl", + "data": "^[\\w\\.\\-@]+$" + }, { + "default": "p2@Pol9Lo_Ze&j*P", + "id": "key", + "title": "key", + "type": "password", + "data": "qwertyui" + }, { + "id": "trustedDomains", + "title": "trustedDomains" + }, { + "default": 1, + "id": "useSafeJail", + "title": "useSafeJail", + "type": "bool", + "data": 1 + }, { + "default": 1, + "id": "checkXSS", + "title": "checkXSS", + "type": "bool", + "data": 1 + }] + }, { + "id": "redirection", + "title": "redirection", + "type": "simpleInputContainer", + "nodes": [{ + "default": -1, + "id": "https", + "title": "https", + "type": "trool", + "data": -1 + }, { + "default": -1, + "id": "port", + "title": "port", + "type": "int", + "data": -1 + }, { + "default": 0, + "id": "useRedirectOnForbidden", + "title": "useRedirectOnForbidden", + "type": "bool", + "data": 0 + }, { + "default": 1, + "id": "useRedirectOnError", + "title": "useRedirectOnError", + "type": "bool", + "data": 1 + }, { + "default": 0, + "id": "maintenance", + "title": "maintenance", + "type": "bool", + "data": 0 + }] + }, { + "id": "portalRedirection", + "title": "portalRedirection", + "type": "simpleInputContainer", + "nodes": [{ + "default": 0, + "id": "jsRedirect", + "title": "jsRedirect", + "type": "boolOrExpr", + "data": 0 + }] + }, { + "default": [], + "id": "logoutServices", + "title": "logoutServices", + "type": "keyTextContainer", + "nodes": [] + }] + }] +}, { + "id": "variables", + "title": "variables", + "nodes": [{ + "default": [], + "id": "exportedVars", + "title": "exportedVars", + "type": "keyTextContainer", + "nodes": [] + }, { + "default": [], + "id": "macros", + "title": "macros", + "type": "keyTextContainer", + "nodes": [{ + "id": "macros/_whatToTrace", + "type": "keyText", + "title": "_whatToTrace", + "data": "$_auth eq 'SAML' ? \"$_user\\@$_idpConfKey\" : \"$_user\"" + }] + }, { + "default": [], + "id": "groups", + "title": "groups", + "type": "keyTextContainer", + "nodes": [] + }] +}, { + "id": "virtualHosts", + "template": "virtualHost", + "title": "virtualHosts", + "type": "virtualHostContainer", + "nodes": [{ + "template": "virtualHost", + "title": "manager.example.com", + "type": "virtualHost", + "id": "virtualHosts/manager.example.com", + "nodes": [{ + "default": [{ + "data": "deny", + "id": "virtualHosts/manager.example.com/locationRules/default", + "re": "default", + "title": "default", + "type": "rule" + }], + "id": "virtualHosts/manager.example.com/locationRules", + "title": "locationRules", + "type": "ruleContainer", + "nodes": [{ + "comment": "", + "title": "default", + "type": "rule", + "id": "virtualHosts/manager.example.com/locationRules/1", + "data": "$uid eq \"dwho\"", + "re": "default" + }] + }, { + "id": "virtualHosts/manager.example.com/exportedHeaders", + "title": "exportedHeaders", + "type": "keyTextContainer", + "nodes": [] + }, { + "id": "virtualHosts/manager.example.com/post", + "title": "post", + "type": "postContainer", + "nodes": [] + }, { + "id": "vhostOptions", + "title": "vhostOptions", + "nodes": [{ + "default": -1, + "get": "virtualHosts/manager.example.com/vhostPort", + "id": "virtualHosts/manager.example.com/vhostPort", + "title": "vhostPort", + "type": "int", + "data": -1 + }, { + "default": -1, + "get": "virtualHosts/manager.example.com/vhostHttps", + "id": "virtualHosts/manager.example.com/vhostHttps", + "title": "vhostHttps", + "type": "trool", + "data": -1 + }, { + "default": 0, + "get": "virtualHosts/manager.example.com/vhostMaintenance", + "id": "virtualHosts/manager.example.com/vhostMaintenance", + "title": "vhostMaintenance", + "type": "bool", + "data": 0 + }, { + "get": "virtualHosts/manager.example.com/vhostAliases", + "id": "virtualHosts/manager.example.com/vhostAliases", + "title": "vhostAliases" + }] + }] + }, { + "template": "virtualHost", + "type": "virtualHost", + "id": "virtualHosts/test1.example.com", + "title": "test1.example.com", + "nodes": [{ + "default": [{ + "data": "deny", + "id": "virtualHosts/test1.example.com/locationRules/default", + "re": "default", + "title": "default", + "type": "rule" + }], + "id": "virtualHosts/test1.example.com/locationRules", + "title": "locationRules", + "type": "ruleContainer", + "nodes": [{ + "data": "logout_sso", + "re": "^/logout", + "comment": "", + "title": "^/logout", + "id": "virtualHosts/test1.example.com/locationRules/1", + "type": "rule" + }, { + "title": "default", + "comment": "", + "type": "rule", + "id": "virtualHosts/test1.example.com/locationRules/2", + "data": "accept", + "re": "default" + }] + }, { + "id": "virtualHosts/test1.example.com/exportedHeaders", + "title": "exportedHeaders", + "type": "keyTextContainer", + "nodes": [{ + "data": "$uid", + "id": "virtualHosts/test1.example.com/exportedHeaders/1", + "type": "keyText", + "title": "Auth-User" + }] + }, { + "id": "virtualHosts/test1.example.com/post", + "title": "post", + "type": "postContainer", + "nodes": [] + }, { + "id": "vhostOptions", + "title": "vhostOptions", + "nodes": [{ + "default": -1, + "get": "virtualHosts/test1.example.com/vhostPort", + "id": "virtualHosts/test1.example.com/vhostPort", + "title": "vhostPort", + "type": "int", + "data": -1 + }, { + "default": -1, + "get": "virtualHosts/test1.example.com/vhostHttps", + "id": "virtualHosts/test1.example.com/vhostHttps", + "title": "vhostHttps", + "type": "trool", + "data": -1 + }, { + "default": 0, + "get": "virtualHosts/test1.example.com/vhostMaintenance", + "id": "virtualHosts/test1.example.com/vhostMaintenance", + "title": "vhostMaintenance", + "type": "bool", + "data": 0 + }, { + "get": "virtualHosts/test1.example.com/vhostAliases", + "id": "virtualHosts/test1.example.com/vhostAliases", + "title": "vhostAliases" + }] + }] + }, { + "id": "virtualHosts/test2.example.com", + "type": "virtualHost", + "title": "test2.example.com", + "template": "virtualHost", + "nodes": [{ + "default": [{ + "data": "deny", + "id": "virtualHosts/test2.example.com/locationRules/default", + "re": "default", + "title": "default", + "type": "rule" + }], + "id": "virtualHosts/test2.example.com/locationRules", + "title": "locationRules", + "type": "ruleContainer", + "nodes": [{ + "title": "^/logout", + "comment": "", + "type": "rule", + "id": "virtualHosts/test2.example.com/locationRules/1", + "data": "logout_sso", + "re": "^/logout" + }, { + "data": "accept", + "re": "default", + "title": "default", + "comment": "", + "id": "virtualHosts/test2.example.com/locationRules/2", + "type": "rule" + }] + }, { + "id": "virtualHosts/test2.example.com/exportedHeaders", + "title": "exportedHeaders", + "type": "keyTextContainer", + "nodes": [{ + "id": "virtualHosts/test2.example.com/exportedHeaders/1", + "type": "keyText", + "title": "Auth-User", + "data": "$uid" + }] + }, { + "id": "virtualHosts/test2.example.com/post", + "title": "post", + "type": "postContainer", + "nodes": [] + }, { + "id": "vhostOptions", + "title": "vhostOptions", + "nodes": [{ + "default": -1, + "get": "virtualHosts/test2.example.com/vhostPort", + "id": "virtualHosts/test2.example.com/vhostPort", + "title": "vhostPort", + "type": "int", + "data": -1 + }, { + "default": -1, + "get": "virtualHosts/test2.example.com/vhostHttps", + "id": "virtualHosts/test2.example.com/vhostHttps", + "title": "vhostHttps", + "type": "trool", + "data": -1 + }, { + "default": 0, + "get": "virtualHosts/test2.example.com/vhostMaintenance", + "id": "virtualHosts/test2.example.com/vhostMaintenance", + "title": "vhostMaintenance", + "type": "bool", + "data": 0 + }, { + "get": "virtualHosts/test2.example.com/vhostAliases", + "id": "virtualHosts/test2.example.com/vhostAliases", + "title": "vhostAliases" + }] + }] + }] +}, { + "id": "samlServiceMetaData", + "title": "samlServiceMetaData", + "nodes": [{ + "default": "#PORTAL#/saml/metadata", + "id": "samlEntityID", + "title": "samlEntityID", + "data": "#PORTAL#/saml/metadata" + }, { + "id": "samlServiceSecurity", + "title": "samlServiceSecurity", + "nodes": [{ + "id": "samlServiceSecuritySig", + "title": "samlServiceSecuritySig", + "nodes": [{ + "default": "", + "id": "samlServicePrivateKeySig", + "title": "samlServicePrivateKeySig", + "type": "file", + "data": "" + }, { + "default": "", + "id": "samlServicePrivateKeySigPwd", + "title": "samlServicePrivateKeySigPwd", + "data": "" + }, { + "default": "", + "id": "samlServicePublicKeySig", + "title": "samlServicePublicKeySig", + "type": "file", + "data": "" + }] + }, { + "id": "samlServiceSecurityEnc", + "title": "samlServiceSecurityEnc", + "nodes": [{ + "default": "", + "id": "samlServicePrivateKeyEnc", + "title": "samlServicePrivateKeyEnc", + "type": "file", + "data": "" + }, { + "id": "samlServicePrivateKeyEncPwd", + "title": "samlServicePrivateKeyEncPwd" + }, { + "default": "", + "id": "samlServicePublicKeyEnc", + "title": "samlServicePublicKeyEnc", + "type": "file", + "data": "" + }] + }] + }, { + "id": "samlNameIDFormatMap", + "title": "samlNameIDFormatMap", + "type": "simpleInputContainer", + "nodes": [{ + "default": "mail", + "id": "samlNameIDFormatMapEmail", + "title": "samlNameIDFormatMapEmail", + "data": "mail" + }, { + "default": "mail", + "id": "samlNameIDFormatMapX509", + "title": "samlNameIDFormatMapX509", + "data": "mail" + }, { + "default": "uid", + "id": "samlNameIDFormatMapWindows", + "title": "samlNameIDFormatMapWindows", + "data": "uid" + }, { + "default": "uid", + "id": "samlNameIDFormatMapKerberos", + "title": "samlNameIDFormatMapKerberos", + "data": "uid" + }] + }, { + "id": "samlAuthnContextMap", + "title": "samlAuthnContextMap", + "type": "simpleInputContainer", + "nodes": [{ + "default": 2, + "id": "samlAuthnContextMapPassword", + "title": "samlAuthnContextMapPassword", + "type": "int", + "data": 2 + }, { + "default": 3, + "id": "samlAuthnContextMapPasswordProtectedTransport", + "title": "samlAuthnContextMapPasswordProtectedTransport", + "type": "int", + "data": 3 + }, { + "default": 5, + "id": "samlAuthnContextMapTLSClient", + "title": "samlAuthnContextMapTLSClient", + "type": "int", + "data": 5 + }, { + "default": 4, + "id": "samlAuthnContextMapKerberos", + "title": "samlAuthnContextMapKerberos", + "type": "int", + "data": 4 + }] + }, { + "id": "samlOrganization", + "title": "samlOrganization", + "type": "simpleInputContainer", + "nodes": [{ + "default": "Example", + "id": "samlOrganizationDisplayName", + "title": "samlOrganizationDisplayName", + "data": "Example" + }, { + "default": "Example", + "id": "samlOrganizationName", + "title": "samlOrganizationName", + "data": "Example" + }, { + "default": "http://www.example.com", + "id": "samlOrganizationURL", + "title": "samlOrganizationURL", + "data": "http://www.example.com" + }] + }, { + "id": "samlSPSSODescriptor", + "title": "samlSPSSODescriptor", + "nodes": [{ + "default": 1, + "id": "samlSPSSODescriptorAuthnRequestsSigned", + "title": "samlSPSSODescriptorAuthnRequestsSigned", + "type": "bool", + "data": 1 + }, { + "default": 1, + "id": "samlSPSSODescriptorWantAssertionsSigned", + "title": "samlSPSSODescriptorWantAssertionsSigned", + "type": "bool", + "data": 1 + }, { + "id": "samlSPSSODescriptorSingleLogoutService", + "title": "samlSPSSODescriptorSingleLogoutService", + "nodes": [{ + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn", + "id": "samlSPSSODescriptorSingleLogoutServiceHTTPRedirect", + "title": "samlSPSSODescriptorSingleLogoutServiceHTTPRedirect", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", "#PORTAL#/saml/proxySingleLogout", "#PORTAL#/saml/proxySingleLogoutReturn"] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn", + "id": "samlSPSSODescriptorSingleLogoutServiceHTTPPost", + "title": "samlSPSSODescriptorSingleLogoutServiceHTTPPost", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", "#PORTAL#/saml/proxySingleLogout", "#PORTAL#/saml/proxySingleLogoutReturn"] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/proxySingleLogoutSOAP;", + "id": "samlSPSSODescriptorSingleLogoutServiceSOAP", + "title": "samlSPSSODescriptorSingleLogoutServiceSOAP", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:SOAP", "#PORTAL#/saml/proxySingleLogoutSOAP", ""] + }] + }, { + "id": "samlSPSSODescriptorAssertionConsumerService", + "title": "samlSPSSODescriptorAssertionConsumerService", + "nodes": [{ + "default": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/proxySingleSignOnArtifact", + "id": "samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact", + "title": "samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact", + "type": "samlAssertion", + "data": ["1", "0", "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", "#PORTAL#/saml/proxySingleSignOnArtifact"] + }, { + "default": "0;1;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleSignOnPost", + "id": "samlSPSSODescriptorAssertionConsumerServiceHTTPPost", + "title": "samlSPSSODescriptorAssertionConsumerServiceHTTPPost", + "type": "samlAssertion", + "data": ["0", "1", "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", "#PORTAL#/saml/proxySingleSignOnPost"] + }] + }, { + "id": "samlSPSSODescriptorArtifactResolutionService", + "title": "samlSPSSODescriptorArtifactResolutionService", + "nodes": [{ + "default": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact", + "id": "samlSPSSODescriptorArtifactResolutionServiceArtifact", + "title": "samlSPSSODescriptorArtifactResolutionServiceArtifact", + "type": "samlAssertion", + "data": ["1", "0", "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", "#PORTAL#/saml/artifact"] + }] + }] + }, { + "id": "samlIDPSSODescriptor", + "title": "samlIDPSSODescriptor", + "nodes": [{ + "default": 1, + "id": "samlIDPSSODescriptorWantAuthnRequestsSigned", + "title": "samlIDPSSODescriptorWantAuthnRequestsSigned", + "type": "bool", + "data": 1 + }, { + "id": "samlIDPSSODescriptorSingleSignOnService", + "title": "samlIDPSSODescriptorSingleSignOnService", + "nodes": [{ + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleSignOn;", + "id": "samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect", + "title": "samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", "#PORTAL#/saml/singleSignOn", ""] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleSignOn;", + "id": "samlIDPSSODescriptorSingleSignOnServiceHTTPPost", + "title": "samlIDPSSODescriptorSingleSignOnServiceHTTPPost", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", "#PORTAL#/saml/singleSignOn", ""] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/singleSignOnArtifact;", + "id": "samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact", + "title": "samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact", "#PORTAL#/saml/singleSignOnArtifact", ""] + }] + }, { + "id": "samlIDPSSODescriptorSingleLogoutService", + "title": "samlIDPSSODescriptorSingleLogoutService", + "nodes": [{ + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn", + "id": "samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect", + "title": "samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", "#PORTAL#/saml/singleLogout", "#PORTAL#/saml/singleLogoutReturn"] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn", + "id": "samlIDPSSODescriptorSingleLogoutServiceHTTPPost", + "title": "samlIDPSSODescriptorSingleLogoutServiceHTTPPost", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", "#PORTAL#/saml/singleLogout", "#PORTAL#/saml/singleLogoutReturn"] + }, { + "default": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/singleLogoutSOAP;", + "id": "samlIDPSSODescriptorSingleLogoutServiceSOAP", + "title": "samlIDPSSODescriptorSingleLogoutServiceSOAP", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:SOAP", "#PORTAL#/saml/singleLogoutSOAP", ""] + }] + }, { + "id": "samlIDPSSODescriptorArtifactResolutionService", + "title": "samlIDPSSODescriptorArtifactResolutionService", + "nodes": [{ + "default": "1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact", + "id": "samlIDPSSODescriptorArtifactResolutionServiceArtifact", + "title": "samlIDPSSODescriptorArtifactResolutionServiceArtifact", + "type": "samlAssertion", + "data": ["1", "0", "urn:oasis:names:tc:SAML:2.0:bindings:SOAP", "#PORTAL#/saml/artifact"] + }] + }] + }, { + "id": "samlAttributeAuthorityDescriptor", + "title": "samlAttributeAuthorityDescriptor", + "nodes": [{ + "id": "samlAttributeAuthorityDescriptorAttributeService", + "title": "samlAttributeAuthorityDescriptorAttributeService", + "nodes": [{ + "default": "urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/AA/SOAP;", + "id": "samlAttributeAuthorityDescriptorAttributeServiceSOAP", + "title": "samlAttributeAuthorityDescriptorAttributeServiceSOAP", + "type": "samlService", + "data": ["urn:oasis:names:tc:SAML:2.0:bindings:SOAP", "#PORTAL#/saml/AA/SOAP", ""] + }] + }] + }, { + "id": "samlAdvanced", + "title": "samlAdvanced", + "nodes": [{ + "default": "lemonldapidp", + "id": "samlIdPResolveCookie", + "title": "samlIdPResolveCookie", + "data": "lemonldapidp" + }, { + "default": 1, + "id": "samlMetadataForceUTF8", + "title": "samlMetadataForceUTF8", + "type": "bool", + "data": 1 + }, { + "id": "samlStorage", + "title": "samlStorage" + }, { + "id": "samlStorageOptions", + "title": "samlStorageOptions", + "type": "keyTextContainer", + "nodes": [] + }, { + "default": 600, + "id": "samlRelayStateTimeout", + "title": "samlRelayStateTimeout", + "type": "int", + "data": 600 + }, { + "default": 0, + "id": "samlUseQueryStringSpecific", + "title": "samlUseQueryStringSpecific", + "type": "bool", + "data": 0 + }, { + "id": "samlCommonDomainCookie", + "title": "samlCommonDomainCookie", + "type": "simpleInputContainer", + "nodes": [{ + "default": 0, + "id": "samlCommonDomainCookieActivation", + "title": "samlCommonDomainCookieActivation", + "type": "bool", + "data": 0 + }, { + "id": "samlCommonDomainCookieDomain", + "title": "samlCommonDomainCookieDomain" + }, { + "id": "samlCommonDomainCookieReader", + "title": "samlCommonDomainCookieReader" + }, { + "id": "samlCommonDomainCookieWriter", + "title": "samlCommonDomainCookieWriter" + }] + }] + }] +}, { + "id": "samlIDPMetaDataNodes", + "template": "samlIDPMetaDataNode", + "title": "samlIDPMetaDataNodes", + "type": "samlIDPMetaDataNodeContainer", + "nodes": [] +}, { + "id": "samlSPMetaDataNodes", + "template": "samlSPMetaDataNode", + "title": "samlSPMetaDataNodes", + "type": "samlSPMetaDataNodeContainer", + "nodes": [] +}, { + "id": "cfgLog", + "title": "cfgLog", + "data": "Log" +}]