|
|
|
@ -25,20 +25,16 @@ our $VERSION = '2.0.0'; |
|
|
|
|
# * redirectFormMethod |
|
|
|
|
sub tree { |
|
|
|
|
return [ |
|
|
|
|
{ |
|
|
|
|
title => 'generalParameters', |
|
|
|
|
{ title => 'generalParameters', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'portalParams', |
|
|
|
|
{ title => 'portalParams', |
|
|
|
|
help => 'portal.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'*portal', |
|
|
|
|
{ |
|
|
|
|
title => 'portalMenu', |
|
|
|
|
{ title => 'portalMenu', |
|
|
|
|
help => 'portalmenu.html', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'portalModules', |
|
|
|
|
{ title => 'portalModules', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'portalDisplayLogout', |
|
|
|
@ -51,8 +47,7 @@ sub tree { |
|
|
|
|
'applicationList' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'portalCustomization', |
|
|
|
|
{ title => 'portalCustomization', |
|
|
|
|
help => 'portalcustom.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'portalMainLogo', |
|
|
|
@ -60,8 +55,7 @@ sub tree { |
|
|
|
|
'portalSkin', |
|
|
|
|
'portalSkinBackground', |
|
|
|
|
'portalSkinRules', |
|
|
|
|
{ |
|
|
|
|
title => 'portalButtons', |
|
|
|
|
{ title => 'portalButtons', |
|
|
|
|
help => 'portalcustom.html#buttons', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -71,10 +65,9 @@ sub tree { |
|
|
|
|
'portalDisplayRegister' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'passwordManagement', |
|
|
|
|
{ title => 'passwordManagement', |
|
|
|
|
help => |
|
|
|
|
'portalcustom.html#password_management', |
|
|
|
|
'portalcustom.html#password_management', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'portalRequireOldPassword', |
|
|
|
@ -82,10 +75,9 @@ sub tree { |
|
|
|
|
'mailOnPasswordChange' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'portalOther', |
|
|
|
|
{ title => 'portalOther', |
|
|
|
|
help => |
|
|
|
|
'portalcustom.html#other_parameters', |
|
|
|
|
'portalcustom.html#other_parameters', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'portalUserAttr', |
|
|
|
@ -98,8 +90,7 @@ sub tree { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'portalCaptcha', |
|
|
|
|
{ title => 'portalCaptcha', |
|
|
|
|
help => 'captcha.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -111,49 +102,43 @@ sub tree { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'authParams', |
|
|
|
|
{ title => 'authParams', |
|
|
|
|
help => |
|
|
|
|
'start.html#authentication_users_and_password_databases', |
|
|
|
|
'start.html#authentication_users_and_password_databases', |
|
|
|
|
form => 'authParams', |
|
|
|
|
nodes => [ |
|
|
|
|
'authentication', 'userDB', 'passwordDB', 'registerDB' |
|
|
|
|
'authentication', 'userDB', |
|
|
|
|
'passwordDB', 'registerDB' |
|
|
|
|
], |
|
|
|
|
nodes_cond => [ |
|
|
|
|
{ |
|
|
|
|
title => 'adParams', |
|
|
|
|
{ title => 'adParams', |
|
|
|
|
help => 'authad.html', |
|
|
|
|
nodes => [ 'ADPwdMaxAge', 'ADPwdExpireWarning' ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'choiceParams', |
|
|
|
|
{ title => 'choiceParams', |
|
|
|
|
help => 'authchoice.html', |
|
|
|
|
nodes => [ 'authChoiceParam', 'authChoiceModules' ] |
|
|
|
|
nodes => |
|
|
|
|
[ 'authChoiceParam', 'authChoiceModules' ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'apacheParams', |
|
|
|
|
{ title => 'apacheParams', |
|
|
|
|
help => 'authapache.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => ['apacheAuthnLevel'] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'casParams', |
|
|
|
|
{ title => 'casParams', |
|
|
|
|
help => 'authcas.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => ['casAuthnLevel'] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'dbiParams', |
|
|
|
|
{ title => 'dbiParams', |
|
|
|
|
help => 'authdbi.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'dbiAuthnLevel', |
|
|
|
|
'dbiExportedVars', |
|
|
|
|
{ |
|
|
|
|
title => 'dbiConnection', |
|
|
|
|
{ title => 'dbiConnection', |
|
|
|
|
help => 'authdbi.html#connection', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'dbiConnectionAuth', |
|
|
|
|
{ title => 'dbiConnectionAuth', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'dbiAuthChain', |
|
|
|
@ -161,8 +146,7 @@ sub tree { |
|
|
|
|
'dbiAuthPassword' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'dbiConnectionUser', |
|
|
|
|
{ title => 'dbiConnectionUser', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'dbiUserChain', |
|
|
|
@ -172,8 +156,7 @@ sub tree { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'dbiSchema', |
|
|
|
|
{ title => 'dbiSchema', |
|
|
|
|
help => 'authdbi.html#schema', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -185,56 +168,51 @@ sub tree { |
|
|
|
|
'userPivot' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'dbiPassword', |
|
|
|
|
{ title => 'dbiPassword', |
|
|
|
|
help => 'authdbi.html#password', |
|
|
|
|
nodes => [ |
|
|
|
|
'dbiAuthPasswordHash', |
|
|
|
|
{ |
|
|
|
|
title => 'dbiDynamicHash', |
|
|
|
|
{ title => 'dbiDynamicHash', |
|
|
|
|
help => 'authdbi.html#password', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'dbiDynamicHashEnabled', |
|
|
|
|
'dbiDynamicHashValidSchemes', |
|
|
|
|
'dbiDynamicHashValidSaltedSchemes', |
|
|
|
|
'dbiDynamicHashNewPasswordScheme' |
|
|
|
|
'dbiDynamicHashValidSaltedSchemes', |
|
|
|
|
'dbiDynamicHashNewPasswordScheme' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'demoParams', |
|
|
|
|
{ title => 'demoParams', |
|
|
|
|
help => 'authdemo.html', |
|
|
|
|
nodes => ['demoExportedVars'] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'facebookParams', |
|
|
|
|
{ title => 'facebookParams', |
|
|
|
|
help => 'authfacebook.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'facebookAuthnLevel', 'facebookExportedVars', |
|
|
|
|
'facebookAppId', 'facebookAppSecret', |
|
|
|
|
'facebookAuthnLevel', |
|
|
|
|
'facebookExportedVars', |
|
|
|
|
'facebookAppId', |
|
|
|
|
'facebookAppSecret', |
|
|
|
|
'facebookUserField' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'kerberosParams', |
|
|
|
|
{ title => 'kerberosParams', |
|
|
|
|
help => 'authkerberos.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'krbKeytab', 'krbByJs', |
|
|
|
|
'krbAuthnLevel', 'krbRemoveDomain' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'ldapParams', |
|
|
|
|
{ title => 'ldapParams', |
|
|
|
|
help => 'authldap.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'ldapAuthnLevel', |
|
|
|
|
'ldapExportedVars', |
|
|
|
|
{ |
|
|
|
|
title => 'ldapConnection', |
|
|
|
|
{ title => 'ldapConnection', |
|
|
|
|
help => 'authldap.html#connection', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -244,8 +222,7 @@ sub tree { |
|
|
|
|
'ldapVersion', 'ldapRaw' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'ldapFilters', |
|
|
|
|
{ title => 'ldapFilters', |
|
|
|
|
help => 'authldap.html#filters', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -253,8 +230,7 @@ sub tree { |
|
|
|
|
'mailLDAPFilter', 'ldapSearchDeref', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'ldapGroups', |
|
|
|
|
{ title => 'ldapGroups', |
|
|
|
|
help => 'authldap.html#groups', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -267,8 +243,7 @@ sub tree { |
|
|
|
|
'ldapGroupAttributeNameGroup' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'ldapPassword', |
|
|
|
|
{ title => 'ldapPassword', |
|
|
|
|
help => 'authldap.html#password', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -284,8 +259,7 @@ sub tree { |
|
|
|
|
}, |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'linkedinParams', |
|
|
|
|
{ title => 'linkedinParams', |
|
|
|
|
help => 'authlinkedin.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -294,27 +268,23 @@ sub tree { |
|
|
|
|
'linkedInUserField', 'linkedInScope' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'combinationParams', |
|
|
|
|
{ title => 'combinationParams', |
|
|
|
|
help => 'authcombination.html', |
|
|
|
|
nodes => [ 'combination', 'combModules' ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'nullParams', |
|
|
|
|
{ title => 'nullParams', |
|
|
|
|
help => 'authnull.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => ['nullAuthnLevel'] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'openidParams', |
|
|
|
|
{ title => 'openidParams', |
|
|
|
|
help => 'authopenid.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'openIdAuthnLevel', 'openIdExportedVars', |
|
|
|
|
'openIdSecret', 'openIdIDPList' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'oidcParams', |
|
|
|
|
{ title => 'oidcParams', |
|
|
|
|
help => 'authopenidconnect.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -323,8 +293,7 @@ sub tree { |
|
|
|
|
'oidcRPStateTimeout' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'proxyParams', |
|
|
|
|
{ title => 'proxyParams', |
|
|
|
|
help => 'authproxy.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -333,14 +302,12 @@ sub tree { |
|
|
|
|
'proxyUseSoap' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'pamParams', |
|
|
|
|
{ title => 'pamParams', |
|
|
|
|
help => 'authpam.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ 'pamService', 'pamAuthnLevel', ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'radiusParams', |
|
|
|
|
{ title => 'radiusParams', |
|
|
|
|
help => 'authradius.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -348,8 +315,7 @@ sub tree { |
|
|
|
|
'radiusServer' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'restParams', |
|
|
|
|
{ title => 'restParams', |
|
|
|
|
help => 'authrest.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -357,8 +323,7 @@ sub tree { |
|
|
|
|
'restPwdConfirmUrl', 'restPwdModifyUrl' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'remoteParams', |
|
|
|
|
{ title => 'remoteParams', |
|
|
|
|
help => 'authremote.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'remotePortal', |
|
|
|
@ -367,8 +332,7 @@ sub tree { |
|
|
|
|
'remoteGlobalStorageOptions' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'slaveParams', |
|
|
|
|
{ title => 'slaveParams', |
|
|
|
|
help => 'authslave.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'slaveAuthnLevel', 'slaveExportedVars', |
|
|
|
@ -376,8 +340,7 @@ sub tree { |
|
|
|
|
'slaveHeaderName', 'slaveHeaderContent' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'sslParams', |
|
|
|
|
{ title => 'sslParams', |
|
|
|
|
help => 'authssl.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'SSLAuthnLevel', 'SSLVar', |
|
|
|
@ -385,8 +348,7 @@ sub tree { |
|
|
|
|
'sslHost', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'twitterParams', |
|
|
|
|
{ title => 'twitterParams', |
|
|
|
|
help => 'authtwitter.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -395,16 +357,14 @@ sub tree { |
|
|
|
|
'twitterUserField' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'webidParams', |
|
|
|
|
{ title => 'webidParams', |
|
|
|
|
help => 'authwebid.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'webIDAuthnLevel', 'webIDExportedVars', |
|
|
|
|
'webIDWhitelist' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'customParams', |
|
|
|
|
{ title => 'customParams', |
|
|
|
|
help => 'authcustom.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'customAuth', 'customUserDB', |
|
|
|
@ -415,21 +375,19 @@ sub tree { |
|
|
|
|
], |
|
|
|
|
'nodes_filter' => 'authParams' |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'issuerParams', |
|
|
|
|
{ title => 'issuerParams', |
|
|
|
|
help => 'start.html#identity_provider', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBSAML', |
|
|
|
|
{ title => 'issuerDBSAML', |
|
|
|
|
help => 'idpsaml.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'issuerDBSAMLActivation', 'issuerDBSAMLPath', |
|
|
|
|
'issuerDBSAMLActivation', |
|
|
|
|
'issuerDBSAMLPath', |
|
|
|
|
'issuerDBSAMLRule' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBCAS', |
|
|
|
|
{ title => 'issuerDBCAS', |
|
|
|
|
help => 'idpcas.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -437,21 +395,18 @@ sub tree { |
|
|
|
|
'issuerDBCASRule', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBOpenID', |
|
|
|
|
{ title => 'issuerDBOpenID', |
|
|
|
|
help => 'idpopenid.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'issuerDBOpenIDActivation', |
|
|
|
|
'issuerDBOpenIDPath', |
|
|
|
|
'issuerDBOpenIDRule', |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBOpenIDOptions', |
|
|
|
|
{ title => 'issuerDBOpenIDOptions', |
|
|
|
|
nodes => [ |
|
|
|
|
'openIdIssuerSecret', |
|
|
|
|
'openIdAttr', |
|
|
|
|
'openIdSPList', |
|
|
|
|
{ |
|
|
|
|
title => 'openIdSreg', |
|
|
|
|
{ title => 'openIdSreg', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'openIdSreg_fullname', |
|
|
|
@ -469,8 +424,7 @@ sub tree { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBOpenIDConnect', |
|
|
|
|
{ title => 'issuerDBOpenIDConnect', |
|
|
|
|
help => 'idpopenidconnect.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -479,8 +433,7 @@ sub tree { |
|
|
|
|
'issuerDBOpenIDConnectRule', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'issuerDBGet', |
|
|
|
|
{ title => 'issuerDBGet', |
|
|
|
|
help => 'issuerdbget.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'issuerDBGetActivation', |
|
|
|
@ -491,15 +444,15 @@ sub tree { |
|
|
|
|
}, |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'logParams', |
|
|
|
|
{ title => 'logParams', |
|
|
|
|
help => 'logs.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => |
|
|
|
|
[ 'trustedProxies', 'whatToTrace', 'hiddenAttributes' ] |
|
|
|
|
nodes => [ |
|
|
|
|
'trustedProxies', 'whatToTrace', |
|
|
|
|
'hiddenAttributes' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'cookieParams', |
|
|
|
|
{ title => 'cookieParams', |
|
|
|
|
help => 'ssocookie.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -508,8 +461,7 @@ sub tree { |
|
|
|
|
'httpOnly', 'cookieExpiration' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'sessionParams', |
|
|
|
|
{ title => 'sessionParams', |
|
|
|
|
help => 'sessions.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'storePassword', |
|
|
|
@ -517,8 +469,7 @@ sub tree { |
|
|
|
|
'timeoutActivity', |
|
|
|
|
'timeoutActivityInterval', |
|
|
|
|
'grantSessionRules', |
|
|
|
|
{ |
|
|
|
|
title => 'sessionStorage', |
|
|
|
|
{ title => 'sessionStorage', |
|
|
|
|
help => 'start.html#sessions_database', |
|
|
|
|
nodes => [ |
|
|
|
|
'globalStorage', |
|
|
|
@ -527,8 +478,7 @@ sub tree { |
|
|
|
|
'localSessionStorageOptions' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'multipleSessions', |
|
|
|
|
{ title => 'multipleSessions', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'singleSession', 'singleIP', |
|
|
|
@ -536,37 +486,33 @@ sub tree { |
|
|
|
|
'notifyDeleted', 'notifyOther' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'persistentSessions', |
|
|
|
|
{ title => 'persistentSessions', |
|
|
|
|
nodes => [ |
|
|
|
|
'persistentStorage', 'persistentStorageOptions' |
|
|
|
|
'persistentStorage', |
|
|
|
|
'persistentStorageOptions' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'reloadParams', |
|
|
|
|
{ title => 'reloadParams', |
|
|
|
|
help => 'configlocation.html#configuration_reload', |
|
|
|
|
nodes => [ 'reloadUrls', 'reloadTimeout', ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'plugins', |
|
|
|
|
{ title => 'plugins', |
|
|
|
|
help => 'start.html#plugins', |
|
|
|
|
nodes => [ |
|
|
|
|
'stayConnected', |
|
|
|
|
'portalStatus', |
|
|
|
|
{ |
|
|
|
|
title => 'portalServers', |
|
|
|
|
{ title => 'portalServers', |
|
|
|
|
help => 'portalservers.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'restSessionServer', 'restConfigServer', |
|
|
|
|
'soapSessionServer', 'soapConfigServer', |
|
|
|
|
'exportedAttr', 'wsdlServer', |
|
|
|
|
'wsdlServer', 'restSessionServer', |
|
|
|
|
'restConfigServer', 'soapSessionServer', |
|
|
|
|
'soapConfigServer', 'exportedAttr' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'loginHistory', |
|
|
|
|
{ title => 'loginHistory', |
|
|
|
|
help => 'loginhistory.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'loginHistoryEnabled', |
|
|
|
@ -575,8 +521,7 @@ sub tree { |
|
|
|
|
'sessionDataToRemember' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'notifications', |
|
|
|
|
{ title => 'notifications', |
|
|
|
|
help => 'notifications.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'notification', |
|
|
|
@ -588,28 +533,24 @@ sub tree { |
|
|
|
|
'notificationXSLTfile' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'passwordManagement', |
|
|
|
|
{ title => 'passwordManagement', |
|
|
|
|
help => 'resetpassword.html', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'SMTP', |
|
|
|
|
{ title => 'SMTP', |
|
|
|
|
nodes => [ |
|
|
|
|
'SMTPServer', 'SMTPPort', |
|
|
|
|
'SMTPAuthUser', 'SMTPAuthPass', |
|
|
|
|
'SMTPTLS', 'SMTPTLSOpts', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'mailHeaders', |
|
|
|
|
{ title => 'mailHeaders', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'mailFrom', 'mailReplyTo', |
|
|
|
|
'mailCharset' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'mailContent', |
|
|
|
|
{ title => 'mailContent', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'mailSubject', |
|
|
|
@ -618,18 +559,18 @@ sub tree { |
|
|
|
|
'mailConfirmBody' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'mailOther', |
|
|
|
|
{ title => 'mailOther', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'mailUrl', 'randomPasswordRegexp', |
|
|
|
|
'mailTimeout', 'mailSessionKey' |
|
|
|
|
'mailUrl', |
|
|
|
|
'randomPasswordRegexp', |
|
|
|
|
'mailTimeout', |
|
|
|
|
'mailSessionKey' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'register', |
|
|
|
|
{ title => 'register', |
|
|
|
|
help => 'register.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -640,32 +581,27 @@ sub tree { |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
'upgradeSession', |
|
|
|
|
{ |
|
|
|
|
title => 'autoSignin', |
|
|
|
|
{ title => 'autoSignin', |
|
|
|
|
help => 'autosignin.html', |
|
|
|
|
nodes => ['autoSigninRules'], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'stateCheck', |
|
|
|
|
{ title => 'stateCheck', |
|
|
|
|
help => 'checkstate.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ 'checkState', 'checkStateSecret', ], |
|
|
|
|
}, |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'secondFactors', |
|
|
|
|
{ title => 'secondFactors', |
|
|
|
|
help => 'secondfactor.html', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'utotp2f', |
|
|
|
|
{ title => 'utotp2f', |
|
|
|
|
help => 'utotp2f.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => |
|
|
|
|
[ 'utotp2fActivation', 'utotp2fAuthnLevel' ] |
|
|
|
|
[ 'utotp2fActivation', 'utotp2fAuthnLevel' ] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'totp', |
|
|
|
|
{ title => 'totp', |
|
|
|
|
help => 'totp2f.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -681,8 +617,7 @@ sub tree { |
|
|
|
|
'totp2fUserCanRemoveKey', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'u2f', |
|
|
|
|
{ title => 'u2f', |
|
|
|
|
help => 'u2f.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -690,8 +625,7 @@ sub tree { |
|
|
|
|
'u2fAuthnLevel', 'u2fUserCanRemoveKey', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'external2f', |
|
|
|
|
{ title => 'external2f', |
|
|
|
|
help => 'external2f.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -700,8 +634,7 @@ sub tree { |
|
|
|
|
'ext2fLogo', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'rest2f', |
|
|
|
|
{ title => 'rest2f', |
|
|
|
|
help => 'rest2f.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'rest2fActivation', 'rest2fInitUrl', |
|
|
|
@ -710,8 +643,7 @@ sub tree { |
|
|
|
|
'rest2fLogo', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'yubikey2f', |
|
|
|
|
{ title => 'yubikey2f', |
|
|
|
|
help => 'yubikey2f.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -729,14 +661,13 @@ sub tree { |
|
|
|
|
'sfRequired', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'advancedParams', |
|
|
|
|
{ title => 'advancedParams', |
|
|
|
|
help => 'start.html#advanced_features', |
|
|
|
|
nodes => [ |
|
|
|
|
'customFunctions', |
|
|
|
|
{ |
|
|
|
|
title => 'security', |
|
|
|
|
help => 'security.html#configure_security_settings', |
|
|
|
|
{ title => 'security', |
|
|
|
|
help => |
|
|
|
|
'security.html#configure_security_settings', |
|
|
|
|
nodes => [ |
|
|
|
|
'userControl', |
|
|
|
|
'portalForceAuthn', |
|
|
|
@ -748,8 +679,7 @@ sub tree { |
|
|
|
|
'bruteForceProtection', |
|
|
|
|
'lwpOpts', |
|
|
|
|
'lwpSslOpts', |
|
|
|
|
{ |
|
|
|
|
title => 'contentSecurityPolicy', |
|
|
|
|
{ title => 'contentSecurityPolicy', |
|
|
|
|
help => 'security.html#portal', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -764,8 +694,7 @@ sub tree { |
|
|
|
|
'tokenUseGlobalStorage', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'redirection', |
|
|
|
|
{ title => 'redirection', |
|
|
|
|
help => 'redirections.html', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -776,8 +705,7 @@ sub tree { |
|
|
|
|
'maintenance' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'portalRedirection', |
|
|
|
|
{ title => 'portalRedirection', |
|
|
|
|
help => 'redirections.html#portal_redirections', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -788,8 +716,7 @@ sub tree { |
|
|
|
|
'nginxCustomHandlers', |
|
|
|
|
'logoutServices', |
|
|
|
|
'multiValuesSeparator', |
|
|
|
|
{ |
|
|
|
|
title => 'forms', |
|
|
|
|
{ title => 'forms', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'infoFormMethod', 'confirmFormMethod', |
|
|
|
@ -800,23 +727,19 @@ sub tree { |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'variables', |
|
|
|
|
{ title => 'variables', |
|
|
|
|
help => 'variables.html', |
|
|
|
|
nodes => [ 'exportedVars', 'macros', 'groups' ] |
|
|
|
|
}, |
|
|
|
|
'virtualHosts', |
|
|
|
|
{ |
|
|
|
|
title => 'samlServiceMetaData', |
|
|
|
|
{ title => 'samlServiceMetaData', |
|
|
|
|
help => 'samlservice.html', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlEntityID', |
|
|
|
|
{ |
|
|
|
|
title => 'samlServiceSecurity', |
|
|
|
|
{ title => 'samlServiceSecurity', |
|
|
|
|
help => 'samlservice.html#security_parameters', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'samlServiceSecuritySig', |
|
|
|
|
{ title => 'samlServiceSecuritySig', |
|
|
|
|
form => 'RSAKey', |
|
|
|
|
group => [ |
|
|
|
|
'samlServicePrivateKeySig', |
|
|
|
@ -824,8 +747,7 @@ sub tree { |
|
|
|
|
'samlServicePublicKeySig' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlServiceSecurityEnc', |
|
|
|
|
{ title => 'samlServiceSecurityEnc', |
|
|
|
|
form => 'RSAKey', |
|
|
|
|
group => [ |
|
|
|
|
'samlServicePrivateKeyEnc', |
|
|
|
@ -837,8 +759,7 @@ sub tree { |
|
|
|
|
'samlServiceSignatureMethod' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlNameIDFormatMap', |
|
|
|
|
{ title => 'samlNameIDFormatMap', |
|
|
|
|
help => 'samlservice.html#nameid_formats', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -848,8 +769,7 @@ sub tree { |
|
|
|
|
'samlNameIDFormatMapKerberos' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlAuthnContextMap', |
|
|
|
|
{ title => 'samlAuthnContextMap', |
|
|
|
|
help => 'samlservice.html#authentication_contexts', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
@ -859,91 +779,82 @@ sub tree { |
|
|
|
|
'samlAuthnContextMapKerberos' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlOrganization', |
|
|
|
|
{ title => 'samlOrganization', |
|
|
|
|
help => 'samlservice.html#organization', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlOrganizationDisplayName', 'samlOrganizationName', |
|
|
|
|
'samlOrganizationDisplayName', |
|
|
|
|
'samlOrganizationName', |
|
|
|
|
'samlOrganizationURL' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlSPSSODescriptor', |
|
|
|
|
{ title => 'samlSPSSODescriptor', |
|
|
|
|
help => 'samlservice.html#service_provider', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlSPSSODescriptorAuthnRequestsSigned', |
|
|
|
|
'samlSPSSODescriptorWantAssertionsSigned', |
|
|
|
|
{ |
|
|
|
|
title => 'samlSPSSODescriptorSingleLogoutService', |
|
|
|
|
{ title => 'samlSPSSODescriptorSingleLogoutService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlSPSSODescriptorSingleLogoutServiceHTTPRedirect', |
|
|
|
|
'samlSPSSODescriptorSingleLogoutServiceHTTPPost', |
|
|
|
|
'samlSPSSODescriptorSingleLogoutServiceHTTPRedirect', |
|
|
|
|
'samlSPSSODescriptorSingleLogoutServiceHTTPPost', |
|
|
|
|
'samlSPSSODescriptorSingleLogoutServiceSOAP' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerService', |
|
|
|
|
{ title => |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact', |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerServiceHTTPPost' |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact', |
|
|
|
|
'samlSPSSODescriptorAssertionConsumerServiceHTTPPost' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => |
|
|
|
|
'samlSPSSODescriptorArtifactResolutionService', |
|
|
|
|
{ title => |
|
|
|
|
'samlSPSSODescriptorArtifactResolutionService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlSPSSODescriptorArtifactResolutionServiceArtifact' |
|
|
|
|
'samlSPSSODescriptorArtifactResolutionServiceArtifact' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlIDPSSODescriptor', |
|
|
|
|
{ title => 'samlIDPSSODescriptor', |
|
|
|
|
help => 'samlservice.html#identity_provider', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlIDPSSODescriptorWantAuthnRequestsSigned', |
|
|
|
|
{ |
|
|
|
|
title => 'samlIDPSSODescriptorSingleSignOnService', |
|
|
|
|
{ title => |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect', |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPPost', |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact', |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect', |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPPost', |
|
|
|
|
'samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact', |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlIDPSSODescriptorSingleLogoutService', |
|
|
|
|
{ title => |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect', |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutServiceHTTPPost', |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect', |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutServiceHTTPPost', |
|
|
|
|
'samlIDPSSODescriptorSingleLogoutServiceSOAP' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => |
|
|
|
|
'samlIDPSSODescriptorArtifactResolutionService', |
|
|
|
|
{ title => |
|
|
|
|
'samlIDPSSODescriptorArtifactResolutionService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlIDPSSODescriptorArtifactResolutionServiceArtifact' |
|
|
|
|
'samlIDPSSODescriptorArtifactResolutionServiceArtifact' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlAttributeAuthorityDescriptor', |
|
|
|
|
{ title => 'samlAttributeAuthorityDescriptor', |
|
|
|
|
help => 'samlservice.html#attribute_authority', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => |
|
|
|
|
'samlAttributeAuthorityDescriptorAttributeService', |
|
|
|
|
{ title => |
|
|
|
|
'samlAttributeAuthorityDescriptorAttributeService', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlAttributeAuthorityDescriptorAttributeServiceSOAP' |
|
|
|
|
'samlAttributeAuthorityDescriptorAttributeServiceSOAP' |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlAdvanced', |
|
|
|
|
{ title => 'samlAdvanced', |
|
|
|
|
help => 'samlservice.html#advanced', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlIdPResolveCookie', |
|
|
|
@ -952,8 +863,7 @@ sub tree { |
|
|
|
|
'samlStorageOptions', |
|
|
|
|
'samlRelayStateTimeout', |
|
|
|
|
'samlUseQueryStringSpecific', |
|
|
|
|
{ |
|
|
|
|
title => 'samlCommonDomainCookie', |
|
|
|
|
{ title => 'samlCommonDomainCookie', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlCommonDomainCookieActivation', |
|
|
|
@ -962,8 +872,7 @@ sub tree { |
|
|
|
|
'samlCommonDomainCookieWriter' |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => 'samlDiscoveryProtocol', |
|
|
|
|
{ title => 'samlDiscoveryProtocol', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'samlDiscoveryProtocolActivation', |
|
|
|
@ -978,13 +887,11 @@ sub tree { |
|
|
|
|
}, |
|
|
|
|
'samlIDPMetaDataNodes', |
|
|
|
|
'samlSPMetaDataNodes', |
|
|
|
|
{ |
|
|
|
|
title => 'oidcServiceMetaData', |
|
|
|
|
{ title => 'oidcServiceMetaData', |
|
|
|
|
help => 'openidconnectservice.html#service_configuration', |
|
|
|
|
nodes => [ |
|
|
|
|
'oidcServiceMetaDataIssuer', |
|
|
|
|
{ |
|
|
|
|
title => 'oidcServiceMetaDataEndPoints', |
|
|
|
|
{ title => 'oidcServiceMetaDataEndPoints', |
|
|
|
|
form => 'simpleInputContainer', |
|
|
|
|
nodes => [ |
|
|
|
|
'oidcServiceMetaDataAuthorizeURI', |
|
|
|
@ -999,11 +906,9 @@ sub tree { |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
'oidcServiceMetaDataAuthnContext', |
|
|
|
|
{ |
|
|
|
|
title => 'oidcServiceMetaDataSecurity', |
|
|
|
|
{ title => 'oidcServiceMetaDataSecurity', |
|
|
|
|
nodes => [ |
|
|
|
|
{ |
|
|
|
|
title => 'oidcServiceMetaDataKeys', |
|
|
|
|
{ title => 'oidcServiceMetaDataKeys', |
|
|
|
|
form => 'RSAKeyNoPassword', |
|
|
|
|
group => [ |
|
|
|
|
'oidcServicePrivateKeySig', |
|
|
|
@ -1017,16 +922,14 @@ sub tree { |
|
|
|
|
'oidcServiceAllowHybridFlow', |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title => "oidcServiceMetaDataSessions", |
|
|
|
|
{ title => "oidcServiceMetaDataSessions", |
|
|
|
|
nodes => [ 'oidcStorage', 'oidcStorageOptions', ], |
|
|
|
|
}, |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
'oidcOPMetaDataNodes', |
|
|
|
|
'oidcRPMetaDataNodes', |
|
|
|
|
{ |
|
|
|
|
title => 'casServiceMetadata', |
|
|
|
|
{ title => 'casServiceMetadata', |
|
|
|
|
nodes => [ |
|
|
|
|
'casAttr', |
|
|
|
|
'casAttributes', |
|
|
|
|