Append conf parameters (#1851)
This commit is contained in:
parent
3082168617
commit
ecb3204d38
|
@ -24,7 +24,7 @@ use constant MANAGERSECTION => "manager";
|
||||||
use constant SESSIONSEXPLORERSECTION => "sessionsExplorer";
|
use constant SESSIONSEXPLORERSECTION => "sessionsExplorer";
|
||||||
use constant APPLYSECTION => "apply";
|
use constant APPLYSECTION => "apply";
|
||||||
our $hashParameters = qr/^(?:(?:l(?:o(?:ca(?:lSessionStorageOption|tionRule)|goutService)|dapExportedVar|wp(?:Ssl)?Opt)|(?:(?:d(?:emo|bi)|facebook|webID)ExportedVa|exported(?:Heade|Va)|issuerDBGetParamete)r|re(?:moteGlobalStorageOption|st2f(?:Verify|Init)Arg|loadUrl)|g(?:r(?:antSessionRule|oup)|lobalStorageOption)|n(?:otificationStorageOption|ginxCustomHandler)|macro)s|o(?:idc(?:RPMetaData(?:(?:Option(?:sExtraClaim)?|ExportedVar)s|Node)|OPMetaData(?:(?:ExportedVar|Option)s|J(?:SON|WKS)|Node)|S(?:erviceMetaDataAuthnContext|torageOptions))|penIdExportedVars)|s(?:aml(?:S(?:PMetaData(?:(?:ExportedAttribute|Option)s|Node|XML)|torageOptions)|IDPMetaData(?:(?:ExportedAttribute|Option)s|Node|XML))|essionDataToRemember|laveExportedVars|fExtra)|c(?:as(?:S(?:rvMetaData(?:(?:ExportedVar|Option)s|Node)|torageOptions)|A(?:ppMetaData(?:(?:ExportedVar|Option)s|Node)|ttributes))|(?:ustomAddParam|ombModule)s)|p(?:ersistentStorageOptions|o(?:rtalSkinRules|st))|a(?:ut(?:hChoiceMod|oSigninR)ules|pplicationList)|v(?:hostOptions|irtualHost)|S(?:MTPTLSOpts|SLVarIf))$/;
|
our $hashParameters = qr/^(?:(?:l(?:o(?:ca(?:lSessionStorageOption|tionRule)|goutService)|dapExportedVar|wp(?:Ssl)?Opt)|(?:(?:d(?:emo|bi)|facebook|webID)ExportedVa|exported(?:Heade|Va)|issuerDBGetParamete)r|re(?:moteGlobalStorageOption|st2f(?:Verify|Init)Arg|loadUrl)|g(?:r(?:antSessionRule|oup)|lobalStorageOption)|n(?:otificationStorageOption|ginxCustomHandler)|macro)s|o(?:idc(?:RPMetaData(?:(?:Option(?:sExtraClaim)?|ExportedVar)s|Node)|OPMetaData(?:(?:ExportedVar|Option)s|J(?:SON|WKS)|Node)|S(?:erviceMetaDataAuthnContext|torageOptions))|penIdExportedVars)|s(?:aml(?:S(?:PMetaData(?:(?:ExportedAttribute|Option)s|Node|XML)|torageOptions)|IDPMetaData(?:(?:ExportedAttribute|Option)s|Node|XML))|essionDataToRemember|laveExportedVars|fExtra)|c(?:as(?:S(?:rvMetaData(?:(?:ExportedVar|Option)s|Node)|torageOptions)|A(?:ppMetaData(?:(?:ExportedVar|Option)s|Node)|ttributes))|(?:ustomAddParam|ombModule)s)|p(?:ersistentStorageOptions|o(?:rtalSkinRules|st))|a(?:ut(?:hChoiceMod|oSigninR)ules|pplicationList)|v(?:hostOptions|irtualHost)|S(?:MTPTLSOpts|SLVarIf))$/;
|
||||||
our $boolKeys = qr/^(?:s(?:aml(?:IDP(?:MetaDataOptions(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|IsPassiv)e|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Force(?:Authn|UTF8)|StoreSAMLToken|RelayStateURL)|SSODescriptorWantAuthnRequestsSigned)|S(?:P(?:MetaDataOptions(?:(?:CheckS[LS]OMessageSignatur|OneTimeUs)e|EnableIDPInitiatedURL|ForceUTF8)|SSODescriptor(?:WantAssertion|AuthnRequest)sSigned)|erviceUseCertificateInResponse)|DiscoveryProtocol(?:Activation|IsPassive)|CommonDomainCookieActivation|UseQueryStringSpecific|MetadataForceUTF8)|ingle(?:Session(?:UserByIP)?|(?:UserBy)?IP)|oap(?:Session|Config)Server|t(?:ayConnecte|orePasswor)d|kipRenewConfirmation|fRemovedUseNotif|howLanguages|slByAjax)|o(?:idc(?:ServiceAllow(?:(?:AuthorizationCode|Implicit|Hybrid)Flow|DynamicRegistration)|RPMetaDataOptions(?:LogoutSessionRequired|BypassConsent|RequirePKCE|Public)|OPMetaDataOptions(?:(?:CheckJWTSignatur|UseNonc)e|StoreIDToken))|ldNotifFormat)|c(?:a(?:ptcha_(?:register|login|mail)_enabled|sSrvMetaDataOptions(?:Gateway|Renew))|heck(?:User(?:Display(?:PersistentInfo|EmptyValues))?|State|XSS)|o(?:ntextSwitchingStopWithLogout|rsEnabled)|da)|p(?:ortal(?:ErrorOn(?:ExpiredSession|MailNotFound)|DisplayRe(?:setPassword|gister)|(?:CheckLogin|Statu)s|OpenLinkInNewWindow|RequireOldPassword|ForceAuthn|AntiFrame)|roxyUseSoap)|l(?:dap(?:(?:Group(?:DecodeSearchedValu|Recursiv)|UsePasswordResetAttribut)e|(?:AllowResetExpired|Set)Password|ChangePasswordAsUser|PpolicyControl)|oginHistoryEnabled)|i(?:ssuerDB(?:OpenID(?:Connect)?|SAML|CAS|Get)Activation|mpersonationSkipEmptyValues)|to(?:tp2f(?:UserCan(?:Chang|Remov)eKey|DisplayExistingSecret)|kenUseGlobalStorage)|u(?:se(?:RedirectOn(?:Forbidden|Error)|SafeJail)|2fUserCanRemoveKey|pgradeSession)|no(?:tif(?:ication(?:Server)?|y(?:Deleted|Other))|AjaxHook)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|d(?:isablePersistentStorage|biDynamicHashEnabled)|rest(?:(?:Session|Config)Server|ExportSecretKeys)|h(?:ideOldPassword|ttpOnly)|yubikey2fUserCanRemoveKey|(?:activeTim|wsdlServ)er|krb(?:RemoveDomain|ByJs)|bruteForceProtection)$/;
|
our $boolKeys = qr/^(?:s(?:aml(?:IDP(?:MetaDataOptions(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|IsPassiv)e|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Force(?:Authn|UTF8)|StoreSAMLToken|RelayStateURL)|SSODescriptorWantAuthnRequestsSigned)|S(?:P(?:MetaDataOptions(?:(?:CheckS[LS]OMessageSignatur|OneTimeUs)e|EnableIDPInitiatedURL|ForceUTF8)|SSODescriptor(?:WantAssertion|AuthnRequest)sSigned)|erviceUseCertificateInResponse)|DiscoveryProtocol(?:Activation|IsPassive)|CommonDomainCookieActivation|UseQueryStringSpecific|MetadataForceUTF8)|ingle(?:Session(?:UserByIP)?|(?:UserBy)?IP)|oap(?:Session|Config)Server|t(?:ayConnecte|orePasswor)d|kipRenewConfirmation|fRemovedUseNotif|howLanguages|slByAjax)|o(?:idc(?:ServiceAllow(?:(?:AuthorizationCode|Implicit|Hybrid)Flow|DynamicRegistration)|RPMetaDataOptions(?:LogoutSessionRequired|BypassConsent|RequirePKCE|Public)|OPMetaDataOptions(?:(?:CheckJWTSignatur|UseNonc)e|StoreIDToken))|ldNotifFormat)|c(?:a(?:ptcha_(?:register|login|mail)_enabled|sSrvMetaDataOptions(?:Gateway|Renew))|heck(?:User(?:Display(?:PersistentInfo|EmptyValues))?|State|XSS)|o(?:ntextSwitchingStopWithLogout|rsEnabled)|da)|p(?:ortal(?:ErrorOn(?:ExpiredSession|MailNotFound)|DisplayRe(?:setPassword|gister)|(?:CheckLogin|Statu)s|OpenLinkInNewWindow|RequireOldPassword|ForceAuthn|AntiFrame)|roxyUseSoap)|l(?:dap(?:(?:Group(?:DecodeSearchedValu|Recursiv)|UsePasswordResetAttribut)e|(?:AllowResetExpired|Set)Password|ChangePasswordAsUser|PpolicyControl)|oginHistoryEnabled)|i(?:ssuerDB(?:OpenID(?:Connect)?|SAML|CAS|Get)Activation|mpersonationSkipEmptyValues)|no(?:tif(?:ication(?:Server(?:(?:POS|GE)T|DELETE)?)?|y(?:Deleted|Other))|AjaxHook)|to(?:tp2f(?:UserCan(?:Chang|Remov)eKey|DisplayExistingSecret)|kenUseGlobalStorage)|u(?:se(?:RedirectOn(?:Forbidden|Error)|SafeJail)|2fUserCanRemoveKey|pgradeSession)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|d(?:isablePersistentStorage|biDynamicHashEnabled)|rest(?:(?:Session|Config)Server|ExportSecretKeys)|h(?:ideOldPassword|ttpOnly)|yubikey2fUserCanRemoveKey|(?:activeTim|wsdlServ)er|krb(?:RemoveDomain|ByJs)|bruteForceProtection)$/;
|
||||||
|
|
||||||
our @sessionTypes = ( 'remoteGlobal', 'global', 'localSession', 'persistent', 'saml', 'oidc', 'cas' );
|
our @sessionTypes = ( 'remoteGlobal', 'global', 'localSession', 'persistent', 'saml', 'oidc', 'cas' );
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,9 @@ sub defaultValues {
|
||||||
'multiValuesSeparator' => '; ',
|
'multiValuesSeparator' => '; ',
|
||||||
'mySessionAuthorizedRWKeys' =>
|
'mySessionAuthorizedRWKeys' =>
|
||||||
[ '_appsListOrder', '_oidcConnectedRP', '_oidcConsents' ],
|
[ '_appsListOrder', '_oidcConnectedRP', '_oidcConsents' ],
|
||||||
|
'notificationServerPOST' => 1,
|
||||||
|
'notificationServerSentAttributes' =>
|
||||||
|
'uid reference date title subtitle text check',
|
||||||
'notificationStorage' => 'File',
|
'notificationStorage' => 'File',
|
||||||
'notificationStorageOptions' => {
|
'notificationStorageOptions' => {
|
||||||
'dirName' => '/var/lib/lemonldap-ng/notifications'
|
'dirName' => '/var/lib/lemonldap-ng/notifications'
|
||||||
|
|
|
@ -1749,6 +1749,22 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][
|
||||||
'default' => 0,
|
'default' => 0,
|
||||||
'type' => 'bool'
|
'type' => 'bool'
|
||||||
},
|
},
|
||||||
|
'notificationServerDELETE' => {
|
||||||
|
'default' => 0,
|
||||||
|
'type' => 'bool'
|
||||||
|
},
|
||||||
|
'notificationServerGET' => {
|
||||||
|
'default' => 0,
|
||||||
|
'type' => 'bool'
|
||||||
|
},
|
||||||
|
'notificationServerPOST' => {
|
||||||
|
'default' => 1,
|
||||||
|
'type' => 'bool'
|
||||||
|
},
|
||||||
|
'notificationServerSentAttributes' => {
|
||||||
|
'default' => 'uid reference date title subtitle text check',
|
||||||
|
'type' => 'text'
|
||||||
|
},
|
||||||
'notificationStorage' => {
|
'notificationStorage' => {
|
||||||
'default' => 'File',
|
'default' => 'File',
|
||||||
'type' => 'PerlModule'
|
'type' => 'PerlModule'
|
||||||
|
|
|
@ -722,7 +722,7 @@ sub attributes {
|
||||||
keyTest => sub { return perlExpr(@_) },
|
keyTest => sub { return perlExpr(@_) },
|
||||||
test => sub { 1 },
|
test => sub { 1 },
|
||||||
documentation => 'Rules to grant sessions',
|
documentation => 'Rules to grant sessions',
|
||||||
default => {},
|
default => {},
|
||||||
},
|
},
|
||||||
hiddenAttributes => {
|
hiddenAttributes => {
|
||||||
type => 'text',
|
type => 'text',
|
||||||
|
@ -1039,6 +1039,28 @@ sub attributes {
|
||||||
type => 'bool',
|
type => 'bool',
|
||||||
documentation => 'Notification server activation',
|
documentation => 'Notification server activation',
|
||||||
},
|
},
|
||||||
|
notificationServerGET => {
|
||||||
|
default => 0,
|
||||||
|
type => 'bool',
|
||||||
|
documentation => 'Notification server activation',
|
||||||
|
},
|
||||||
|
notificationServerPOST => {
|
||||||
|
default => 1,
|
||||||
|
type => 'bool',
|
||||||
|
documentation => 'Notification server activation',
|
||||||
|
},
|
||||||
|
notificationServerDELETE => {
|
||||||
|
default => 0,
|
||||||
|
type => 'bool',
|
||||||
|
documentation => 'Notification server activation',
|
||||||
|
},
|
||||||
|
notificationServerSentAttributes => {
|
||||||
|
type => 'text',
|
||||||
|
default => 'uid reference date title subtitle text check',
|
||||||
|
documentation =>
|
||||||
|
'Prameters to send with notification server GET method',
|
||||||
|
flags => 'p',
|
||||||
|
},
|
||||||
notificationStorage => {
|
notificationStorage => {
|
||||||
type => 'PerlModule',
|
type => 'PerlModule',
|
||||||
default => 'File',
|
default => 'File',
|
||||||
|
@ -3284,9 +3306,9 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
|
||||||
test => sub { 1 },
|
test => sub { 1 },
|
||||||
documentation => 'Extra second factors',
|
documentation => 'Extra second factors',
|
||||||
select => [
|
select => [
|
||||||
{ k => 'Mail2F', v => 'E-Mail' },
|
{ k => 'Mail2F', v => 'E-Mail' },
|
||||||
{ k => 'REST', v => 'REST' },
|
{ k => 'REST', v => 'REST' },
|
||||||
{ k => 'Ext2F', v => 'External' },
|
{ k => 'Ext2F', v => 'External' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -587,12 +587,29 @@ sub tree {
|
||||||
help => 'notifications.html',
|
help => 'notifications.html',
|
||||||
nodes => [
|
nodes => [
|
||||||
'notification',
|
'notification',
|
||||||
'notificationServer',
|
|
||||||
'oldNotifFormat',
|
'oldNotifFormat',
|
||||||
'notificationStorage',
|
'notificationStorage',
|
||||||
'notificationStorageOptions',
|
'notificationStorageOptions',
|
||||||
'notificationWildcard',
|
'notificationWildcard',
|
||||||
'notificationXSLTfile'
|
'notificationXSLTfile',
|
||||||
|
{
|
||||||
|
title => 'serverNotification',
|
||||||
|
help => 'notifications.html#server',
|
||||||
|
nodes => [
|
||||||
|
'notificationServer',
|
||||||
|
'notificationServerSentAttributes',
|
||||||
|
{
|
||||||
|
title =>
|
||||||
|
'notificationServerMethods',
|
||||||
|
form => 'simpleInputContainer',
|
||||||
|
nodes => [
|
||||||
|
'notificationServerPOST',
|
||||||
|
'notificationServerGET',
|
||||||
|
'notificationServerDELETE',
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -672,8 +689,6 @@ sub tree {
|
||||||
'contextSwitchingRule',
|
'contextSwitchingRule',
|
||||||
'contextSwitchingIdRule',
|
'contextSwitchingIdRule',
|
||||||
'contextSwitchingStopWithLogout',
|
'contextSwitchingStopWithLogout',
|
||||||
|
|
||||||
#'contextSwitchingHiddenAttributes',
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -947,8 +962,7 @@ sub tree {
|
||||||
help => 'samlservice.html#organization',
|
help => 'samlservice.html#organization',
|
||||||
form => 'simpleInputContainer',
|
form => 'simpleInputContainer',
|
||||||
nodes => [
|
nodes => [
|
||||||
'samlOrganizationDisplayName',
|
'samlOrganizationDisplayName', 'samlOrganizationName',
|
||||||
'samlOrganizationName',
|
|
||||||
'samlOrganizationURL'
|
'samlOrganizationURL'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user