diff --git a/lemonldap-ng-common/.prove b/lemonldap-ng-common/.prove new file mode 100644 index 000000000..ad045136a --- /dev/null +++ b/lemonldap-ng-common/.prove @@ -0,0 +1,105 @@ +--- +generation: 2 +last_run_time: 1567071551.30841 +tests: + t/01-Common-Conf.t: + elapsed: 0.472490072250366 + gen: 2 + last_pass_time: 1567071550.71014 + last_result: 0 + last_run_time: 1567071550.71014 + last_todo: 0 + seq: 5 + total_passes: 1 + t/02-Common-Conf-File.t: + elapsed: 0.0793302059173584 + gen: 2 + last_pass_time: 1567071550.68052 + last_result: 0 + last_run_time: 1567071550.68052 + last_todo: 0 + seq: 4 + total_passes: 1 + t/03-Common-Conf-CDBI.t: + elapsed: 0.61043119430542 + gen: 2 + last_pass_time: 1567071550.95767 + last_result: 0 + last_run_time: 1567071550.95767 + last_todo: 0 + seq: 6 + total_passes: 1 + t/03-Common-Conf-RDBI.t: + elapsed: 0.66497802734375 + gen: 2 + last_pass_time: 1567071551.00435 + last_result: 0 + last_run_time: 1567071551.00435 + last_todo: 0 + seq: 7 + total_passes: 1 + t/05-Common-Conf-LDAP.t: + elapsed: 0.64878511428833 + gen: 2 + last_pass_time: 1567071551.07637 + last_result: 0 + last_run_time: 1567071551.07637 + last_todo: 0 + seq: 8 + total_passes: 1 + t/30-Common-Safelib.t: + elapsed: 0.0283739566802979 + gen: 2 + last_pass_time: 1567071550.40529 + last_result: 0 + last_run_time: 1567071550.40529 + last_todo: 0 + seq: 1 + total_passes: 1 + t/35-Common-Crypto.t: + elapsed: 0.190783977508545 + gen: 2 + last_pass_time: 1567071550.63236 + last_result: 0 + last_run_time: 1567071550.63236 + last_todo: 0 + seq: 3 + total_passes: 1 + t/36-Common-Regexp.t: + elapsed: 0.0631709098815918 + gen: 2 + last_pass_time: 1567071550.50944 + last_result: 0 + last_run_time: 1567071550.50944 + last_todo: 0 + seq: 2 + total_passes: 1 + t/40-Common-Session.t: + elapsed: 0.184284210205078 + gen: 2 + last_pass_time: 1567071551.11977 + last_result: 0 + last_run_time: 1567071551.11977 + last_todo: 0 + seq: 9 + total_passes: 1 + t/50-Combination-Parser.t: + elapsed: 0.108580827713013 + gen: 2 + last_pass_time: 1567071551.1593 + last_result: 0 + last_run_time: 1567071551.1593 + last_todo: 0 + seq: 10 + total_passes: 1 + t/99-pod.t: + elapsed: 0.128799915313721 + gen: 2 + last_pass_time: 1567071551.30716 + last_result: 0 + last_run_time: 1567071551.30716 + last_todo: 0 + seq: 11 + total_passes: 1 +version: 1 +... diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Compact.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Compact.pm index b2bae625b..ccbff7aa8 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Compact.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Compact.pm @@ -9,6 +9,8 @@ our $VERSION = '2.1.0'; sub compactConf { my ( $self, $conf ) = @_; + return $conf if ( $conf->{'dontCompactConf'} ); + # Remove unused auth parameters my %keep; foreach my $type (qw(authentication userDB passwordDB registerDB)) { diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm index 111ad4c5e..45f0cbb2f 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm @@ -24,7 +24,7 @@ use constant MANAGERSECTION => "manager"; use constant SESSIONSEXPLORERSECTION => "sessionsExplorer"; 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 $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 $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)|d(?:isablePersistentStorage|biDynamicHashEnabled|ontCompactConf)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|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' ); diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm index e0fdb0dc8..38494b6f1 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm @@ -179,55 +179,56 @@ sub defaultValues { 'loa-4' => 4, 'loa-5' => 5 }, - 'oidcServiceMetaDataAuthorizeURI' => 'authorize', - 'oidcServiceMetaDataBackChannelURI' => 'blogout', - 'oidcServiceMetaDataCheckSessionURI' => 'checksession.html', - 'oidcServiceMetaDataEndSessionURI' => 'logout', - 'oidcServiceMetaDataFrontChannelURI' => 'flogout', - 'oidcServiceMetaDataJWKSURI' => 'jwks', - 'oidcServiceMetaDataRegistrationURI' => 'register', - 'oidcServiceMetaDataTokenURI' => 'token', - 'oidcServiceMetaDataUserInfoURI' => 'userinfo', - 'openIdAuthnLevel' => 1, - 'openIdExportedVars' => {}, - 'openIdIDPList' => '0;', - 'openIdSPList' => '0;', - 'openIdSreg_email' => 'mail', - 'openIdSreg_fullname' => 'cn', - 'openIdSreg_nickname' => 'uid', - 'openIdSreg_timezone' => '_timezone', - 'pamAuthnLevel' => 2, - 'pamService' => 'login', - 'passwordDB' => 'Demo', - 'passwordResetAllowedRetries' => 3, - 'port' => -1, - 'portal' => 'http://auth.example.com/', - 'portalAntiFrame' => 1, - 'portalCheckLogins' => 1, - 'portalDisplayAppslist' => 1, - 'portalDisplayChangePassword' => '$_auth =~ /^(LDAP|DBI|Demo)$/', - 'portalDisplayFavApps' => 1, - 'portalDisplayLoginHistory' => 1, - 'portalDisplayLogout' => 1, - 'portalDisplayOidcConsents' => '$_oidcConnectedRP', - 'portalDisplayRegister' => 1, - 'portalErrorOnExpiredSession' => 1, - 'portalForceAuthnInterval' => 5, - 'portalMainLogo' => 'common/logos/logo_llng_400px.png', - 'portalPingInterval' => 60000, - 'portalRequireOldPassword' => 1, - 'portalSkin' => 'bootstrap', - 'portalUserAttr' => '_user', - 'proxyAuthnLevel' => 2, - 'radius2fActivation' => 0, - 'radius2fTimeout' => 20, - 'radiusAuthnLevel' => 3, - 'randomPasswordRegexp' => '[A-Z]{3}[a-z]{5}.\\d{2}', - 'redirectFormMethod' => 'get', - 'registerDB' => 'Null', - 'registerTimeout' => 0, - 'registerUrl' => 'http://auth.example.com/register', - 'reloadTimeout' => 5, + 'oidcServiceMetaDataAuthorizeURI' => 'authorize', + 'oidcServiceMetaDataBackChannelURI' => 'blogout', + 'oidcServiceMetaDataCheckSessionURI' => 'checksession.html', + 'oidcServiceMetaDataEndSessionURI' => 'logout', + 'oidcServiceMetaDataFrontChannelURI' => 'flogout', + 'oidcServiceMetaDataIntrospectionURI' => 'introspect', + 'oidcServiceMetaDataJWKSURI' => 'jwks', + 'oidcServiceMetaDataRegistrationURI' => 'register', + 'oidcServiceMetaDataTokenURI' => 'token', + 'oidcServiceMetaDataUserInfoURI' => 'userinfo', + 'openIdAuthnLevel' => 1, + 'openIdExportedVars' => {}, + 'openIdIDPList' => '0;', + 'openIdSPList' => '0;', + 'openIdSreg_email' => 'mail', + 'openIdSreg_fullname' => 'cn', + 'openIdSreg_nickname' => 'uid', + 'openIdSreg_timezone' => '_timezone', + 'pamAuthnLevel' => 2, + 'pamService' => 'login', + 'passwordDB' => 'Demo', + 'passwordResetAllowedRetries' => 3, + 'port' => -1, + 'portal' => 'http://auth.example.com/', + 'portalAntiFrame' => 1, + 'portalCheckLogins' => 1, + 'portalDisplayAppslist' => 1, + 'portalDisplayChangePassword' => '$_auth =~ /^(LDAP|DBI|Demo)$/', + 'portalDisplayFavApps' => 1, + 'portalDisplayLoginHistory' => 1, + 'portalDisplayLogout' => 1, + 'portalDisplayOidcConsents' => '$_oidcConnectedRP', + 'portalDisplayRegister' => 1, + 'portalErrorOnExpiredSession' => 1, + 'portalForceAuthnInterval' => 5, + 'portalMainLogo' => 'common/logos/logo_llng_400px.png', + 'portalPingInterval' => 60000, + 'portalRequireOldPassword' => 1, + 'portalSkin' => 'bootstrap', + 'portalUserAttr' => '_user', + 'proxyAuthnLevel' => 2, + 'radius2fActivation' => 0, + 'radius2fTimeout' => 20, + 'radiusAuthnLevel' => 3, + 'randomPasswordRegexp' => '[A-Z]{3}[a-z]{5}.\\d{2}', + 'redirectFormMethod' => 'get', + 'registerDB' => 'Null', + 'registerTimeout' => 0, + 'registerUrl' => 'http://auth.example.com/register', + 'reloadTimeout' => 5, 'remoteGlobalStorage' => 'Lemonldap::NG::Common::Apache::Session::SOAP', 'remoteGlobalStorageOptions' => { 'ns' => diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm index c0da65454..44117122c 100644 --- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm +++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm @@ -67,6 +67,6 @@ our $issuerParameters = { issuerDBSAML => [qw(issuerDBSAMLActivation issuerDBSAMLPath issuerDBSAMLRule)], }; our $samlServiceParameters = [qw(samlEntityID samlServicePrivateKeySig samlServicePrivateKeySigPwd samlServicePublicKeySig samlServicePrivateKeyEnc samlServicePrivateKeyEncPwd samlServicePublicKeyEnc samlServiceUseCertificateInResponse samlServiceSignatureMethod samlNameIDFormatMapEmail samlNameIDFormatMapX509 samlNameIDFormatMapWindows samlNameIDFormatMapKerberos samlAuthnContextMapPassword samlAuthnContextMapPasswordProtectedTransport samlAuthnContextMapTLSClient samlAuthnContextMapKerberos samlOrganizationDisplayName samlOrganizationName samlOrganizationURL samlSPSSODescriptorAuthnRequestsSigned samlSPSSODescriptorWantAssertionsSigned samlSPSSODescriptorSingleLogoutServiceHTTPRedirect samlSPSSODescriptorSingleLogoutServiceHTTPPost samlSPSSODescriptorSingleLogoutServiceSOAP samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact samlSPSSODescriptorAssertionConsumerServiceHTTPPost samlSPSSODescriptorArtifactResolutionServiceArtifact samlIDPSSODescriptorWantAuthnRequestsSigned samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect samlIDPSSODescriptorSingleSignOnServiceHTTPPost samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect samlIDPSSODescriptorSingleLogoutServiceHTTPPost samlIDPSSODescriptorSingleLogoutServiceSOAP samlIDPSSODescriptorArtifactResolutionServiceArtifact samlAttributeAuthorityDescriptorAttributeServiceSOAP samlIdPResolveCookie samlMetadataForceUTF8 samlStorage samlStorageOptions samlRelayStateTimeout samlUseQueryStringSpecific samlCommonDomainCookieActivation samlCommonDomainCookieDomain samlCommonDomainCookieReader samlCommonDomainCookieWriter samlDiscoveryProtocolActivation samlDiscoveryProtocolURL samlDiscoveryProtocolPolicy samlDiscoveryProtocolIsPassive samlOverrideIDPEntityID)]; -our $oidcServiceParameters = [qw(oidcServiceMetaDataIssuer oidcServiceMetaDataAuthorizeURI oidcServiceMetaDataTokenURI oidcServiceMetaDataUserInfoURI oidcServiceMetaDataJWKSURI oidcServiceMetaDataRegistrationURI oidcServiceMetaDataEndSessionURI oidcServiceMetaDataCheckSessionURI oidcServiceMetaDataFrontChannelURI oidcServiceMetaDataBackChannelURI oidcServiceMetaDataAuthnContext oidcServicePrivateKeySig oidcServicePublicKeySig oidcServiceKeyIdSig oidcServiceAllowDynamicRegistration oidcServiceAllowAuthorizationCodeFlow oidcServiceAllowImplicitFlow oidcServiceAllowHybridFlow oidcStorage oidcStorageOptions)]; +our $oidcServiceParameters = [qw(oidcServiceMetaDataIssuer oidcServiceMetaDataAuthorizeURI oidcServiceMetaDataTokenURI oidcServiceMetaDataUserInfoURI oidcServiceMetaDataJWKSURI oidcServiceMetaDataRegistrationURI oidcServiceMetaDataIntrospectionURI oidcServiceMetaDataEndSessionURI oidcServiceMetaDataCheckSessionURI oidcServiceMetaDataFrontChannelURI oidcServiceMetaDataBackChannelURI oidcServiceMetaDataAuthnContext oidcServicePrivateKeySig oidcServicePublicKeySig oidcServiceKeyIdSig oidcServiceAllowDynamicRegistration oidcServiceAllowAuthorizationCodeFlow oidcServiceAllowImplicitFlow oidcServiceAllowHybridFlow oidcStorage oidcStorageOptions)]; 1; diff --git a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Reload.pm b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Reload.pm index c755fe97c..780914a60 100644 --- a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Reload.pm +++ b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Reload.pm @@ -380,7 +380,8 @@ sub headersInit { $class->tsv->{headerList}->{$vhost} = [ keys %headers ]; my $sub = ''; foreach ( keys %headers ) { - my $val = $class->substitute( $headers{$_} ) . " || ''"; + $headers{$_} ||= "''"; + my $val = $class->substitute( $headers{$_} ) . " // ''"; $sub .= "('$_' => $val),"; } diff --git a/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t b/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t index 97fc3346e..27931c480 100644 --- a/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t +++ b/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t @@ -26,6 +26,8 @@ init( exportedHeaders => { 'test2.example.com' => { 'Auth-User' => '$uid', + 'empty' => undef, + 'zero' => "'0'", }, } } @@ -114,6 +116,13 @@ ok( ok( $res->[0] == 200, 'Code is 200' ) or explain( $res->[0], 200 ); count(2); +my %headers = @{ $res->[1] }; +ok( $headers{'zero'} eq '0', 'Found "zero" header with "0"' ) + or print STDERR Data::Dumper::Dumper( $res->[1] ); +ok( $headers{'empty'} eq '', 'Found "empty" header without value' ) + or print STDERR Data::Dumper::Dumper( $res->[1] ); +count(2); + @headers = grep { /service|^XFromVH$/ } @{ $res->[1] }; @values = grep { /\.example\.com|^$sessionId$/ } @{ $res->[1] }; ok( @headers == 2, 'Found 2 service headers' ) diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm index d9ccc951a..dcd22a195 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm @@ -1111,6 +1111,10 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.] qr/^(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9]|[a-zA-Z])[.]?))?$/, 'type' => 'text' }, + 'dontCompactConf' => { + 'default' => 0, + 'type' => 'bool' + }, 'exportedAttr' => { 'type' => 'text' }, @@ -2107,6 +2111,10 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][ 'default' => 'flogout', 'type' => 'text' }, + 'oidcServiceMetaDataIntrospectionURI' => { + 'default' => 'introspect', + 'type' => 'text' + }, 'oidcServiceMetaDataIssuer' => { 'type' => 'text' }, diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Attributes.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Attributes.pm index d65775119..624131f7b 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Attributes.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Attributes.pm @@ -385,6 +385,11 @@ sub attributes { msgFail => '__badUrl__', documentation => 'URL to call on reload', }, + dontCompactConf => { + type => 'bool', + default => 0, + documentation => 'Don t compact configuration', + }, portalMainLogo => { type => 'text', default => 'common/logos/logo_llng_400px.png', @@ -3483,6 +3488,11 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?: default => 'register', documentation => 'OpenID Connect registration endpoint', }, + oidcServiceMetaDataIntrospectionURI => { + type => 'text', + default => 'introspect', + documentation => 'OpenID Connect introspection endpoint', + }, oidcServiceMetaDataEndSessionURI => { type => 'text', default => 'logout', diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Tree.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Tree.pm index f314c36e4..3548aacf5 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Tree.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Tree.pm @@ -511,7 +511,8 @@ sub tree { title => 'logParams', help => 'logs.html', form => 'simpleInputContainer', - nodes => [ 'whatToTrace', 'customToTrace', 'hiddenAttributes' ] + nodes => + [ 'whatToTrace', 'customToTrace', 'hiddenAttributes' ] }, { title => 'cookieParams', @@ -564,7 +565,7 @@ sub tree { { title => 'reloadParams', help => 'configlocation.html#configuration_reload', - nodes => [ 'reloadUrls', 'reloadTimeout', ] + nodes => [ 'reloadUrls', 'reloadTimeout', 'dontCompactConf' ] }, { title => 'plugins', @@ -1125,6 +1126,7 @@ sub tree { 'oidcServiceMetaDataUserInfoURI', 'oidcServiceMetaDataJWKSURI', 'oidcServiceMetaDataRegistrationURI', + 'oidcServiceMetaDataIntrospectionURI', 'oidcServiceMetaDataEndSessionURI', 'oidcServiceMetaDataCheckSessionURI', 'oidcServiceMetaDataFrontChannelURI', diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Parser.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Parser.pm index fbb2e4bc9..0b01269b3 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Parser.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Parser.pm @@ -103,13 +103,30 @@ sub check { hdebug(" testNewConf() failed"); return 0; } + my $separator = $self->newConf->{multiValuesSeparator} || '; '; hdebug(" tests succeed"); - $self->compactConf( $self->newConf ); + my %conf = %{ $self->newConf() }; + my %compactedConf = %{ $self->compactConf( $self->newConf ) }; + my @removedKeys = (); unless ( $self->confChanged ) { hdebug(" no change detected"); $self->message('__confNotChanged__'); return 0; } + unless ( $self->newConf->{dontCompactConf} ) { + foreach ( sort keys %conf ) { + push @removedKeys, $_ unless exists $compactedConf{$_}; + } + } + push @{ $self->changes }, + ( + $self->{newConf}->{dontCompactConf} + ? { confCompacted => '0' } + : { + confCompacted => '1', + removedKeys => join( $separator, @removedKeys ) + } + ); return 1; } diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json index 33386be29..c078cf631 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json @@ -252,6 +252,7 @@ "dateTitle":"تاريخ", "dn":"دي أن", "domain":"نطاق", +"dontCompactConf":"Don't compact configuration file", "download":"تحميل", "downloadIt":"نزله", "duplicate":"مكررة", @@ -570,6 +571,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"المفاتيح", "oidcServiceMetaDataRegistrationURI":"التسجيل", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"الحماية", "oidcServiceMetaDataEndSessionURI":"نهاية الجلسة", "oidcServiceMetaDataAuthnContext":"سياق إثبات الهوية", @@ -1051,4 +1053,4 @@ "samlRelayStateTimeout":"تناوب حالة مهلة الجلسة ", "samlUseQueryStringSpecific":"استخدام أسلوب query_string المعين", "samlOverrideIDPEntityID":"Override Entity ID when acting as IDP" -} \ No newline at end of file +} diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/de.json b/lemonldap-ng-manager/site/htdocs/static/languages/de.json index 2b26e7b8a..b984f67e9 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/de.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/de.json @@ -251,6 +251,7 @@ "dateTitle":"Dates", "dn":"DN", "domain":"Domain", +"dontCompactConf":"Don't compact configuration file", "download":"Download", "downloadIt":"Download it", "duplicate":"Duplicate", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"Keys", "oidcServiceMetaDataRegistrationURI":"Registration", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Security", "oidcServiceMetaDataEndSessionURI":"End of session", "oidcServiceMetaDataAuthnContext":"Authentication context", @@ -1050,4 +1052,4 @@ "samlRelayStateTimeout":"RelayState session timeout", "samlUseQueryStringSpecific":"Use specific query_string method", "samlOverrideIDPEntityID":"Override Entity ID when acting as IDP" -} \ No newline at end of file +} diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/en.json b/lemonldap-ng-manager/site/htdocs/static/languages/en.json index 417edd414..d86334f8b 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/en.json @@ -251,6 +251,7 @@ "dateTitle":"Dates", "dn":"DN", "domain":"Domain", +"dontCompactConf":"Don't compact configuration file", "download":"Download", "downloadIt":"Download it", "duplicate":"Duplicate", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"Keys", "oidcServiceMetaDataRegistrationURI":"Registration", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Security", "oidcServiceMetaDataEndSessionURI":"End of session", "oidcServiceMetaDataAuthnContext":"Authentication context", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json index c3c316cea..a7165163e 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json @@ -251,6 +251,7 @@ "dateTitle":"Dates", "dn":"DN", "domain":"Domaine", +"dontCompactConf":"Ne pas compacter le fichier de configuration", "download":"Télécharger", "downloadIt":"Télécharger", "duplicate":"Dupliquer", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"Clefs", "oidcServiceMetaDataRegistrationURI":"Enregistrement", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Sécurité", "oidcServiceMetaDataEndSessionURI":"Fin de session", "oidcServiceMetaDataAuthnContext":"Contexte d'authentification", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/it.json b/lemonldap-ng-manager/site/htdocs/static/languages/it.json index 0416ca9df..af467b945 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/it.json @@ -251,6 +251,7 @@ "dateTitle":"Date", "dn":"DN", "domain":"Dominio", +"dontCompactConf":"Don't compact configuration file", "download":"Scarica", "downloadIt":"Scaricalo", "duplicate":"Duplicato", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"Chiavi", "oidcServiceMetaDataRegistrationURI":"Registrazione", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Sicurezza", "oidcServiceMetaDataEndSessionURI":"Fine sessione", "oidcServiceMetaDataAuthnContext":"Contesto di autenticazione", @@ -1050,4 +1052,4 @@ "samlRelayStateTimeout":"Timeout di sessione di RelayState", "samlUseQueryStringSpecific":"Utilizza il metodo specifico query_string", "samlOverrideIDPEntityID":"Sostituisci l'ID entità quando agisce come IDP" -} \ No newline at end of file +} diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json index 7a1308748..9db75434b 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json @@ -251,6 +251,7 @@ "dateTitle":"Ngày", "dn":"DN", "domain":"Tên miền", +"dontCompactConf":"Don't compact configuration file", "download":"Tải xuống", "downloadIt":"Tải xuống", "duplicate":"Sao y", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"Khóa", "oidcServiceMetaDataRegistrationURI":"Đăng ký", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Bảo mật", "oidcServiceMetaDataEndSessionURI":"Kết thúc phiên", "oidcServiceMetaDataAuthnContext":"Ngữ cảnh xác thực", @@ -1050,4 +1052,4 @@ "samlRelayStateTimeout":"Thời gian hết hạn phiên RelayState ", "samlUseQueryStringSpecific":"Sử dụng phương pháp query_string cụ thể", "samlOverrideIDPEntityID":"Override Entity ID when acting as IDP" -} \ No newline at end of file +} diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/zh.json b/lemonldap-ng-manager/site/htdocs/static/languages/zh.json index b0ed8c7af..7409b761d 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/zh.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/zh.json @@ -251,6 +251,7 @@ "dateTitle":"日期", "dn":"LDAP 唯一名称", "domain":"域", +"dontCompactConf":"Don't compact configuration file", "download":"下载", "downloadIt":"下载它", "duplicate":"Duplicate", @@ -569,6 +570,7 @@ "oidcServiceMetaDataJWKSURI":"JWKS", "oidcServiceMetaDataKeys":"键值", "oidcServiceMetaDataRegistrationURI":"Registration", +"oidcServiceMetaDataIntrospectionURI":"Introspection", "oidcServiceMetaDataSecurity":"Security", "oidcServiceMetaDataEndSessionURI":"End of session", "oidcServiceMetaDataAuthnContext":"Authentication context", @@ -1050,4 +1052,4 @@ "samlRelayStateTimeout":"RelayState session timeout", "samlUseQueryStringSpecific":"Use specific query_string method", "samlOverrideIDPEntityID":"Override Entity ID when acting as IDP" -} \ No newline at end of file +} diff --git a/lemonldap-ng-manager/site/htdocs/static/reverseTree.json b/lemonldap-ng-manager/site/htdocs/static/reverseTree.json index 789058f96..259eadcb4 100644 --- a/lemonldap-ng-manager/site/htdocs/static/reverseTree.json +++ b/lemonldap-ng-manager/site/htdocs/static/reverseTree.json @@ -1 +1 @@ -{"ADPwdExpireWarning":"generalParameters/authParams/adParams","ADPwdMaxAge":"generalParameters/authParams/adParams","AuthLDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","LDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","SMTPAuthPass":"generalParameters/advancedParams/SMTP","SMTPAuthUser":"generalParameters/advancedParams/SMTP","SMTPPort":"generalParameters/advancedParams/SMTP","SMTPServer":"generalParameters/advancedParams/SMTP","SMTPTLS":"generalParameters/advancedParams/SMTP","SMTPTLSOpts":"generalParameters/advancedParams/SMTP","SSLAuthnLevel":"generalParameters/authParams/sslParams","SSLVar":"generalParameters/authParams/sslParams","SSLVarIf":"generalParameters/authParams/sslParams","activeTimer":"generalParameters/advancedParams/forms","apacheAuthnLevel":"generalParameters/authParams/apacheParams","applicationList":"generalParameters/portalParams/portalMenu","authChoiceModules":"generalParameters/authParams/choiceParams","authChoiceParam":"generalParameters/authParams/choiceParams","authentication":"generalParameters/authParams","autoSigninRules":"generalParameters/plugins/autoSignin","bruteForceProtection":"generalParameters/advancedParams/security","captcha_login_enabled":"generalParameters/portalParams/portalCaptcha","captcha_mail_enabled":"generalParameters/portalParams/portalCaptcha","captcha_register_enabled":"generalParameters/portalParams/portalCaptcha","captcha_size":"generalParameters/portalParams/portalCaptcha","casAccessControlPolicy":"casServiceMetadata","casAppMetaDataNodes":"","casAttr":"casServiceMetadata","casAttributes":"casServiceMetadata","casAuthnLevel":"generalParameters/authParams/casParams","casSrvMetaDataNodes":"","casStorage":"casServiceMetadata","casStorageOptions":"casServiceMetadata","cda":"generalParameters/cookieParams","checkState":"generalParameters/plugins/stateCheck","checkStateSecret":"generalParameters/plugins/stateCheck","checkUser":"generalParameters/plugins/checkUsers","checkUserDisplayEmptyValues":"generalParameters/plugins/checkUsers","checkUserDisplayPersistentInfo":"generalParameters/plugins/checkUsers","checkUserHiddenAttributes":"generalParameters/plugins/checkUsers","checkUserIdRule":"generalParameters/plugins/checkUsers","checkXSS":"generalParameters/advancedParams/security","combModules":"generalParameters/authParams/combinationParams","combination":"generalParameters/authParams/combinationParams","combinationForms":"generalParameters/authParams/combinationParams","confirmFormMethod":"generalParameters/advancedParams/forms","contextSwitchingIdRule":"generalParameters/plugins/contextSwitching","contextSwitchingRule":"generalParameters/plugins/contextSwitching","contextSwitchingStopWithLogout":"generalParameters/plugins/contextSwitching","cookieExpiration":"generalParameters/cookieParams","cookieName":"generalParameters/cookieParams","corsAllow_Credentials":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Headers":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Methods":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Origin":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsEnabled":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsExpose_Headers":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsMax_Age":"generalParameters/advancedParams/security/crossOrigineResourceSharing","cspConnect":"generalParameters/advancedParams/security/contentSecurityPolicy","cspDefault":"generalParameters/advancedParams/security/contentSecurityPolicy","cspFont":"generalParameters/advancedParams/security/contentSecurityPolicy","cspFormAction":"generalParameters/advancedParams/security/contentSecurityPolicy","cspImg":"generalParameters/advancedParams/security/contentSecurityPolicy","cspScript":"generalParameters/advancedParams/security/contentSecurityPolicy","cspStyle":"generalParameters/advancedParams/security/contentSecurityPolicy","customAddParams":"generalParameters/authParams/customParams","customAuth":"generalParameters/authParams/customParams","customFunctions":"generalParameters/advancedParams","customPassword":"generalParameters/authParams/customParams","customRegister":"generalParameters/authParams/customParams","customToTrace":"generalParameters/logParams","customUserDB":"generalParameters/authParams/customParams","dbiAuthChain":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthLoginCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthPassword":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthPasswordCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthPasswordHash":"generalParameters/authParams/dbiParams/dbiPassword","dbiAuthTable":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthUser":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthnLevel":"generalParameters/authParams/dbiParams","dbiDynamicHashEnabled":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashNewPasswordScheme":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashValidSaltedSchemes":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashValidSchemes":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiExportedVars":"generalParameters/authParams/dbiParams","dbiPasswordMailCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiUserChain":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","dbiUserPassword":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","dbiUserTable":"generalParameters/authParams/dbiParams/dbiSchema","dbiUserUser":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","demoExportedVars":"generalParameters/authParams/demoParams","disablePersistentStorage":"generalParameters/sessionParams/persistentSessions","domain":"generalParameters/cookieParams","exportedAttr":"generalParameters/plugins/portalServers","exportedVars":"variables","ext2FSendCommand":"generalParameters/secondFactors/ext2f","ext2FValidateCommand":"generalParameters/secondFactors/ext2f","ext2fActivation":"generalParameters/secondFactors/ext2f","ext2fAuthnLevel":"generalParameters/secondFactors/ext2f","ext2fCodeActivation":"generalParameters/secondFactors/ext2f","ext2fLabel":"generalParameters/secondFactors/ext2f","ext2fLogo":"generalParameters/secondFactors/ext2f","facebookAppId":"generalParameters/authParams/facebookParams","facebookAppSecret":"generalParameters/authParams/facebookParams","facebookAuthnLevel":"generalParameters/authParams/facebookParams","facebookExportedVars":"generalParameters/authParams/facebookParams","facebookUserField":"generalParameters/authParams/facebookParams","failedLoginNumber":"generalParameters/plugins/loginHistory","favAppsMaxNumber":"generalParameters/portalParams/portalMenu/portalModules/favApps","formTimeout":"generalParameters/advancedParams/security","globalStorage":"generalParameters/sessionParams/sessionStorage","globalStorageOptions":"generalParameters/sessionParams/sessionStorage","gpgAuthnLevel":"generalParameters/authParams/gpgParams","gpgDb":"generalParameters/authParams/gpgParams","grantSessionRules":"generalParameters/sessionParams","groups":"variables","hiddenAttributes":"generalParameters/logParams","hideOldPassword":"generalParameters/portalParams/portalCustomization/passwordManagement","httpOnly":"generalParameters/cookieParams","https":"generalParameters/advancedParams/redirection","impersonationHiddenAttributes":"generalParameters/plugins/impersonation","impersonationIdRule":"generalParameters/plugins/impersonation","impersonationMergeSSOgroups":"generalParameters/plugins/impersonation","impersonationRule":"generalParameters/plugins/impersonation","impersonationSkipEmptyValues":"generalParameters/plugins/impersonation","infoFormMethod":"generalParameters/advancedParams/forms","issuerDBCASActivation":"generalParameters/issuerParams/issuerDBCAS","issuerDBCASPath":"generalParameters/issuerParams/issuerDBCAS","issuerDBCASRule":"generalParameters/issuerParams/issuerDBCAS","issuerDBGetActivation":"generalParameters/issuerParams/issuerDBGet","issuerDBGetParameters":"generalParameters/issuerParams/issuerDBGet","issuerDBGetPath":"generalParameters/issuerParams/issuerDBGet","issuerDBGetRule":"generalParameters/issuerParams/issuerDBGet","issuerDBOpenIDActivation":"generalParameters/issuerParams/issuerDBOpenID","issuerDBOpenIDConnectActivation":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDConnectPath":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDConnectRule":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDPath":"generalParameters/issuerParams/issuerDBOpenID","issuerDBOpenIDRule":"generalParameters/issuerParams/issuerDBOpenID","issuerDBSAMLActivation":"generalParameters/issuerParams/issuerDBSAML","issuerDBSAMLPath":"generalParameters/issuerParams/issuerDBSAML","issuerDBSAMLRule":"generalParameters/issuerParams/issuerDBSAML","jsRedirect":"generalParameters/advancedParams/portalRedirection","key":"generalParameters/advancedParams/security","krbAuthnLevel":"generalParameters/authParams/kerberosParams","krbByJs":"generalParameters/authParams/kerberosParams","krbKeytab":"generalParameters/authParams/kerberosParams","krbRemoveDomain":"generalParameters/authParams/kerberosParams","ldapAllowResetExpiredPassword":"generalParameters/authParams/ldapParams/ldapPassword","ldapAuthnLevel":"generalParameters/authParams/ldapParams","ldapBase":"generalParameters/authParams/ldapParams/ldapConnection","ldapChangePasswordAsUser":"generalParameters/authParams/ldapParams/ldapPassword","ldapExportedVars":"generalParameters/authParams/ldapParams","ldapGroupAttributeName":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameGroup":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameSearch":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameUser":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupBase":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupDecodeSearchedValue":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupObjectClass":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupRecursive":"generalParameters/authParams/ldapParams/ldapGroups","ldapPasswordResetAttribute":"generalParameters/authParams/ldapParams/ldapPassword","ldapPasswordResetAttributeValue":"generalParameters/authParams/ldapParams/ldapPassword","ldapPort":"generalParameters/authParams/ldapParams/ldapConnection","ldapPpolicyControl":"generalParameters/authParams/ldapParams/ldapPassword","ldapPwdEnc":"generalParameters/authParams/ldapParams/ldapPassword","ldapRaw":"generalParameters/authParams/ldapParams/ldapConnection","ldapSearchDeref":"generalParameters/authParams/ldapParams/ldapFilters","ldapServer":"generalParameters/authParams/ldapParams/ldapConnection","ldapSetPassword":"generalParameters/authParams/ldapParams/ldapPassword","ldapTimeout":"generalParameters/authParams/ldapParams/ldapConnection","ldapUsePasswordResetAttribute":"generalParameters/authParams/ldapParams/ldapPassword","ldapVersion":"generalParameters/authParams/ldapParams/ldapConnection","linkedInAuthnLevel":"generalParameters/authParams/linkedinParams","linkedInClientID":"generalParameters/authParams/linkedinParams","linkedInClientSecret":"generalParameters/authParams/linkedinParams","linkedInFields":"generalParameters/authParams/linkedinParams","linkedInScope":"generalParameters/authParams/linkedinParams","linkedInUserField":"generalParameters/authParams/linkedinParams","localSessionStorage":"generalParameters/sessionParams/sessionStorage","localSessionStorageOptions":"generalParameters/sessionParams/sessionStorage","loginHistoryEnabled":"generalParameters/plugins/loginHistory","logoutServices":"generalParameters/advancedParams","lwpOpts":"generalParameters/advancedParams/security","lwpSslOpts":"generalParameters/advancedParams/security","macros":"variables","mail2fActivation":"generalParameters/secondFactors/mail2f","mail2fAuthnLevel":"generalParameters/secondFactors/mail2f","mail2fBody":"generalParameters/secondFactors/mail2f","mail2fCodeRegex":"generalParameters/secondFactors/mail2f","mail2fLabel":"generalParameters/secondFactors/mail2f","mail2fLogo":"generalParameters/secondFactors/mail2f","mail2fSubject":"generalParameters/secondFactors/mail2f","mail2fTimeout":"generalParameters/secondFactors/mail2f","mailBody":"generalParameters/plugins/passwordManagement/mailContent","mailCharset":"generalParameters/advancedParams/SMTP/mailHeaders","mailConfirmBody":"generalParameters/plugins/passwordManagement/mailContent","mailConfirmSubject":"generalParameters/plugins/passwordManagement/mailContent","mailFrom":"generalParameters/advancedParams/SMTP/mailHeaders","mailLDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","mailOnPasswordChange":"generalParameters/portalParams/portalCustomization/passwordManagement","mailReplyTo":"generalParameters/advancedParams/SMTP/mailHeaders","mailSessionKey":"generalParameters/advancedParams/SMTP","mailSubject":"generalParameters/plugins/passwordManagement/mailContent","mailTimeout":"generalParameters/plugins/passwordManagement/mailOther","mailUrl":"generalParameters/plugins/passwordManagement/mailOther","maintenance":"generalParameters/advancedParams/redirection","managerDn":"generalParameters/authParams/ldapParams/ldapConnection","managerPassword":"generalParameters/authParams/ldapParams/ldapConnection","multiValuesSeparator":"generalParameters/advancedParams","nginxCustomHandlers":"generalParameters/advancedParams","noAjaxHook":"generalParameters/advancedParams/portalRedirection","notification":"generalParameters/plugins/notifications","notificationServer":"generalParameters/plugins/notifications/serverNotification","notificationServerDELETE":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerGET":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerPOST":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerSentAttributes":"generalParameters/plugins/notifications/serverNotification","notificationStorage":"generalParameters/plugins/notifications","notificationStorageOptions":"generalParameters/plugins/notifications","notificationWildcard":"generalParameters/plugins/notifications","notificationXSLTfile":"generalParameters/plugins/notifications","notifyDeleted":"generalParameters/sessionParams/multipleSessions","notifyOther":"generalParameters/sessionParams/multipleSessions","nullAuthnLevel":"generalParameters/authParams/nullParams","oidcAuthnLevel":"generalParameters/authParams/oidcParams","oidcOPMetaDataNodes":"","oidcRPCallbackGetParam":"generalParameters/authParams/oidcParams","oidcRPMetaDataNodes":"","oidcRPStateTimeout":"generalParameters/authParams/oidcParams","oidcServiceAllowAuthorizationCodeFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowDynamicRegistration":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowHybridFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowImplicitFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceKeyIdSig":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceMetaDataAuthnContext":"oidcServiceMetaData","oidcServiceMetaDataAuthorizeURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataBackChannelURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataCheckSessionURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataEndSessionURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataFrontChannelURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataIssuer":"oidcServiceMetaData","oidcServiceMetaDataJWKSURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataRegistrationURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataTokenURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataUserInfoURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServicePrivateKeySig":"oidcServiceMetaData/oidcServiceMetaDataSecurity/oidcServiceMetaDataKeys","oidcServicePublicKeySig":"oidcServiceMetaData/oidcServiceMetaDataSecurity/oidcServiceMetaDataKeys","oidcStorage":"oidcServiceMetaData/oidcServiceMetaDataSessions","oidcStorageOptions":"oidcServiceMetaData/oidcServiceMetaDataSessions","oldNotifFormat":"generalParameters/plugins/notifications","openIdAttr":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdAuthnLevel":"generalParameters/authParams/openidParams","openIdExportedVars":"generalParameters/authParams/openidParams","openIdIDPList":"generalParameters/authParams/openidParams","openIdIssuerSecret":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdSPList":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdSecret":"generalParameters/authParams/openidParams","openIdSreg_country":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_dob":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_email":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_fullname":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_gender":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_language":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_nickname":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_postcode":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_timezone":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","pamAuthnLevel":"generalParameters/authParams/pamParams","pamService":"generalParameters/authParams/pamParams","passwordDB":"generalParameters/authParams","passwordResetAllowedRetries":"generalParameters/portalParams/portalCustomization/portalButtons","persistentStorage":"generalParameters/sessionParams/persistentSessions","persistentStorageOptions":"generalParameters/sessionParams/persistentSessions","port":"generalParameters/advancedParams/redirection","portal":"generalParameters/portalParams","portalAntiFrame":"generalParameters/portalParams/portalCustomization/portalOther","portalCheckLogins":"generalParameters/portalParams/portalCustomization/portalButtons","portalDisplayAppslist":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayChangePassword":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayFavApps":"generalParameters/portalParams/portalMenu/portalModules/favApps","portalDisplayLoginHistory":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayLogout":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayOidcConsents":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayRegister":"generalParameters/portalParams/portalCustomization/portalButtons","portalDisplayResetPassword":"generalParameters/portalParams/portalCustomization/portalButtons","portalErrorOnExpiredSession":"generalParameters/portalParams/portalCustomization/portalOther","portalErrorOnMailNotFound":"generalParameters/portalParams/portalCustomization/portalOther","portalForceAuthn":"generalParameters/advancedParams/security","portalForceAuthnInterval":"generalParameters/advancedParams/security","portalMainLogo":"generalParameters/portalParams/portalCustomization","portalOpenLinkInNewWindow":"generalParameters/portalParams/portalCustomization/portalOther","portalPingInterval":"generalParameters/portalParams/portalCustomization/portalOther","portalRequireOldPassword":"generalParameters/portalParams/portalCustomization/passwordManagement","portalSkin":"generalParameters/portalParams/portalCustomization","portalSkinBackground":"generalParameters/portalParams/portalCustomization","portalSkinRules":"generalParameters/portalParams/portalCustomization","portalStatus":"generalParameters/plugins","portalUserAttr":"generalParameters/portalParams/portalCustomization/portalOther","proxyAuthService":"generalParameters/authParams/proxyParams","proxyAuthnLevel":"generalParameters/authParams/proxyParams","proxySessionService":"generalParameters/authParams/proxyParams","proxyUseSoap":"generalParameters/authParams/proxyParams","radius2fActivation":"generalParameters/secondFactors/radius2f","radius2fAuthnLevel":"generalParameters/secondFactors/radius2f","radius2fLabel":"generalParameters/secondFactors/radius2f","radius2fLogo":"generalParameters/secondFactors/radius2f","radius2fSecret":"generalParameters/secondFactors/radius2f","radius2fServer":"generalParameters/secondFactors/radius2f","radius2fTimeout":"generalParameters/secondFactors/radius2f","radius2fUsernameSessionKey":"generalParameters/secondFactors/radius2f","radiusAuthnLevel":"generalParameters/authParams/radiusParams","radiusSecret":"generalParameters/authParams/radiusParams","radiusServer":"generalParameters/authParams/radiusParams","randomPasswordRegexp":"generalParameters/plugins/passwordManagement/mailOther","redirectFormMethod":"generalParameters/advancedParams/forms","registerConfirmSubject":"generalParameters/plugins/register","registerDB":"generalParameters/authParams","registerDoneSubject":"generalParameters/plugins/register","registerTimeout":"generalParameters/plugins/register","registerUrl":"generalParameters/plugins/register","reloadTimeout":"generalParameters/reloadParams","reloadUrls":"generalParameters/reloadParams","remoteCookieName":"generalParameters/authParams/remoteParams","remoteGlobalStorage":"generalParameters/authParams/remoteParams","remoteGlobalStorageOptions":"generalParameters/authParams/remoteParams","remotePortal":"generalParameters/authParams/remoteParams","requireToken":"generalParameters/advancedParams/security","rest2fActivation":"generalParameters/secondFactors/rest2f","rest2fAuthnLevel":"generalParameters/secondFactors/rest2f","rest2fInitArgs":"generalParameters/secondFactors/rest2f","rest2fInitUrl":"generalParameters/secondFactors/rest2f","rest2fLabel":"generalParameters/secondFactors/rest2f","rest2fLogo":"generalParameters/secondFactors/rest2f","rest2fVerifyArgs":"generalParameters/secondFactors/rest2f","rest2fVerifyUrl":"generalParameters/secondFactors/rest2f","restAuthUrl":"generalParameters/authParams/restParams","restAuthnLevel":"generalParameters/authParams/restParams","restConfigServer":"generalParameters/plugins/portalServers","restExportSecretKeys":"generalParameters/plugins/portalServers","restPwdConfirmUrl":"generalParameters/authParams/restParams","restPwdModifyUrl":"generalParameters/authParams/restParams","restSessionServer":"generalParameters/plugins/portalServers","restUserDBUrl":"generalParameters/authParams/restParams","samlAttributeAuthorityDescriptorAttributeServiceSOAP":"samlServiceMetaData/samlAttributeAuthorityDescriptor/samlAttributeAuthorityDescriptorAttributeService","samlAuthnContextMapKerberos":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapPassword":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapPasswordProtectedTransport":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapTLSClient":"samlServiceMetaData/samlAuthnContextMap","samlCommonDomainCookieActivation":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieDomain":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieReader":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieWriter":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlDiscoveryProtocolActivation":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolIsPassive":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolPolicy":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolURL":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlEntityID":"samlServiceMetaData","samlIDPMetaDataNodes":"","samlIDPSSODescriptorArtifactResolutionServiceArtifact":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorArtifactResolutionService","samlIDPSSODescriptorSingleLogoutServiceHTTPPost":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleLogoutServiceSOAP":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorSingleSignOnServiceHTTPPost":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorWantAuthnRequestsSigned":"samlServiceMetaData/samlIDPSSODescriptor","samlIdPResolveCookie":"samlServiceMetaData/samlAdvanced","samlMetadataForceUTF8":"samlServiceMetaData/samlAdvanced","samlNameIDFormatMapEmail":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapKerberos":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapWindows":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapX509":"samlServiceMetaData/samlNameIDFormatMap","samlOrganizationDisplayName":"samlServiceMetaData/samlOrganization","samlOrganizationName":"samlServiceMetaData/samlOrganization","samlOrganizationURL":"samlServiceMetaData/samlOrganization","samlOverrideIDPEntityID":"samlServiceMetaData/samlAdvanced","samlRelayStateTimeout":"samlServiceMetaData/samlAdvanced","samlSPMetaDataNodes":"","samlSPSSODescriptorArtifactResolutionServiceArtifact":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorArtifactResolutionService","samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorAssertionConsumerService","samlSPSSODescriptorAssertionConsumerServiceHTTPPost":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorAssertionConsumerService","samlSPSSODescriptorAuthnRequestsSigned":"samlServiceMetaData/samlSPSSODescriptor","samlSPSSODescriptorSingleLogoutServiceHTTPPost":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorSingleLogoutServiceHTTPRedirect":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorSingleLogoutServiceSOAP":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorWantAssertionsSigned":"samlServiceMetaData/samlSPSSODescriptor","samlServicePrivateKeyEnc":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePrivateKeyEncPwd":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePrivateKeySig":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServicePrivateKeySigPwd":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServicePublicKeyEnc":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePublicKeySig":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServiceSignatureMethod":"samlServiceMetaData/samlServiceSecurity","samlServiceUseCertificateInResponse":"samlServiceMetaData/samlServiceSecurity","samlStorage":"samlServiceMetaData/samlAdvanced","samlStorageOptions":"samlServiceMetaData/samlAdvanced","samlUseQueryStringSpecific":"samlServiceMetaData/samlAdvanced","securedCookie":"generalParameters/cookieParams","sessionDataToRemember":"generalParameters/plugins/loginHistory","sfExtra":"generalParameters/secondFactors","sfRemovedMsgRule":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifMsg":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifRef":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifTitle":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedUseNotif":"generalParameters/secondFactors/sfRemovedNotification","sfRequired":"generalParameters/secondFactors","showLanguages":"generalParameters/portalParams/portalCustomization","singleIP":"generalParameters/sessionParams/multipleSessions","singleSession":"generalParameters/sessionParams/multipleSessions","singleSessionUserByIP":"generalParameters/sessionParams/multipleSessions","singleUserByIP":"generalParameters/sessionParams/multipleSessions","skipRenewConfirmation":"generalParameters/advancedParams/portalRedirection","slaveAuthnLevel":"generalParameters/authParams/slaveParams","slaveExportedVars":"generalParameters/authParams/slaveParams","slaveHeaderContent":"generalParameters/authParams/slaveParams","slaveHeaderName":"generalParameters/authParams/slaveParams","slaveMasterIP":"generalParameters/authParams/slaveParams","slaveUserHeader":"generalParameters/authParams/slaveParams","soapConfigServer":"generalParameters/plugins/portalServers","soapSessionServer":"generalParameters/plugins/portalServers","sslByAjax":"generalParameters/authParams/sslParams","sslHost":"generalParameters/authParams/sslParams","stayConnected":"generalParameters/plugins","storePassword":"generalParameters/sessionParams","successLoginNumber":"generalParameters/plugins/loginHistory","timeout":"generalParameters/sessionParams","timeoutActivity":"generalParameters/sessionParams","timeoutActivityInterval":"generalParameters/sessionParams","tokenUseGlobalStorage":"generalParameters/advancedParams/security","totp2fActivation":"generalParameters/secondFactors/totp2f","totp2fAuthnLevel":"generalParameters/secondFactors/totp2f","totp2fDigits":"generalParameters/secondFactors/totp2f","totp2fDisplayExistingSecret":"generalParameters/secondFactors/totp2f","totp2fInterval":"generalParameters/secondFactors/totp2f","totp2fIssuer":"generalParameters/secondFactors/totp2f","totp2fLabel":"generalParameters/secondFactors/totp2f","totp2fLogo":"generalParameters/secondFactors/totp2f","totp2fRange":"generalParameters/secondFactors/totp2f","totp2fSelfRegistration":"generalParameters/secondFactors/totp2f","totp2fTTL":"generalParameters/secondFactors/totp2f","totp2fUserCanChangeKey":"generalParameters/secondFactors/totp2f","totp2fUserCanRemoveKey":"generalParameters/secondFactors/totp2f","trustedDomains":"generalParameters/advancedParams/security","twitterAppName":"generalParameters/authParams/twitterParams","twitterAuthnLevel":"generalParameters/authParams/twitterParams","twitterKey":"generalParameters/authParams/twitterParams","twitterSecret":"generalParameters/authParams/twitterParams","twitterUserField":"generalParameters/authParams/twitterParams","u2fActivation":"generalParameters/secondFactors/u2f","u2fAuthnLevel":"generalParameters/secondFactors/u2f","u2fLabel":"generalParameters/secondFactors/u2f","u2fLogo":"generalParameters/secondFactors/u2f","u2fSelfRegistration":"generalParameters/secondFactors/u2f","u2fTTL":"generalParameters/secondFactors/u2f","u2fUserCanRemoveKey":"generalParameters/secondFactors/u2f","upgradeSession":"generalParameters/plugins","useRedirectOnError":"generalParameters/advancedParams/redirection","useRedirectOnForbidden":"generalParameters/advancedParams/redirection","useSafeJail":"generalParameters/advancedParams/security","userControl":"generalParameters/advancedParams/security","userDB":"generalParameters/authParams","userPivot":"generalParameters/authParams/dbiParams/dbiSchema","utotp2fActivation":"generalParameters/secondFactors/utotp2f","utotp2fAuthnLevel":"generalParameters/secondFactors/utotp2f","utotp2fLabel":"generalParameters/secondFactors/utotp2f","utotp2fLogo":"generalParameters/secondFactors/utotp2f","virtualHosts":"","webIDAuthnLevel":"generalParameters/authParams/webidParams","webIDExportedVars":"generalParameters/authParams/webidParams","webIDWhitelist":"generalParameters/authParams/webidParams","whatToTrace":"generalParameters/logParams","wsdlServer":"generalParameters/plugins/portalServers","yubikey2fActivation":"generalParameters/secondFactors/yubikey2f","yubikey2fAuthnLevel":"generalParameters/secondFactors/yubikey2f","yubikey2fClientID":"generalParameters/secondFactors/yubikey2f","yubikey2fLabel":"generalParameters/secondFactors/yubikey2f","yubikey2fLogo":"generalParameters/secondFactors/yubikey2f","yubikey2fNonce":"generalParameters/secondFactors/yubikey2f","yubikey2fPublicIDSize":"generalParameters/secondFactors/yubikey2f","yubikey2fSecretKey":"generalParameters/secondFactors/yubikey2f","yubikey2fSelfRegistration":"generalParameters/secondFactors/yubikey2f","yubikey2fTTL":"generalParameters/secondFactors/yubikey2f","yubikey2fUrl":"generalParameters/secondFactors/yubikey2f","yubikey2fUserCanRemoveKey":"generalParameters/secondFactors/yubikey2f"} \ No newline at end of file +{"ADPwdExpireWarning":"generalParameters/authParams/adParams","ADPwdMaxAge":"generalParameters/authParams/adParams","AuthLDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","LDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","SMTPAuthPass":"generalParameters/advancedParams/SMTP","SMTPAuthUser":"generalParameters/advancedParams/SMTP","SMTPPort":"generalParameters/advancedParams/SMTP","SMTPServer":"generalParameters/advancedParams/SMTP","SMTPTLS":"generalParameters/advancedParams/SMTP","SMTPTLSOpts":"generalParameters/advancedParams/SMTP","SSLAuthnLevel":"generalParameters/authParams/sslParams","SSLVar":"generalParameters/authParams/sslParams","SSLVarIf":"generalParameters/authParams/sslParams","activeTimer":"generalParameters/advancedParams/forms","apacheAuthnLevel":"generalParameters/authParams/apacheParams","applicationList":"generalParameters/portalParams/portalMenu","authChoiceModules":"generalParameters/authParams/choiceParams","authChoiceParam":"generalParameters/authParams/choiceParams","authentication":"generalParameters/authParams","autoSigninRules":"generalParameters/plugins/autoSignin","bruteForceProtection":"generalParameters/advancedParams/security","captcha_login_enabled":"generalParameters/portalParams/portalCaptcha","captcha_mail_enabled":"generalParameters/portalParams/portalCaptcha","captcha_register_enabled":"generalParameters/portalParams/portalCaptcha","captcha_size":"generalParameters/portalParams/portalCaptcha","casAccessControlPolicy":"casServiceMetadata","casAppMetaDataNodes":"","casAttr":"casServiceMetadata","casAttributes":"casServiceMetadata","casAuthnLevel":"generalParameters/authParams/casParams","casSrvMetaDataNodes":"","casStorage":"casServiceMetadata","casStorageOptions":"casServiceMetadata","cda":"generalParameters/cookieParams","checkState":"generalParameters/plugins/stateCheck","checkStateSecret":"generalParameters/plugins/stateCheck","checkUser":"generalParameters/plugins/checkUsers","checkUserDisplayEmptyValues":"generalParameters/plugins/checkUsers","checkUserDisplayPersistentInfo":"generalParameters/plugins/checkUsers","checkUserHiddenAttributes":"generalParameters/plugins/checkUsers","checkUserIdRule":"generalParameters/plugins/checkUsers","checkXSS":"generalParameters/advancedParams/security","combModules":"generalParameters/authParams/combinationParams","combination":"generalParameters/authParams/combinationParams","combinationForms":"generalParameters/authParams/combinationParams","confirmFormMethod":"generalParameters/advancedParams/forms","contextSwitchingIdRule":"generalParameters/plugins/contextSwitching","contextSwitchingRule":"generalParameters/plugins/contextSwitching","contextSwitchingStopWithLogout":"generalParameters/plugins/contextSwitching","cookieExpiration":"generalParameters/cookieParams","cookieName":"generalParameters/cookieParams","corsAllow_Credentials":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Headers":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Methods":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsAllow_Origin":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsEnabled":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsExpose_Headers":"generalParameters/advancedParams/security/crossOrigineResourceSharing","corsMax_Age":"generalParameters/advancedParams/security/crossOrigineResourceSharing","cspConnect":"generalParameters/advancedParams/security/contentSecurityPolicy","cspDefault":"generalParameters/advancedParams/security/contentSecurityPolicy","cspFont":"generalParameters/advancedParams/security/contentSecurityPolicy","cspFormAction":"generalParameters/advancedParams/security/contentSecurityPolicy","cspImg":"generalParameters/advancedParams/security/contentSecurityPolicy","cspScript":"generalParameters/advancedParams/security/contentSecurityPolicy","cspStyle":"generalParameters/advancedParams/security/contentSecurityPolicy","customAddParams":"generalParameters/authParams/customParams","customAuth":"generalParameters/authParams/customParams","customFunctions":"generalParameters/advancedParams","customPassword":"generalParameters/authParams/customParams","customRegister":"generalParameters/authParams/customParams","customToTrace":"generalParameters/logParams","customUserDB":"generalParameters/authParams/customParams","dbiAuthChain":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthLoginCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthPassword":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthPasswordCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthPasswordHash":"generalParameters/authParams/dbiParams/dbiPassword","dbiAuthTable":"generalParameters/authParams/dbiParams/dbiSchema","dbiAuthUser":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionAuth","dbiAuthnLevel":"generalParameters/authParams/dbiParams","dbiDynamicHashEnabled":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashNewPasswordScheme":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashValidSaltedSchemes":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiDynamicHashValidSchemes":"generalParameters/authParams/dbiParams/dbiPassword/dbiDynamicHash","dbiExportedVars":"generalParameters/authParams/dbiParams","dbiPasswordMailCol":"generalParameters/authParams/dbiParams/dbiSchema","dbiUserChain":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","dbiUserPassword":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","dbiUserTable":"generalParameters/authParams/dbiParams/dbiSchema","dbiUserUser":"generalParameters/authParams/dbiParams/dbiConnection/dbiConnectionUser","demoExportedVars":"generalParameters/authParams/demoParams","disablePersistentStorage":"generalParameters/sessionParams/persistentSessions","domain":"generalParameters/cookieParams","dontCompactConf":"generalParameters/reloadParams","exportedAttr":"generalParameters/plugins/portalServers","exportedVars":"variables","ext2FSendCommand":"generalParameters/secondFactors/ext2f","ext2FValidateCommand":"generalParameters/secondFactors/ext2f","ext2fActivation":"generalParameters/secondFactors/ext2f","ext2fAuthnLevel":"generalParameters/secondFactors/ext2f","ext2fCodeActivation":"generalParameters/secondFactors/ext2f","ext2fLabel":"generalParameters/secondFactors/ext2f","ext2fLogo":"generalParameters/secondFactors/ext2f","facebookAppId":"generalParameters/authParams/facebookParams","facebookAppSecret":"generalParameters/authParams/facebookParams","facebookAuthnLevel":"generalParameters/authParams/facebookParams","facebookExportedVars":"generalParameters/authParams/facebookParams","facebookUserField":"generalParameters/authParams/facebookParams","failedLoginNumber":"generalParameters/plugins/loginHistory","favAppsMaxNumber":"generalParameters/portalParams/portalMenu/portalModules/favApps","formTimeout":"generalParameters/advancedParams/security","globalStorage":"generalParameters/sessionParams/sessionStorage","globalStorageOptions":"generalParameters/sessionParams/sessionStorage","gpgAuthnLevel":"generalParameters/authParams/gpgParams","gpgDb":"generalParameters/authParams/gpgParams","grantSessionRules":"generalParameters/sessionParams","groups":"variables","hiddenAttributes":"generalParameters/logParams","hideOldPassword":"generalParameters/portalParams/portalCustomization/passwordManagement","httpOnly":"generalParameters/cookieParams","https":"generalParameters/advancedParams/redirection","impersonationHiddenAttributes":"generalParameters/plugins/impersonation","impersonationIdRule":"generalParameters/plugins/impersonation","impersonationMergeSSOgroups":"generalParameters/plugins/impersonation","impersonationRule":"generalParameters/plugins/impersonation","impersonationSkipEmptyValues":"generalParameters/plugins/impersonation","infoFormMethod":"generalParameters/advancedParams/forms","issuerDBCASActivation":"generalParameters/issuerParams/issuerDBCAS","issuerDBCASPath":"generalParameters/issuerParams/issuerDBCAS","issuerDBCASRule":"generalParameters/issuerParams/issuerDBCAS","issuerDBGetActivation":"generalParameters/issuerParams/issuerDBGet","issuerDBGetParameters":"generalParameters/issuerParams/issuerDBGet","issuerDBGetPath":"generalParameters/issuerParams/issuerDBGet","issuerDBGetRule":"generalParameters/issuerParams/issuerDBGet","issuerDBOpenIDActivation":"generalParameters/issuerParams/issuerDBOpenID","issuerDBOpenIDConnectActivation":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDConnectPath":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDConnectRule":"generalParameters/issuerParams/issuerDBOpenIDConnect","issuerDBOpenIDPath":"generalParameters/issuerParams/issuerDBOpenID","issuerDBOpenIDRule":"generalParameters/issuerParams/issuerDBOpenID","issuerDBSAMLActivation":"generalParameters/issuerParams/issuerDBSAML","issuerDBSAMLPath":"generalParameters/issuerParams/issuerDBSAML","issuerDBSAMLRule":"generalParameters/issuerParams/issuerDBSAML","jsRedirect":"generalParameters/advancedParams/portalRedirection","key":"generalParameters/advancedParams/security","krbAuthnLevel":"generalParameters/authParams/kerberosParams","krbByJs":"generalParameters/authParams/kerberosParams","krbKeytab":"generalParameters/authParams/kerberosParams","krbRemoveDomain":"generalParameters/authParams/kerberosParams","ldapAllowResetExpiredPassword":"generalParameters/authParams/ldapParams/ldapPassword","ldapAuthnLevel":"generalParameters/authParams/ldapParams","ldapBase":"generalParameters/authParams/ldapParams/ldapConnection","ldapChangePasswordAsUser":"generalParameters/authParams/ldapParams/ldapPassword","ldapExportedVars":"generalParameters/authParams/ldapParams","ldapGroupAttributeName":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameGroup":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameSearch":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupAttributeNameUser":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupBase":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupDecodeSearchedValue":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupObjectClass":"generalParameters/authParams/ldapParams/ldapGroups","ldapGroupRecursive":"generalParameters/authParams/ldapParams/ldapGroups","ldapPasswordResetAttribute":"generalParameters/authParams/ldapParams/ldapPassword","ldapPasswordResetAttributeValue":"generalParameters/authParams/ldapParams/ldapPassword","ldapPort":"generalParameters/authParams/ldapParams/ldapConnection","ldapPpolicyControl":"generalParameters/authParams/ldapParams/ldapPassword","ldapPwdEnc":"generalParameters/authParams/ldapParams/ldapPassword","ldapRaw":"generalParameters/authParams/ldapParams/ldapConnection","ldapSearchDeref":"generalParameters/authParams/ldapParams/ldapFilters","ldapServer":"generalParameters/authParams/ldapParams/ldapConnection","ldapSetPassword":"generalParameters/authParams/ldapParams/ldapPassword","ldapTimeout":"generalParameters/authParams/ldapParams/ldapConnection","ldapUsePasswordResetAttribute":"generalParameters/authParams/ldapParams/ldapPassword","ldapVersion":"generalParameters/authParams/ldapParams/ldapConnection","linkedInAuthnLevel":"generalParameters/authParams/linkedinParams","linkedInClientID":"generalParameters/authParams/linkedinParams","linkedInClientSecret":"generalParameters/authParams/linkedinParams","linkedInFields":"generalParameters/authParams/linkedinParams","linkedInScope":"generalParameters/authParams/linkedinParams","linkedInUserField":"generalParameters/authParams/linkedinParams","localSessionStorage":"generalParameters/sessionParams/sessionStorage","localSessionStorageOptions":"generalParameters/sessionParams/sessionStorage","loginHistoryEnabled":"generalParameters/plugins/loginHistory","logoutServices":"generalParameters/advancedParams","lwpOpts":"generalParameters/advancedParams/security","lwpSslOpts":"generalParameters/advancedParams/security","macros":"variables","mail2fActivation":"generalParameters/secondFactors/mail2f","mail2fAuthnLevel":"generalParameters/secondFactors/mail2f","mail2fBody":"generalParameters/secondFactors/mail2f","mail2fCodeRegex":"generalParameters/secondFactors/mail2f","mail2fLabel":"generalParameters/secondFactors/mail2f","mail2fLogo":"generalParameters/secondFactors/mail2f","mail2fSubject":"generalParameters/secondFactors/mail2f","mail2fTimeout":"generalParameters/secondFactors/mail2f","mailBody":"generalParameters/plugins/passwordManagement/mailContent","mailCharset":"generalParameters/advancedParams/SMTP/mailHeaders","mailConfirmBody":"generalParameters/plugins/passwordManagement/mailContent","mailConfirmSubject":"generalParameters/plugins/passwordManagement/mailContent","mailFrom":"generalParameters/advancedParams/SMTP/mailHeaders","mailLDAPFilter":"generalParameters/authParams/ldapParams/ldapFilters","mailOnPasswordChange":"generalParameters/portalParams/portalCustomization/passwordManagement","mailReplyTo":"generalParameters/advancedParams/SMTP/mailHeaders","mailSessionKey":"generalParameters/advancedParams/SMTP","mailSubject":"generalParameters/plugins/passwordManagement/mailContent","mailTimeout":"generalParameters/plugins/passwordManagement/mailOther","mailUrl":"generalParameters/plugins/passwordManagement/mailOther","maintenance":"generalParameters/advancedParams/redirection","managerDn":"generalParameters/authParams/ldapParams/ldapConnection","managerPassword":"generalParameters/authParams/ldapParams/ldapConnection","multiValuesSeparator":"generalParameters/advancedParams","nginxCustomHandlers":"generalParameters/advancedParams","noAjaxHook":"generalParameters/advancedParams/portalRedirection","notification":"generalParameters/plugins/notifications","notificationServer":"generalParameters/plugins/notifications/serverNotification","notificationServerDELETE":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerGET":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerPOST":"generalParameters/plugins/notifications/serverNotification/notificationServerMethods","notificationServerSentAttributes":"generalParameters/plugins/notifications/serverNotification","notificationStorage":"generalParameters/plugins/notifications","notificationStorageOptions":"generalParameters/plugins/notifications","notificationWildcard":"generalParameters/plugins/notifications","notificationXSLTfile":"generalParameters/plugins/notifications","notifyDeleted":"generalParameters/sessionParams/multipleSessions","notifyOther":"generalParameters/sessionParams/multipleSessions","nullAuthnLevel":"generalParameters/authParams/nullParams","oidcAuthnLevel":"generalParameters/authParams/oidcParams","oidcOPMetaDataNodes":"","oidcRPCallbackGetParam":"generalParameters/authParams/oidcParams","oidcRPMetaDataNodes":"","oidcRPStateTimeout":"generalParameters/authParams/oidcParams","oidcServiceAllowAuthorizationCodeFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowDynamicRegistration":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowHybridFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceAllowImplicitFlow":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceKeyIdSig":"oidcServiceMetaData/oidcServiceMetaDataSecurity","oidcServiceMetaDataAuthnContext":"oidcServiceMetaData","oidcServiceMetaDataAuthorizeURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataBackChannelURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataCheckSessionURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataEndSessionURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataFrontChannelURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataIntrospectionURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataIssuer":"oidcServiceMetaData","oidcServiceMetaDataJWKSURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataRegistrationURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataTokenURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServiceMetaDataUserInfoURI":"oidcServiceMetaData/oidcServiceMetaDataEndPoints","oidcServicePrivateKeySig":"oidcServiceMetaData/oidcServiceMetaDataSecurity/oidcServiceMetaDataKeys","oidcServicePublicKeySig":"oidcServiceMetaData/oidcServiceMetaDataSecurity/oidcServiceMetaDataKeys","oidcStorage":"oidcServiceMetaData/oidcServiceMetaDataSessions","oidcStorageOptions":"oidcServiceMetaData/oidcServiceMetaDataSessions","oldNotifFormat":"generalParameters/plugins/notifications","openIdAttr":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdAuthnLevel":"generalParameters/authParams/openidParams","openIdExportedVars":"generalParameters/authParams/openidParams","openIdIDPList":"generalParameters/authParams/openidParams","openIdIssuerSecret":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdSPList":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions","openIdSecret":"generalParameters/authParams/openidParams","openIdSreg_country":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_dob":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_email":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_fullname":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_gender":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_language":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_nickname":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_postcode":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","openIdSreg_timezone":"generalParameters/issuerParams/issuerDBOpenID/issuerDBOpenIDOptions/openIdSreg","pamAuthnLevel":"generalParameters/authParams/pamParams","pamService":"generalParameters/authParams/pamParams","passwordDB":"generalParameters/authParams","passwordResetAllowedRetries":"generalParameters/portalParams/portalCustomization/portalButtons","persistentStorage":"generalParameters/sessionParams/persistentSessions","persistentStorageOptions":"generalParameters/sessionParams/persistentSessions","port":"generalParameters/advancedParams/redirection","portal":"generalParameters/portalParams","portalAntiFrame":"generalParameters/portalParams/portalCustomization/portalOther","portalCheckLogins":"generalParameters/portalParams/portalCustomization/portalButtons","portalDisplayAppslist":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayChangePassword":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayFavApps":"generalParameters/portalParams/portalMenu/portalModules/favApps","portalDisplayLoginHistory":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayLogout":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayOidcConsents":"generalParameters/portalParams/portalMenu/portalModules","portalDisplayRegister":"generalParameters/portalParams/portalCustomization/portalButtons","portalDisplayResetPassword":"generalParameters/portalParams/portalCustomization/portalButtons","portalErrorOnExpiredSession":"generalParameters/portalParams/portalCustomization/portalOther","portalErrorOnMailNotFound":"generalParameters/portalParams/portalCustomization/portalOther","portalForceAuthn":"generalParameters/advancedParams/security","portalForceAuthnInterval":"generalParameters/advancedParams/security","portalMainLogo":"generalParameters/portalParams/portalCustomization","portalOpenLinkInNewWindow":"generalParameters/portalParams/portalCustomization/portalOther","portalPingInterval":"generalParameters/portalParams/portalCustomization/portalOther","portalRequireOldPassword":"generalParameters/portalParams/portalCustomization/passwordManagement","portalSkin":"generalParameters/portalParams/portalCustomization","portalSkinBackground":"generalParameters/portalParams/portalCustomization","portalSkinRules":"generalParameters/portalParams/portalCustomization","portalStatus":"generalParameters/plugins","portalUserAttr":"generalParameters/portalParams/portalCustomization/portalOther","proxyAuthService":"generalParameters/authParams/proxyParams","proxyAuthnLevel":"generalParameters/authParams/proxyParams","proxySessionService":"generalParameters/authParams/proxyParams","proxyUseSoap":"generalParameters/authParams/proxyParams","radius2fActivation":"generalParameters/secondFactors/radius2f","radius2fAuthnLevel":"generalParameters/secondFactors/radius2f","radius2fLabel":"generalParameters/secondFactors/radius2f","radius2fLogo":"generalParameters/secondFactors/radius2f","radius2fSecret":"generalParameters/secondFactors/radius2f","radius2fServer":"generalParameters/secondFactors/radius2f","radius2fTimeout":"generalParameters/secondFactors/radius2f","radius2fUsernameSessionKey":"generalParameters/secondFactors/radius2f","radiusAuthnLevel":"generalParameters/authParams/radiusParams","radiusSecret":"generalParameters/authParams/radiusParams","radiusServer":"generalParameters/authParams/radiusParams","randomPasswordRegexp":"generalParameters/plugins/passwordManagement/mailOther","redirectFormMethod":"generalParameters/advancedParams/forms","registerConfirmSubject":"generalParameters/plugins/register","registerDB":"generalParameters/authParams","registerDoneSubject":"generalParameters/plugins/register","registerTimeout":"generalParameters/plugins/register","registerUrl":"generalParameters/plugins/register","reloadTimeout":"generalParameters/reloadParams","reloadUrls":"generalParameters/reloadParams","remoteCookieName":"generalParameters/authParams/remoteParams","remoteGlobalStorage":"generalParameters/authParams/remoteParams","remoteGlobalStorageOptions":"generalParameters/authParams/remoteParams","remotePortal":"generalParameters/authParams/remoteParams","requireToken":"generalParameters/advancedParams/security","rest2fActivation":"generalParameters/secondFactors/rest2f","rest2fAuthnLevel":"generalParameters/secondFactors/rest2f","rest2fInitArgs":"generalParameters/secondFactors/rest2f","rest2fInitUrl":"generalParameters/secondFactors/rest2f","rest2fLabel":"generalParameters/secondFactors/rest2f","rest2fLogo":"generalParameters/secondFactors/rest2f","rest2fVerifyArgs":"generalParameters/secondFactors/rest2f","rest2fVerifyUrl":"generalParameters/secondFactors/rest2f","restAuthUrl":"generalParameters/authParams/restParams","restAuthnLevel":"generalParameters/authParams/restParams","restConfigServer":"generalParameters/plugins/portalServers","restExportSecretKeys":"generalParameters/plugins/portalServers","restPwdConfirmUrl":"generalParameters/authParams/restParams","restPwdModifyUrl":"generalParameters/authParams/restParams","restSessionServer":"generalParameters/plugins/portalServers","restUserDBUrl":"generalParameters/authParams/restParams","samlAttributeAuthorityDescriptorAttributeServiceSOAP":"samlServiceMetaData/samlAttributeAuthorityDescriptor/samlAttributeAuthorityDescriptorAttributeService","samlAuthnContextMapKerberos":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapPassword":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapPasswordProtectedTransport":"samlServiceMetaData/samlAuthnContextMap","samlAuthnContextMapTLSClient":"samlServiceMetaData/samlAuthnContextMap","samlCommonDomainCookieActivation":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieDomain":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieReader":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlCommonDomainCookieWriter":"samlServiceMetaData/samlAdvanced/samlCommonDomainCookie","samlDiscoveryProtocolActivation":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolIsPassive":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolPolicy":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlDiscoveryProtocolURL":"samlServiceMetaData/samlAdvanced/samlDiscoveryProtocol","samlEntityID":"samlServiceMetaData","samlIDPMetaDataNodes":"","samlIDPSSODescriptorArtifactResolutionServiceArtifact":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorArtifactResolutionService","samlIDPSSODescriptorSingleLogoutServiceHTTPPost":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleLogoutServiceSOAP":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleLogoutService","samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorSingleSignOnServiceHTTPPost":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect":"samlServiceMetaData/samlIDPSSODescriptor/samlIDPSSODescriptorSingleSignOnService","samlIDPSSODescriptorWantAuthnRequestsSigned":"samlServiceMetaData/samlIDPSSODescriptor","samlIdPResolveCookie":"samlServiceMetaData/samlAdvanced","samlMetadataForceUTF8":"samlServiceMetaData/samlAdvanced","samlNameIDFormatMapEmail":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapKerberos":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapWindows":"samlServiceMetaData/samlNameIDFormatMap","samlNameIDFormatMapX509":"samlServiceMetaData/samlNameIDFormatMap","samlOrganizationDisplayName":"samlServiceMetaData/samlOrganization","samlOrganizationName":"samlServiceMetaData/samlOrganization","samlOrganizationURL":"samlServiceMetaData/samlOrganization","samlOverrideIDPEntityID":"samlServiceMetaData/samlAdvanced","samlRelayStateTimeout":"samlServiceMetaData/samlAdvanced","samlSPMetaDataNodes":"","samlSPSSODescriptorArtifactResolutionServiceArtifact":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorArtifactResolutionService","samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorAssertionConsumerService","samlSPSSODescriptorAssertionConsumerServiceHTTPPost":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorAssertionConsumerService","samlSPSSODescriptorAuthnRequestsSigned":"samlServiceMetaData/samlSPSSODescriptor","samlSPSSODescriptorSingleLogoutServiceHTTPPost":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorSingleLogoutServiceHTTPRedirect":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorSingleLogoutServiceSOAP":"samlServiceMetaData/samlSPSSODescriptor/samlSPSSODescriptorSingleLogoutService","samlSPSSODescriptorWantAssertionsSigned":"samlServiceMetaData/samlSPSSODescriptor","samlServicePrivateKeyEnc":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePrivateKeyEncPwd":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePrivateKeySig":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServicePrivateKeySigPwd":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServicePublicKeyEnc":"samlServiceMetaData/samlServiceSecurity/samlServiceSecurityEnc","samlServicePublicKeySig":"samlServiceMetaData/samlServiceSecurity/samlServiceSecuritySig","samlServiceSignatureMethod":"samlServiceMetaData/samlServiceSecurity","samlServiceUseCertificateInResponse":"samlServiceMetaData/samlServiceSecurity","samlStorage":"samlServiceMetaData/samlAdvanced","samlStorageOptions":"samlServiceMetaData/samlAdvanced","samlUseQueryStringSpecific":"samlServiceMetaData/samlAdvanced","securedCookie":"generalParameters/cookieParams","sessionDataToRemember":"generalParameters/plugins/loginHistory","sfExtra":"generalParameters/secondFactors","sfRemovedMsgRule":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifMsg":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifRef":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedNotifTitle":"generalParameters/secondFactors/sfRemovedNotification","sfRemovedUseNotif":"generalParameters/secondFactors/sfRemovedNotification","sfRequired":"generalParameters/secondFactors","showLanguages":"generalParameters/portalParams/portalCustomization","singleIP":"generalParameters/sessionParams/multipleSessions","singleSession":"generalParameters/sessionParams/multipleSessions","singleSessionUserByIP":"generalParameters/sessionParams/multipleSessions","singleUserByIP":"generalParameters/sessionParams/multipleSessions","skipRenewConfirmation":"generalParameters/advancedParams/portalRedirection","slaveAuthnLevel":"generalParameters/authParams/slaveParams","slaveExportedVars":"generalParameters/authParams/slaveParams","slaveHeaderContent":"generalParameters/authParams/slaveParams","slaveHeaderName":"generalParameters/authParams/slaveParams","slaveMasterIP":"generalParameters/authParams/slaveParams","slaveUserHeader":"generalParameters/authParams/slaveParams","soapConfigServer":"generalParameters/plugins/portalServers","soapSessionServer":"generalParameters/plugins/portalServers","sslByAjax":"generalParameters/authParams/sslParams","sslHost":"generalParameters/authParams/sslParams","stayConnected":"generalParameters/plugins","storePassword":"generalParameters/sessionParams","successLoginNumber":"generalParameters/plugins/loginHistory","timeout":"generalParameters/sessionParams","timeoutActivity":"generalParameters/sessionParams","timeoutActivityInterval":"generalParameters/sessionParams","tokenUseGlobalStorage":"generalParameters/advancedParams/security","totp2fActivation":"generalParameters/secondFactors/totp2f","totp2fAuthnLevel":"generalParameters/secondFactors/totp2f","totp2fDigits":"generalParameters/secondFactors/totp2f","totp2fDisplayExistingSecret":"generalParameters/secondFactors/totp2f","totp2fInterval":"generalParameters/secondFactors/totp2f","totp2fIssuer":"generalParameters/secondFactors/totp2f","totp2fLabel":"generalParameters/secondFactors/totp2f","totp2fLogo":"generalParameters/secondFactors/totp2f","totp2fRange":"generalParameters/secondFactors/totp2f","totp2fSelfRegistration":"generalParameters/secondFactors/totp2f","totp2fTTL":"generalParameters/secondFactors/totp2f","totp2fUserCanChangeKey":"generalParameters/secondFactors/totp2f","totp2fUserCanRemoveKey":"generalParameters/secondFactors/totp2f","trustedDomains":"generalParameters/advancedParams/security","twitterAppName":"generalParameters/authParams/twitterParams","twitterAuthnLevel":"generalParameters/authParams/twitterParams","twitterKey":"generalParameters/authParams/twitterParams","twitterSecret":"generalParameters/authParams/twitterParams","twitterUserField":"generalParameters/authParams/twitterParams","u2fActivation":"generalParameters/secondFactors/u2f","u2fAuthnLevel":"generalParameters/secondFactors/u2f","u2fLabel":"generalParameters/secondFactors/u2f","u2fLogo":"generalParameters/secondFactors/u2f","u2fSelfRegistration":"generalParameters/secondFactors/u2f","u2fTTL":"generalParameters/secondFactors/u2f","u2fUserCanRemoveKey":"generalParameters/secondFactors/u2f","upgradeSession":"generalParameters/plugins","useRedirectOnError":"generalParameters/advancedParams/redirection","useRedirectOnForbidden":"generalParameters/advancedParams/redirection","useSafeJail":"generalParameters/advancedParams/security","userControl":"generalParameters/advancedParams/security","userDB":"generalParameters/authParams","userPivot":"generalParameters/authParams/dbiParams/dbiSchema","utotp2fActivation":"generalParameters/secondFactors/utotp2f","utotp2fAuthnLevel":"generalParameters/secondFactors/utotp2f","utotp2fLabel":"generalParameters/secondFactors/utotp2f","utotp2fLogo":"generalParameters/secondFactors/utotp2f","virtualHosts":"","webIDAuthnLevel":"generalParameters/authParams/webidParams","webIDExportedVars":"generalParameters/authParams/webidParams","webIDWhitelist":"generalParameters/authParams/webidParams","whatToTrace":"generalParameters/logParams","wsdlServer":"generalParameters/plugins/portalServers","yubikey2fActivation":"generalParameters/secondFactors/yubikey2f","yubikey2fAuthnLevel":"generalParameters/secondFactors/yubikey2f","yubikey2fClientID":"generalParameters/secondFactors/yubikey2f","yubikey2fLabel":"generalParameters/secondFactors/yubikey2f","yubikey2fLogo":"generalParameters/secondFactors/yubikey2f","yubikey2fNonce":"generalParameters/secondFactors/yubikey2f","yubikey2fPublicIDSize":"generalParameters/secondFactors/yubikey2f","yubikey2fSecretKey":"generalParameters/secondFactors/yubikey2f","yubikey2fSelfRegistration":"generalParameters/secondFactors/yubikey2f","yubikey2fTTL":"generalParameters/secondFactors/yubikey2f","yubikey2fUrl":"generalParameters/secondFactors/yubikey2f","yubikey2fUserCanRemoveKey":"generalParameters/secondFactors/yubikey2f"} \ No newline at end of file diff --git a/lemonldap-ng-manager/site/htdocs/static/struct.json b/lemonldap-ng-manager/site/htdocs/static/struct.json index 6e79f307d..ac4b77907 100644 --- a/lemonldap-ng-manager/site/htdocs/static/struct.json +++ b/lemonldap-ng-manager/site/htdocs/static/struct.json @@ -1 +1 @@ -[{"_nodes":[{"_nodes":[{"default":"http://auth.example.com/","id":"portal","title":"portal"},{"_nodes":[{"_nodes":[{"default":1,"id":"portalDisplayLogout","title":"portalDisplayLogout","type":"boolOrExpr"},{"default":"$_auth =~ /^(LDAP|DBI|Demo)$/","id":"portalDisplayChangePassword","title":"portalDisplayChangePassword","type":"boolOrExpr"},{"default":1,"id":"portalDisplayAppslist","title":"portalDisplayAppslist","type":"boolOrExpr"},{"default":1,"id":"portalDisplayLoginHistory","title":"portalDisplayLoginHistory","type":"boolOrExpr"},{"default":"$_oidcConnectedRP","id":"portalDisplayOidcConsents","title":"portalDisplayOidcConsents","type":"boolOrExpr"},{"_nodes":[{"default":1,"id":"portalDisplayFavApps","title":"portalDisplayFavApps","type":"boolOrExpr"},{"default":3,"id":"favAppsMaxNumber","title":"favAppsMaxNumber","type":"int"}],"help":"favapps.html","id":"favApps","title":"favApps","type":"simpleInputContainer"}],"id":"portalModules","title":"portalModules","type":"simpleInputContainer"},{"cnodes":"applicationList","default":[{"data":{"catname":"Default category","type":"category"},"id":"applicationList/default","title":"default","type":"catAndAppList"}],"help":"portalmenu.html#categories_and_applications","id":"applicationList","title":"applicationList","type":"catAndAppList"}],"help":"portalmenu.html","id":"portalMenu","title":"portalMenu"},{"_nodes":[{"default":"common/logos/logo_llng_400px.png","id":"portalMainLogo","title":"portalMainLogo"},{"default":1,"id":"showLanguages","title":"showLanguages","type":"bool"},{"default":"bootstrap","id":"portalSkin","select":[{"k":"bootstrap","v":"Bootstrap"}],"title":"portalSkin","type":"portalskin"},{"id":"portalSkinBackground","select":[{"k":"","v":"None"},{"k":"1280px-Anse_Source_d'Argent_2-La_Digue.jpg","v":"Anse"},{"k":"1280px-Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg","v":"Waterfall"},{"k":"1280px-BrockenSnowedTrees.jpg","v":"Snowed Trees"},{"k":"1280px-Cedar_Breaks_National_Monument_partially.jpg","v":"National Monument"},{"k":"1280px-Parry_Peak_from_Winter_Park.jpg","v":"Winter"},{"k":"Aletschgletscher_mit_Pinus_cembra1.jpg","v":"Pinus"}],"title":"portalSkinBackground","type":"portalskinbackground"},{"cnodes":"portalSkinRules","help":"portalcustom.html","id":"portalSkinRules","title":"portalSkinRules","type":"keyTextContainer"},{"_nodes":[{"default":1,"id":"portalCheckLogins","title":"portalCheckLogins","type":"bool"},{"default":0,"id":"portalDisplayResetPassword","title":"portalDisplayResetPassword","type":"bool"},{"default":3,"id":"passwordResetAllowedRetries","title":"passwordResetAllowedRetries","type":"int"},{"default":1,"id":"portalDisplayRegister","title":"portalDisplayRegister","type":"bool"}],"help":"portalcustom.html#buttons","id":"portalButtons","title":"portalButtons","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"portalRequireOldPassword","title":"portalRequireOldPassword","type":"bool"},{"default":0,"id":"hideOldPassword","title":"hideOldPassword","type":"bool"},{"default":0,"id":"mailOnPasswordChange","title":"mailOnPasswordChange","type":"bool"}],"help":"portalcustom.html#password_management","id":"passwordManagement","title":"passwordManagement","type":"simpleInputContainer"},{"_nodes":[{"default":"_user","id":"portalUserAttr","title":"portalUserAttr"},{"default":0,"id":"portalOpenLinkInNewWindow","title":"portalOpenLinkInNewWindow","type":"bool"},{"default":1,"id":"portalAntiFrame","title":"portalAntiFrame","type":"bool"},{"default":60000,"id":"portalPingInterval","title":"portalPingInterval","type":"int"},{"default":1,"id":"portalErrorOnExpiredSession","title":"portalErrorOnExpiredSession","type":"bool"},{"default":0,"id":"portalErrorOnMailNotFound","title":"portalErrorOnMailNotFound","type":"bool"}],"help":"portalcustom.html#other_parameters","id":"portalOther","title":"portalOther","type":"simpleInputContainer"}],"help":"portalcustom.html","id":"portalCustomization","title":"portalCustomization"},{"_nodes":[{"default":0,"id":"captcha_login_enabled","title":"captcha_login_enabled","type":"bool"},{"default":1,"id":"captcha_mail_enabled","title":"captcha_mail_enabled","type":"bool"},{"default":1,"id":"captcha_register_enabled","title":"captcha_register_enabled","type":"bool"},{"default":6,"id":"captcha_size","title":"captcha_size","type":"int"}],"help":"captcha.html","id":"portalCaptcha","title":"portalCaptcha","type":"simpleInputContainer"}],"help":"portal.html","id":"portalParams","title":"portalParams"},{"_nodes":[{"default":"Demo","id":"authentication","select":[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"k":"SSL","v":"SSL"},{"k":"Twitter","v":"Twitter"},{"k":"WebID","v":"WebID"},{"k":"Demo","v":"Demonstration"},{"k":"Choice","v":"authChoice"},{"k":"Combination","v":"combineMods"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"SAML","v":"SAML v2"},{"k":"Proxy","v":"Proxy"},{"k":"Remote","v":"Remote"},{"k":"Slave","v":"Slave"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"authentication","type":"select"},{"default":"Same","id":"userDB","select":[{"k":"Same","v":"Same"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"LDAP","v":"LDAP"},{"k":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"userDB","type":"select"},{"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":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"passwordDB","type":"select"},{"default":"Null","id":"registerDB","select":[{"k":"AD","v":"Active Directory"},{"k":"Demo","v":"Demonstration"},{"k":"LDAP","v":"LDAP"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"registerDB","type":"select"}],"_nodes_cond":[{"_nodes":[{"default":0,"id":"ADPwdMaxAge","title":"ADPwdMaxAge","type":"int"},{"default":0,"id":"ADPwdExpireWarning","title":"ADPwdExpireWarning","type":"int"}],"help":"authad.html","id":"adParams","show":false,"title":"adParams","type":"simpleInputContainer"},{"_nodes":[{"default":"lmAuth","id":"authChoiceParam","title":"authChoiceParam"},{"cnodes":"authChoiceModules","id":"authChoiceModules","select":[[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Null","v":"None"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"Proxy","v":"Proxy"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"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":"Custom","v":"customModule"}],[{"k":"AD","v":"Active Directory"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"Facebook","v":"Facebook"},{"k":"LDAP","v":"LDAP"},{"k":"Null","v":"None"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"Proxy","v":"Proxy"},{"k":"REST","v":"REST"},{"k":"Remote","v":"Remote"},{"k":"SAML","v":"SAML v2"},{"k":"Slave","v":"Slave"},{"k":"WebID","v":"WebID"},{"k":"Custom","v":"customModule"}],[{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"LDAP","v":"LDAP"},{"k":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}]],"title":"authChoiceModules","type":"authChoiceContainer"}],"help":"authchoice.html","id":"choiceParams","show":false,"title":"choiceParams"},{"_nodes":[{"default":4,"id":"apacheAuthnLevel","title":"apacheAuthnLevel","type":"int"}],"help":"authapache.html","id":"apacheParams","show":false,"title":"apacheParams","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"casAuthnLevel","title":"casAuthnLevel","type":"int"}],"help":"authcas.html","id":"casParams","show":false,"title":"casParams","type":"simpleInputContainer"},{"_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","type":"password"}],"id":"dbiConnectionAuth","title":"dbiConnectionAuth","type":"simpleInputContainer"},{"_nodes":[{"id":"dbiUserChain","title":"dbiUserChain"},{"id":"dbiUserUser","title":"dbiUserUser"},{"id":"dbiUserPassword","title":"dbiUserPassword","type":"password"}],"id":"dbiConnectionUser","title":"dbiConnectionUser","type":"simpleInputContainer"}],"help":"authdbi.html#connection","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"}],"help":"authdbi.html#schema","id":"dbiSchema","title":"dbiSchema","type":"simpleInputContainer"},{"_nodes":[{"help":"authdbi.html#password","id":"dbiAuthPasswordHash","title":"dbiAuthPasswordHash"},{"_nodes":[{"help":"authdbi.html#password","id":"dbiDynamicHashEnabled","title":"dbiDynamicHashEnabled","type":"bool"},{"help":"authdbi.html#password","id":"dbiDynamicHashValidSchemes","title":"dbiDynamicHashValidSchemes"},{"help":"authdbi.html#password","id":"dbiDynamicHashValidSaltedSchemes","title":"dbiDynamicHashValidSaltedSchemes"},{"help":"authdbi.html#password","id":"dbiDynamicHashNewPasswordScheme","title":"dbiDynamicHashNewPasswordScheme"}],"help":"authdbi.html#password","id":"dbiDynamicHash","title":"dbiDynamicHash","type":"simpleInputContainer"}],"help":"authdbi.html#password","id":"dbiPassword","title":"dbiPassword"}],"help":"authdbi.html","id":"dbiParams","show":false,"title":"dbiParams"},{"_nodes":[{"cnodes":"demoExportedVars","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"}],"help":"authdemo.html","id":"demoParams","show":false,"title":"demoParams"},{"_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"},{"default":"id","id":"facebookUserField","title":"facebookUserField"}],"help":"authfacebook.html","id":"facebookParams","show":false,"title":"facebookParams"},{"_nodes":[{"default":3,"id":"krbAuthnLevel","title":"krbAuthnLevel","type":"int"},{"id":"krbKeytab","title":"krbKeytab"},{"default":0,"id":"krbByJs","title":"krbByJs","type":"bool"},{"default":1,"id":"krbRemoveDomain","title":"krbRemoveDomain","type":"bool"}],"help":"authkerberos.html","id":"kerberosParams","show":false,"title":"kerberosParams","type":"simpleInputContainer"},{"_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","type":"password"},{"default":120,"id":"ldapTimeout","title":"ldapTimeout","type":"int"},{"default":3,"id":"ldapVersion","title":"ldapVersion","type":"int"},{"id":"ldapRaw","title":"ldapRaw"}],"help":"authldap.html#connection","id":"ldapConnection","title":"ldapConnection","type":"simpleInputContainer"},{"_nodes":[{"id":"LDAPFilter","title":"LDAPFilter"},{"id":"AuthLDAPFilter","title":"AuthLDAPFilter"},{"id":"mailLDAPFilter","title":"mailLDAPFilter"},{"default":"find","id":"ldapSearchDeref","select":[{"k":"never","v":"never"},{"k":"search","v":"search"},{"k":"find","v":"find"},{"k":"always","v":"always"}],"title":"ldapSearchDeref","type":"select"}],"help":"authldap.html#filters","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":"ldapGroupDecodeSearchedValue","title":"ldapGroupDecodeSearchedValue","type":"bool"},{"default":0,"id":"ldapGroupRecursive","title":"ldapGroupRecursive","type":"bool"},{"default":"dn","id":"ldapGroupAttributeNameGroup","title":"ldapGroupAttributeNameGroup"}],"help":"authldap.html#groups","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"},{"default":0,"id":"ldapAllowResetExpiredPassword","title":"ldapAllowResetExpiredPassword","type":"bool"}],"help":"authldap.html#password","id":"ldapPassword","title":"ldapPassword","type":"simpleInputContainer"}],"help":"authldap.html","id":"ldapParams","show":false,"title":"ldapParams"},{"_nodes":[{"default":1,"id":"linkedInAuthnLevel","title":"linkedInAuthnLevel","type":"int"},{"id":"linkedInClientID","title":"linkedInClientID"},{"id":"linkedInClientSecret","title":"linkedInClientSecret","type":"password"},{"default":"id,first-name,last-name,email-address","id":"linkedInFields","title":"linkedInFields"},{"default":"emailAddress","id":"linkedInUserField","title":"linkedInUserField"},{"default":"r_liteprofile r_emailaddress","id":"linkedInScope","title":"linkedInScope"}],"help":"authlinkedin.html","id":"linkedinParams","show":false,"title":"linkedinParams","type":"simpleInputContainer"},{"_nodes":[{"id":"combination","title":"combination"},{"cnodes":"combModules","id":"combModules","select":[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"k":"SSL","v":"SSL"},{"k":"Twitter","v":"Twitter"},{"k":"WebID","v":"WebID"},{"k":"Demo","v":"Demonstration"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"SAML","v":"SAML v2"},{"k":"Proxy","v":"Proxy"},{"k":"Remote","v":"Remote"},{"k":"Slave","v":"Slave"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"combModules","type":"cmbModuleContainer"},{"id":"combinationForms","title":"combinationForms"}],"help":"authcombination.html","id":"combinationParams","show":false,"title":"combinationParams"},{"_nodes":[{"default":0,"id":"nullAuthnLevel","title":"nullAuthnLevel","type":"int"}],"help":"authnull.html","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"},{"default":"0;","id":"openIdIDPList","title":"openIdIDPList","type":"blackWhiteList"}],"help":"authopenid.html","id":"openidParams","show":false,"title":"openidParams"},{"_nodes":[{"default":1,"id":"oidcAuthnLevel","title":"oidcAuthnLevel","type":"int"},{"default":"openidconnectcallback","id":"oidcRPCallbackGetParam","title":"oidcRPCallbackGetParam"},{"default":600,"id":"oidcRPStateTimeout","title":"oidcRPStateTimeout","type":"int"}],"help":"authopenidconnect.html","id":"oidcParams","show":false,"title":"oidcParams","type":"simpleInputContainer"},{"_nodes":[{"default":5,"id":"gpgAuthnLevel","title":"gpgAuthnLevel","type":"int"},{"default":"","id":"gpgDb","title":"gpgDb"}],"help":"authgpg.html","id":"gpgParams","show":false,"title":"gpgParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"proxyAuthnLevel","title":"proxyAuthnLevel","type":"int"},{"id":"proxyAuthService","title":"proxyAuthService"},{"id":"proxySessionService","title":"proxySessionService"},{"id":"remoteCookieName","title":"remoteCookieName"},{"default":0,"id":"proxyUseSoap","title":"proxyUseSoap","type":"bool"}],"help":"authproxy.html","id":"proxyParams","show":false,"title":"proxyParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"pamAuthnLevel","title":"pamAuthnLevel","type":"int"},{"default":"login","id":"pamService","title":"pamService"}],"help":"authpam.html","id":"pamParams","show":false,"title":"pamParams","type":"simpleInputContainer"},{"_nodes":[{"default":3,"id":"radiusAuthnLevel","title":"radiusAuthnLevel","type":"int"},{"id":"radiusSecret","title":"radiusSecret"},{"id":"radiusServer","title":"radiusServer"}],"help":"authradius.html","id":"radiusParams","show":false,"title":"radiusParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"restAuthnLevel","title":"restAuthnLevel","type":"int"},{"id":"restAuthUrl","title":"restAuthUrl"},{"id":"restUserDBUrl","title":"restUserDBUrl"},{"id":"restPwdConfirmUrl","title":"restPwdConfirmUrl"},{"id":"restPwdModifyUrl","title":"restPwdModifyUrl"}],"help":"authrest.html","id":"restParams","show":false,"title":"restParams","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"}],"help":"authremote.html","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":"slaveHeaderName","title":"slaveHeaderName"},{"id":"slaveHeaderContent","title":"slaveHeaderContent"}],"help":"authslave.html","id":"slaveParams","show":false,"title":"slaveParams"},{"_nodes":[{"default":5,"id":"SSLAuthnLevel","title":"SSLAuthnLevel","type":"int"},{"default":"SSL_CLIENT_S_DN_Email","id":"SSLVar","title":"SSLVar"},{"cnodes":"SSLVarIf","default":[],"id":"SSLVarIf","title":"SSLVarIf","type":"keyTextContainer"},{"default":0,"id":"sslByAjax","title":"sslByAjax","type":"bool"},{"id":"sslHost","title":"sslHost"}],"help":"authssl.html","id":"sslParams","show":false,"title":"sslParams"},{"_nodes":[{"default":1,"id":"twitterAuthnLevel","title":"twitterAuthnLevel","type":"int"},{"id":"twitterKey","title":"twitterKey"},{"id":"twitterSecret","title":"twitterSecret"},{"id":"twitterAppName","title":"twitterAppName"},{"default":"screen_name","id":"twitterUserField","title":"twitterUserField"}],"help":"authtwitter.html","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"}],"help":"authwebid.html","id":"webidParams","show":false,"title":"webidParams"},{"_nodes":[{"id":"customAuth","title":"customAuth"},{"id":"customUserDB","title":"customUserDB"},{"id":"customPassword","title":"customPassword"},{"id":"customRegister","title":"customRegister"},{"cnodes":"customAddParams","id":"customAddParams","title":"customAddParams","type":"keyTextContainer"}],"help":"authcustom.html","id":"customParams","show":false,"title":"customParams"}],"_nodes_filter":"authParams","help":"start.html#authentication_users_and_password_databases","id":"authParams","title":"authParams","type":"authParams"},{"_nodes":[{"_nodes":[{"default":0,"id":"issuerDBSAMLActivation","title":"issuerDBSAMLActivation","type":"bool"},{"default":"^/saml/","id":"issuerDBSAMLPath","title":"issuerDBSAMLPath"},{"default":1,"id":"issuerDBSAMLRule","title":"issuerDBSAMLRule","type":"boolOrExpr"}],"help":"idpsaml.html","id":"issuerDBSAML","title":"issuerDBSAML","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBCASActivation","title":"issuerDBCASActivation","type":"bool"},{"default":"^/cas/","id":"issuerDBCASPath","title":"issuerDBCASPath"},{"default":1,"id":"issuerDBCASRule","title":"issuerDBCASRule","type":"boolOrExpr"}],"help":"idpcas.html#enabling_cas","id":"issuerDBCAS","title":"issuerDBCAS","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBOpenIDActivation","title":"issuerDBOpenIDActivation","type":"bool"},{"default":"^/openidserver/","id":"issuerDBOpenIDPath","title":"issuerDBOpenIDPath"},{"default":1,"id":"issuerDBOpenIDRule","title":"issuerDBOpenIDRule","type":"boolOrExpr"},{"_nodes":[{"id":"openIdIssuerSecret","title":"openIdIssuerSecret"},{"id":"openIdAttr","title":"openIdAttr"},{"default":"0;","id":"openIdSPList","title":"openIdSPList","type":"blackWhiteList"},{"_nodes":[{"default":"cn","id":"openIdSreg_fullname","title":"openIdSreg_fullname"},{"default":"uid","id":"openIdSreg_nickname","title":"openIdSreg_nickname"},{"id":"openIdSreg_language","title":"openIdSreg_language"},{"id":"openIdSreg_postcode","title":"openIdSreg_postcode"},{"default":"_timezone","id":"openIdSreg_timezone","title":"openIdSreg_timezone"},{"id":"openIdSreg_country","title":"openIdSreg_country"},{"id":"openIdSreg_gender","title":"openIdSreg_gender"},{"default":"mail","id":"openIdSreg_email","title":"openIdSreg_email"},{"id":"openIdSreg_dob","title":"openIdSreg_dob"}],"id":"openIdSreg","title":"openIdSreg","type":"simpleInputContainer"}],"id":"issuerDBOpenIDOptions","title":"issuerDBOpenIDOptions"}],"help":"idpopenid.html","id":"issuerDBOpenID","title":"issuerDBOpenID"},{"_nodes":[{"default":0,"id":"issuerDBOpenIDConnectActivation","title":"issuerDBOpenIDConnectActivation","type":"bool"},{"default":"^/oauth2/","id":"issuerDBOpenIDConnectPath","title":"issuerDBOpenIDConnectPath"},{"default":1,"id":"issuerDBOpenIDConnectRule","title":"issuerDBOpenIDConnectRule","type":"boolOrExpr"}],"help":"idpopenidconnect.html","id":"issuerDBOpenIDConnect","title":"issuerDBOpenIDConnect","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBGetActivation","title":"issuerDBGetActivation","type":"bool"},{"default":"^/get/","id":"issuerDBGetPath","title":"issuerDBGetPath"},{"default":1,"id":"issuerDBGetRule","title":"issuerDBGetRule","type":"boolOrExpr"},{"default":[],"id":"issuerDBGetParameters","title":"issuerDBGetParameters","type":"doubleHash"}],"help":"issuerdbget.html","id":"issuerDBGet","title":"issuerDBGet"}],"help":"start.html#identity_provider","id":"issuerParams","title":"issuerParams"},{"_nodes":[{"default":"uid","id":"whatToTrace","title":"whatToTrace"},{"id":"customToTrace","title":"customToTrace"},{"default":"_password _2fDevices","id":"hiddenAttributes","title":"hiddenAttributes"}],"help":"logs.html","id":"logParams","title":"logParams","type":"simpleInputContainer"},{"_nodes":[{"default":"lemonldap","id":"cookieName","title":"cookieName"},{"default":"example.com","id":"domain","title":"domain"},{"default":0,"id":"cda","title":"cda","type":"bool"},{"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"},{"default":1,"id":"httpOnly","title":"httpOnly","type":"bool"},{"id":"cookieExpiration","title":"cookieExpiration","type":"int"}],"help":"ssocookie.html","id":"cookieParams","title":"cookieParams","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"storePassword","title":"storePassword","type":"bool"},{"default":72000,"id":"timeout","title":"timeout","type":"int"},{"default":0,"id":"timeoutActivity","title":"timeoutActivity","type":"int"},{"default":60,"id":"timeoutActivityInterval","title":"timeoutActivityInterval","type":"int"},{"cnodes":"grantSessionRules","default":[],"id":"grantSessionRules","title":"grantSessionRules","type":"grantContainer"},{"_nodes":[{"default":"Apache::Session::File","id":"globalStorage","title":"globalStorage"},{"cnodes":"globalStorageOptions","default":[{"data":"/var/lib/lemonldap-ng/sessions/","id":"globalStorageOptions/Directory","title":"Directory","type":"keyText"},{"data":"/var/lib/lemonldap-ng/sessions/lock/","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"},{"default":"Cache::FileCache","id":"localSessionStorage","title":"localSessionStorage"},{"cnodes":"localSessionStorageOptions","default":[{"data":3,"id":"localSessionStorageOptions/cache_depth","title":"cache_depth","type":"keyText"},{"data":"/tmp","id":"localSessionStorageOptions/cache_root","title":"cache_root","type":"keyText"},{"data":600,"id":"localSessionStorageOptions/default_expires_in","title":"default_expires_in","type":"keyText"},{"data":"007","id":"localSessionStorageOptions/directory_umask","title":"directory_umask","type":"keyText"},{"data":"lemonldap-ng-sessions","id":"localSessionStorageOptions/namespace","title":"namespace","type":"keyText"}],"id":"localSessionStorageOptions","title":"localSessionStorageOptions","type":"keyTextContainer"}],"help":"start.html#sessions_database","id":"sessionStorage","title":"sessionStorage"},{"_nodes":[{"default":0,"id":"singleSession","title":"singleSession","type":"bool"},{"default":0,"id":"singleIP","title":"singleIP","type":"bool"},{"default":0,"id":"singleUserByIP","title":"singleUserByIP","type":"bool"},{"default":0,"id":"singleSessionUserByIP","title":"singleSessionUserByIP","type":"bool"},{"default":1,"id":"notifyDeleted","title":"notifyDeleted","type":"bool"},{"default":0,"id":"notifyOther","title":"notifyOther","type":"bool"}],"id":"multipleSessions","title":"multipleSessions","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"disablePersistentStorage","title":"disablePersistentStorage","type":"bool"},{"id":"persistentStorage","title":"persistentStorage"},{"cnodes":"persistentStorageOptions","id":"persistentStorageOptions","title":"persistentStorageOptions","type":"keyTextContainer"}],"id":"persistentSessions","title":"persistentSessions"}],"help":"sessions.html","id":"sessionParams","title":"sessionParams"},{"_nodes":[{"cnodes":"reloadUrls","help":"configlocation.html#configuration_reload","id":"reloadUrls","title":"reloadUrls","type":"keyTextContainer"},{"default":5,"id":"reloadTimeout","title":"reloadTimeout","type":"int"}],"help":"configlocation.html#configuration_reload","id":"reloadParams","title":"reloadParams"},{"_nodes":[{"default":0,"id":"stayConnected","title":"stayConnected","type":"bool"},{"default":0,"help":"status.html","id":"portalStatus","title":"portalStatus","type":"bool"},{"default":1,"id":"upgradeSession","title":"upgradeSession","type":"bool"},{"_nodes":[{"default":0,"id":"wsdlServer","title":"wsdlServer","type":"bool"},{"default":0,"id":"restSessionServer","title":"restSessionServer","type":"bool"},{"default":0,"id":"restExportSecretKeys","title":"restExportSecretKeys","type":"bool"},{"default":0,"id":"restConfigServer","title":"restConfigServer","type":"bool"},{"default":0,"help":"soapservices.html","id":"soapSessionServer","title":"soapSessionServer","type":"bool"},{"default":0,"help":"soapservices.html","id":"soapConfigServer","title":"soapConfigServer","type":"bool"},{"id":"exportedAttr","title":"exportedAttr"}],"help":"portalservers.html","id":"portalServers","title":"portalServers","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"loginHistoryEnabled","title":"loginHistoryEnabled","type":"bool"},{"default":5,"id":"successLoginNumber","title":"successLoginNumber","type":"int"},{"default":5,"id":"failedLoginNumber","title":"failedLoginNumber","type":"int"},{"cnodes":"sessionDataToRemember","id":"sessionDataToRemember","title":"sessionDataToRemember","type":"keyTextContainer"}],"help":"loginhistory.html","id":"loginHistory","title":"loginHistory"},{"_nodes":[{"default":0,"id":"notification","title":"notification","type":"bool"},{"default":0,"id":"oldNotifFormat","title":"oldNotifFormat","type":"bool"},{"default":"File","id":"notificationStorage","title":"notificationStorage"},{"cnodes":"notificationStorageOptions","default":[{"data":"/var/lib/lemonldap-ng/notifications","id":"notificationStorageOptions/dirName","title":"dirName","type":"keyText"}],"id":"notificationStorageOptions","title":"notificationStorageOptions","type":"keyTextContainer"},{"default":"allusers","id":"notificationWildcard","title":"notificationWildcard"},{"id":"notificationXSLTfile","title":"notificationXSLTfile"},{"_nodes":[{"default":0,"id":"notificationServer","title":"notificationServer","type":"bool"},{"default":"uid reference date title subtitle text check","id":"notificationServerSentAttributes","title":"notificationServerSentAttributes"},{"_nodes":[{"default":1,"id":"notificationServerPOST","title":"notificationServerPOST","type":"bool"},{"default":0,"id":"notificationServerGET","title":"notificationServerGET","type":"bool"},{"default":0,"id":"notificationServerDELETE","title":"notificationServerDELETE","type":"bool"}],"id":"notificationServerMethods","title":"notificationServerMethods","type":"simpleInputContainer"}],"help":"notifications.html#server","id":"serverNotification","title":"serverNotification"}],"help":"notifications.html","id":"notifications","title":"notifications"},{"_nodes":[{"_nodes":[{"id":"mailSubject","title":"mailSubject"},{"id":"mailBody","title":"mailBody","type":"longtext"},{"id":"mailConfirmSubject","title":"mailConfirmSubject"},{"id":"mailConfirmBody","title":"mailConfirmBody","type":"longtext"}],"id":"mailContent","title":"mailContent","type":"simpleInputContainer"},{"_nodes":[{"default":"http://auth.example.com/resetpwd","id":"mailUrl","title":"mailUrl"},{"default":0,"id":"mailTimeout","title":"mailTimeout","type":"int"},{"default":"[A-Z]{3}[a-z]{5}.\\d{2}","id":"randomPasswordRegexp","title":"randomPasswordRegexp"}],"id":"mailOther","title":"mailOther","type":"simpleInputContainer"}],"help":"resetpassword.html","id":"passwordManagement","title":"passwordManagement"},{"_nodes":[{"default":"http://auth.example.com/register","id":"registerUrl","title":"registerUrl"},{"default":0,"id":"registerTimeout","title":"registerTimeout","type":"int"},{"id":"registerConfirmSubject","title":"registerConfirmSubject"},{"id":"registerDoneSubject","title":"registerDoneSubject"}],"help":"register.html","id":"register","title":"register","type":"simpleInputContainer"},{"_nodes":[{"cnodes":"autoSigninRules","id":"autoSigninRules","title":"autoSigninRules","type":"keyTextContainer"}],"help":"autosignin.html","id":"autoSignin","title":"autoSignin"},{"_nodes":[{"default":0,"id":"checkState","title":"checkState","type":"bool"},{"id":"checkStateSecret","title":"checkStateSecret"}],"help":"checkstate.html","id":"stateCheck","title":"stateCheck","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"checkUser","title":"checkUser","type":"bool"},{"default":1,"id":"checkUserIdRule","title":"checkUserIdRule"},{"default":"_loginHistory _session_id hGroups","id":"checkUserHiddenAttributes","title":"checkUserHiddenAttributes"},{"default":0,"id":"checkUserDisplayPersistentInfo","title":"checkUserDisplayPersistentInfo","type":"bool"},{"default":0,"id":"checkUserDisplayEmptyValues","title":"checkUserDisplayEmptyValues","type":"bool"}],"help":"checkuser.html","id":"checkUsers","title":"checkUsers","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"impersonationRule","title":"impersonationRule","type":"boolOrExpr"},{"default":1,"id":"impersonationIdRule","title":"impersonationIdRule"},{"default":"_2fDevices _loginHistory","id":"impersonationHiddenAttributes","title":"impersonationHiddenAttributes"},{"default":1,"id":"impersonationSkipEmptyValues","title":"impersonationSkipEmptyValues","type":"bool"},{"default":0,"id":"impersonationMergeSSOgroups","title":"impersonationMergeSSOgroups","type":"boolOrExpr"}],"help":"impersonation.html","id":"impersonation","title":"impersonation","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"contextSwitchingRule","title":"contextSwitchingRule","type":"boolOrExpr"},{"default":1,"id":"contextSwitchingIdRule","title":"contextSwitchingIdRule"},{"default":1,"id":"contextSwitchingStopWithLogout","title":"contextSwitchingStopWithLogout","type":"bool"}],"help":"contextswitching.html","id":"contextSwitching","title":"contextSwitching","type":"simpleInputContainer"}],"help":"start.html#plugins","id":"plugins","title":"plugins"},{"_nodes":[{"_nodes":[{"default":0,"id":"utotp2fActivation","title":"utotp2fActivation","type":"boolOrExpr"},{"id":"utotp2fAuthnLevel","title":"utotp2fAuthnLevel","type":"int"},{"id":"utotp2fLabel","title":"utotp2fLabel"},{"id":"utotp2fLogo","title":"utotp2fLogo"}],"help":"utotp2f.html","id":"utotp2f","title":"utotp2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"totp2fActivation","title":"totp2fActivation","type":"boolOrExpr"},{"default":0,"id":"totp2fSelfRegistration","title":"totp2fSelfRegistration","type":"boolOrExpr"},{"id":"totp2fIssuer","title":"totp2fIssuer"},{"default":30,"id":"totp2fInterval","title":"totp2fInterval","type":"int"},{"default":1,"id":"totp2fRange","title":"totp2fRange","type":"int"},{"default":6,"id":"totp2fDigits","title":"totp2fDigits","type":"int"},{"default":0,"id":"totp2fDisplayExistingSecret","title":"totp2fDisplayExistingSecret","type":"bool"},{"default":0,"id":"totp2fUserCanChangeKey","title":"totp2fUserCanChangeKey","type":"bool"},{"default":1,"id":"totp2fUserCanRemoveKey","title":"totp2fUserCanRemoveKey","type":"bool"},{"id":"totp2fTTL","title":"totp2fTTL","type":"int"},{"id":"totp2fAuthnLevel","title":"totp2fAuthnLevel","type":"int"},{"id":"totp2fLabel","title":"totp2fLabel"},{"id":"totp2fLogo","title":"totp2fLogo"}],"help":"totp2f.html","id":"totp2f","title":"totp2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"u2fActivation","title":"u2fActivation","type":"boolOrExpr"},{"default":0,"id":"u2fSelfRegistration","title":"u2fSelfRegistration","type":"boolOrExpr"},{"default":1,"id":"u2fUserCanRemoveKey","title":"u2fUserCanRemoveKey","type":"bool"},{"id":"u2fTTL","title":"u2fTTL","type":"int"},{"id":"u2fAuthnLevel","title":"u2fAuthnLevel","type":"int"},{"id":"u2fLabel","title":"u2fLabel"},{"id":"u2fLogo","title":"u2fLogo"}],"help":"u2f.html","id":"u2f","title":"u2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"mail2fActivation","title":"mail2fActivation","type":"boolOrExpr"},{"default":"\\d{6}","id":"mail2fCodeRegex","title":"mail2fCodeRegex"},{"id":"mail2fTimeout","title":"mail2fTimeout","type":"int"},{"id":"mail2fSubject","title":"mail2fSubject"},{"id":"mail2fBody","title":"mail2fBody","type":"longtext"},{"id":"mail2fAuthnLevel","title":"mail2fAuthnLevel","type":"int"},{"id":"mail2fLabel","title":"mail2fLabel"},{"id":"mail2fLogo","title":"mail2fLogo"}],"help":"mail2f.html","id":"mail2f","title":"mail2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"ext2fActivation","title":"ext2fActivation","type":"boolOrExpr"},{"default":"\\d{6}","id":"ext2fCodeActivation","title":"ext2fCodeActivation"},{"id":"ext2FSendCommand","title":"ext2FSendCommand"},{"id":"ext2FValidateCommand","title":"ext2FValidateCommand"},{"id":"ext2fAuthnLevel","title":"ext2fAuthnLevel","type":"int"},{"id":"ext2fLabel","title":"ext2fLabel"},{"id":"ext2fLogo","title":"ext2fLogo"}],"help":"external2f.html","id":"ext2f","title":"ext2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"radius2fActivation","title":"radius2fActivation","type":"boolOrExpr"},{"id":"radius2fServer","title":"radius2fServer"},{"id":"radius2fSecret","title":"radius2fSecret"},{"id":"radius2fUsernameSessionKey","title":"radius2fUsernameSessionKey"},{"default":20,"id":"radius2fTimeout","title":"radius2fTimeout","type":"int"},{"id":"radius2fAuthnLevel","title":"radius2fAuthnLevel","type":"int"},{"id":"radius2fLogo","title":"radius2fLogo"},{"id":"radius2fLabel","title":"radius2fLabel"}],"help":"radius2f.html","id":"radius2f","title":"radius2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"rest2fActivation","title":"rest2fActivation","type":"boolOrExpr"},{"id":"rest2fInitUrl","title":"rest2fInitUrl"},{"cnodes":"rest2fInitArgs","id":"rest2fInitArgs","title":"rest2fInitArgs","type":"keyTextContainer"},{"id":"rest2fVerifyUrl","title":"rest2fVerifyUrl"},{"cnodes":"rest2fVerifyArgs","id":"rest2fVerifyArgs","title":"rest2fVerifyArgs","type":"keyTextContainer"},{"id":"rest2fAuthnLevel","title":"rest2fAuthnLevel","type":"int"},{"id":"rest2fLabel","title":"rest2fLabel"},{"id":"rest2fLogo","title":"rest2fLogo"}],"help":"rest2f.html","id":"rest2f","title":"rest2f"},{"_nodes":[{"default":0,"id":"yubikey2fActivation","title":"yubikey2fActivation","type":"boolOrExpr"},{"default":0,"id":"yubikey2fSelfRegistration","title":"yubikey2fSelfRegistration","type":"boolOrExpr"},{"id":"yubikey2fClientID","title":"yubikey2fClientID"},{"id":"yubikey2fSecretKey","title":"yubikey2fSecretKey"},{"id":"yubikey2fNonce","title":"yubikey2fNonce"},{"id":"yubikey2fUrl","title":"yubikey2fUrl"},{"default":12,"id":"yubikey2fPublicIDSize","title":"yubikey2fPublicIDSize","type":"int"},{"default":1,"id":"yubikey2fUserCanRemoveKey","title":"yubikey2fUserCanRemoveKey","type":"bool"},{"id":"yubikey2fTTL","title":"yubikey2fTTL","type":"int"},{"id":"yubikey2fAuthnLevel","title":"yubikey2fAuthnLevel","type":"int"},{"id":"yubikey2fLabel","title":"yubikey2fLabel"},{"id":"yubikey2fLogo","title":"yubikey2fLogo"}],"help":"yubikey2f.html","id":"yubikey2f","title":"yubikey2f","type":"simpleInputContainer"},{"cnodes":"sfExtra","id":"sfExtra","select":[{"k":"Mail2F","v":"E-Mail"},{"k":"REST","v":"REST"},{"k":"Ext2F","v":"External"},{"k":"Radius","v":"Radius"}],"title":"sfExtra","type":"sfExtraContainer"},{"_nodes":[{"default":0,"help":"secondfactor.html","id":"sfRemovedMsgRule","title":"sfRemovedMsgRule","type":"boolOrExpr"},{"default":0,"id":"sfRemovedUseNotif","title":"sfRemovedUseNotif","type":"bool"},{"default":"RemoveSF","help":"secondfactor.html","id":"sfRemovedNotifRef","title":"sfRemovedNotifRef"},{"default":"Second factor notification","help":"secondfactor.html","id":"sfRemovedNotifTitle","title":"sfRemovedNotifTitle"},{"default":"_removedSF_ expired second factor(s) has/have been removed!","help":"secondfactor.html","id":"sfRemovedNotifMsg","title":"sfRemovedNotifMsg"}],"help":"secondfactor.html","id":"sfRemovedNotification","title":"sfRemovedNotification","type":"simpleInputContainer"},{"default":0,"help":"secondfactor.html","id":"sfRequired","title":"sfRequired","type":"boolOrExpr"}],"help":"secondfactor.html","id":"secondFactors","title":"secondFactors"},{"_nodes":[{"help":"customfunctions.html","id":"customFunctions","title":"customFunctions"},{"default":"; ","id":"multiValuesSeparator","title":"multiValuesSeparator","type":"authParamsText"},{"_nodes":[{"default":"mail","id":"mailSessionKey","title":"mailSessionKey"},{"default":"","id":"SMTPServer","title":"SMTPServer"},{"id":"SMTPPort","title":"SMTPPort","type":"int"},{"id":"SMTPAuthUser","title":"SMTPAuthUser"},{"id":"SMTPAuthPass","title":"SMTPAuthPass","type":"password"},{"default":"","id":"SMTPTLS","select":[{"k":"","v":"none"},{"k":"starttls","v":"SMTP + STARTTLS"},{"k":"ssl","v":"SMTPS"}],"title":"SMTPTLS","type":"select"},{"cnodes":"SMTPTLSOpts","id":"SMTPTLSOpts","title":"SMTPTLSOpts","type":"keyTextContainer"},{"_nodes":[{"default":"noreply@example.com","id":"mailFrom","title":"mailFrom"},{"id":"mailReplyTo","title":"mailReplyTo"},{"default":"utf-8","id":"mailCharset","title":"mailCharset"}],"id":"mailHeaders","title":"mailHeaders","type":"simpleInputContainer"}],"help":"smtp.html","id":"SMTP","title":"SMTP"},{"_nodes":[{"default":"^[\\w\\.\\-@]+$","id":"userControl","title":"userControl"},{"default":0,"help":"forcereauthn.html","id":"portalForceAuthn","title":"portalForceAuthn","type":"bool"},{"default":5,"id":"portalForceAuthnInterval","title":"portalForceAuthnInterval","type":"int"},{"id":"key","title":"key","type":"password"},{"id":"trustedDomains","title":"trustedDomains"},{"default":1,"help":"safejail.html","id":"useSafeJail","title":"useSafeJail","type":"bool"},{"default":1,"id":"checkXSS","title":"checkXSS","type":"bool"},{"default":0,"help":"bruteforceprotection.html","id":"bruteForceProtection","title":"bruteForceProtection","type":"bool"},{"default":1,"id":"requireToken","title":"requireToken","type":"boolOrExpr"},{"default":120,"id":"formTimeout","title":"formTimeout","type":"int"},{"default":0,"id":"tokenUseGlobalStorage","title":"tokenUseGlobalStorage","type":"bool"},{"cnodes":"lwpOpts","id":"lwpOpts","title":"lwpOpts","type":"keyTextContainer"},{"cnodes":"lwpSslOpts","id":"lwpSslOpts","title":"lwpSslOpts","type":"keyTextContainer"},{"_nodes":[{"default":"'self'","id":"cspDefault","title":"cspDefault"},{"default":"'self' data:","id":"cspImg","title":"cspImg"},{"default":"'self'","id":"cspScript","title":"cspScript"},{"default":"'self'","id":"cspStyle","title":"cspStyle"},{"default":"'self'","id":"cspFont","title":"cspFont"},{"default":"'self'","id":"cspFormAction","title":"cspFormAction"},{"default":"'self'","id":"cspConnect","title":"cspConnect"}],"help":"security.html#portal","id":"contentSecurityPolicy","title":"contentSecurityPolicy","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"corsEnabled","title":"corsEnabled","type":"bool"},{"default":true,"id":"corsAllow_Credentials","title":"corsAllow_Credentials"},{"default":"*","id":"corsAllow_Headers","title":"corsAllow_Headers"},{"default":"POST,GET","id":"corsAllow_Methods","title":"corsAllow_Methods"},{"default":"*","id":"corsAllow_Origin","title":"corsAllow_Origin"},{"default":"*","id":"corsExpose_Headers","title":"corsExpose_Headers"},{"default":"86400","id":"corsMax_Age","title":"corsMax_Age"}],"help":"security.html#portal","id":"crossOrigineResourceSharing","title":"crossOrigineResourceSharing","type":"simpleInputContainer"}],"help":"security.html#configure_security_settings","id":"security","title":"security"},{"_nodes":[{"default":-1,"id":"https","title":"https","type":"trool"},{"default":-1,"id":"port","title":"port","type":"int"},{"default":0,"id":"useRedirectOnForbidden","title":"useRedirectOnForbidden","type":"bool"},{"default":1,"id":"useRedirectOnError","title":"useRedirectOnError","type":"bool"},{"default":0,"id":"maintenance","title":"maintenance","type":"bool"}],"help":"redirections.html","id":"redirection","title":"redirection","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"jsRedirect","title":"jsRedirect","type":"boolOrExpr"},{"default":0,"id":"noAjaxHook","title":"noAjaxHook","type":"bool"},{"default":0,"id":"skipRenewConfirmation","title":"skipRenewConfirmation","type":"bool"}],"help":"redirections.html#portal_redirections","id":"portalRedirection","title":"portalRedirection","type":"simpleInputContainer"},{"cnodes":"nginxCustomHandlers","help":"handlerarch.html","id":"nginxCustomHandlers","title":"nginxCustomHandlers","type":"keyTextContainer"},{"cnodes":"logoutServices","default":[],"help":"logoutforward.html","id":"logoutServices","title":"logoutServices","type":"keyTextContainer"},{"_nodes":[{"default":"get","id":"infoFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"infoFormMethod","type":"select"},{"default":"post","id":"confirmFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"confirmFormMethod","type":"select"},{"default":"get","id":"redirectFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"redirectFormMethod","type":"select"},{"default":1,"id":"activeTimer","title":"activeTimer","type":"bool"}],"id":"forms","title":"forms","type":"simpleInputContainer"}],"help":"start.html#advanced_features","id":"advancedParams","title":"advancedParams"}],"id":"generalParameters","title":"generalParameters"},{"_nodes":[{"cnodes":"exportedVars","default":[{"data":"HTTP_USER_AGENT","id":"exportedVars/UA","title":"UA","type":"keyText"}],"help":"exportedvars.html","id":"exportedVars","title":"exportedVars","type":"keyTextContainer"},{"cnodes":"macros","default":[],"help":"exportedvars.html#extend_variables_using_macros_and_groups","id":"macros","title":"macros","type":"keyTextContainer"},{"cnodes":"groups","default":[],"help":"exportedvars.html#extend_variables_using_macros_and_groups","id":"groups","title":"groups","type":"keyTextContainer"}],"help":"variables.html","id":"variables","title":"variables"},{"cnodes":"virtualHosts","help":"configvhost.html","id":"virtualHosts","template":"virtualHost","title":"virtualHosts","type":"virtualHostContainer"},{"_nodes":[{"default":"#PORTAL#/saml/metadata","id":"samlEntityID","title":"samlEntityID"},{"_nodes":[{"get":["samlServicePrivateKeySig","samlServicePrivateKeySigPwd","samlServicePublicKeySig"],"id":"samlServiceSecuritySig","title":"samlServiceSecuritySig","type":"RSAKey"},{"get":["samlServicePrivateKeyEnc","samlServicePrivateKeyEncPwd","samlServicePublicKeyEnc"],"id":"samlServiceSecurityEnc","title":"samlServiceSecurityEnc","type":"RSAKey"},{"default":0,"id":"samlServiceUseCertificateInResponse","title":"samlServiceUseCertificateInResponse","type":"bool"},{"default":"RSA_SHA1","id":"samlServiceSignatureMethod","select":[{"k":"RSA_SHA1","v":"RSA SHA1"},{"k":"RSA_SHA256","v":"RSA SHA256"}],"title":"samlServiceSignatureMethod","type":"select"}],"help":"samlservice.html#security_parameters","id":"samlServiceSecurity","title":"samlServiceSecurity"},{"_nodes":[{"default":"mail","id":"samlNameIDFormatMapEmail","title":"samlNameIDFormatMapEmail"},{"default":"mail","id":"samlNameIDFormatMapX509","title":"samlNameIDFormatMapX509"},{"default":"uid","id":"samlNameIDFormatMapWindows","title":"samlNameIDFormatMapWindows"},{"default":"uid","id":"samlNameIDFormatMapKerberos","title":"samlNameIDFormatMapKerberos"}],"help":"samlservice.html#nameid_formats","id":"samlNameIDFormatMap","title":"samlNameIDFormatMap","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"samlAuthnContextMapPassword","title":"samlAuthnContextMapPassword","type":"int"},{"default":3,"id":"samlAuthnContextMapPasswordProtectedTransport","title":"samlAuthnContextMapPasswordProtectedTransport","type":"int"},{"default":5,"id":"samlAuthnContextMapTLSClient","title":"samlAuthnContextMapTLSClient","type":"int"},{"default":4,"id":"samlAuthnContextMapKerberos","title":"samlAuthnContextMapKerberos","type":"int"}],"help":"samlservice.html#authentication_contexts","id":"samlAuthnContextMap","title":"samlAuthnContextMap","type":"simpleInputContainer"},{"_nodes":[{"default":"Example","id":"samlOrganizationDisplayName","title":"samlOrganizationDisplayName"},{"default":"Example","id":"samlOrganizationName","title":"samlOrganizationName"},{"default":"http://www.example.com","id":"samlOrganizationURL","title":"samlOrganizationURL"}],"help":"samlservice.html#organization","id":"samlOrganization","title":"samlOrganization","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"samlSPSSODescriptorAuthnRequestsSigned","title":"samlSPSSODescriptorAuthnRequestsSigned","type":"bool"},{"default":1,"id":"samlSPSSODescriptorWantAssertionsSigned","title":"samlSPSSODescriptorWantAssertionsSigned","type":"bool"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn","id":"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect","title":"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn","id":"samlSPSSODescriptorSingleLogoutServiceHTTPPost","title":"samlSPSSODescriptorSingleLogoutServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/proxySingleLogoutSOAP;","id":"samlSPSSODescriptorSingleLogoutServiceSOAP","title":"samlSPSSODescriptorSingleLogoutServiceSOAP","type":"samlService"}],"id":"samlSPSSODescriptorSingleLogoutService","title":"samlSPSSODescriptorSingleLogoutService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/proxySingleSignOnArtifact","id":"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact","title":"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact","type":"samlAssertion"},{"default":"0;1;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleSignOnPost","id":"samlSPSSODescriptorAssertionConsumerServiceHTTPPost","title":"samlSPSSODescriptorAssertionConsumerServiceHTTPPost","type":"samlAssertion"}],"id":"samlSPSSODescriptorAssertionConsumerService","title":"samlSPSSODescriptorAssertionConsumerService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact","id":"samlSPSSODescriptorArtifactResolutionServiceArtifact","title":"samlSPSSODescriptorArtifactResolutionServiceArtifact","type":"samlAssertion"}],"id":"samlSPSSODescriptorArtifactResolutionService","title":"samlSPSSODescriptorArtifactResolutionService"}],"help":"samlservice.html#service_provider","id":"samlSPSSODescriptor","title":"samlSPSSODescriptor"},{"_nodes":[{"default":1,"id":"samlIDPSSODescriptorWantAuthnRequestsSigned","title":"samlIDPSSODescriptorWantAuthnRequestsSigned","type":"bool"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleSignOn;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleSignOn;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPPost","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/singleSignOnArtifact;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact","type":"samlService"}],"id":"samlIDPSSODescriptorSingleSignOnService","title":"samlIDPSSODescriptorSingleSignOnService"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn","id":"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect","title":"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn","id":"samlIDPSSODescriptorSingleLogoutServiceHTTPPost","title":"samlIDPSSODescriptorSingleLogoutServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/singleLogoutSOAP;","id":"samlIDPSSODescriptorSingleLogoutServiceSOAP","title":"samlIDPSSODescriptorSingleLogoutServiceSOAP","type":"samlService"}],"id":"samlIDPSSODescriptorSingleLogoutService","title":"samlIDPSSODescriptorSingleLogoutService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact","id":"samlIDPSSODescriptorArtifactResolutionServiceArtifact","title":"samlIDPSSODescriptorArtifactResolutionServiceArtifact","type":"samlAssertion"}],"id":"samlIDPSSODescriptorArtifactResolutionService","title":"samlIDPSSODescriptorArtifactResolutionService"}],"help":"samlservice.html#identity_provider","id":"samlIDPSSODescriptor","title":"samlIDPSSODescriptor"},{"_nodes":[{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/AA/SOAP;","id":"samlAttributeAuthorityDescriptorAttributeServiceSOAP","title":"samlAttributeAuthorityDescriptorAttributeServiceSOAP","type":"samlService"}],"id":"samlAttributeAuthorityDescriptorAttributeService","title":"samlAttributeAuthorityDescriptorAttributeService"}],"help":"samlservice.html#attribute_authority","id":"samlAttributeAuthorityDescriptor","title":"samlAttributeAuthorityDescriptor"},{"_nodes":[{"default":"lemonldapidp","id":"samlIdPResolveCookie","title":"samlIdPResolveCookie"},{"default":1,"id":"samlMetadataForceUTF8","title":"samlMetadataForceUTF8","type":"bool"},{"id":"samlStorage","title":"samlStorage"},{"cnodes":"samlStorageOptions","id":"samlStorageOptions","title":"samlStorageOptions","type":"keyTextContainer"},{"default":600,"id":"samlRelayStateTimeout","title":"samlRelayStateTimeout","type":"int"},{"default":0,"id":"samlUseQueryStringSpecific","title":"samlUseQueryStringSpecific","type":"bool"},{"_nodes":[{"default":0,"id":"samlCommonDomainCookieActivation","title":"samlCommonDomainCookieActivation","type":"bool"},{"id":"samlCommonDomainCookieDomain","title":"samlCommonDomainCookieDomain"},{"id":"samlCommonDomainCookieReader","title":"samlCommonDomainCookieReader"},{"id":"samlCommonDomainCookieWriter","title":"samlCommonDomainCookieWriter"}],"id":"samlCommonDomainCookie","title":"samlCommonDomainCookie","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"samlDiscoveryProtocolActivation","title":"samlDiscoveryProtocolActivation","type":"bool"},{"id":"samlDiscoveryProtocolURL","title":"samlDiscoveryProtocolURL"},{"id":"samlDiscoveryProtocolPolicy","title":"samlDiscoveryProtocolPolicy"},{"default":0,"id":"samlDiscoveryProtocolIsPassive","title":"samlDiscoveryProtocolIsPassive","type":"bool"}],"id":"samlDiscoveryProtocol","title":"samlDiscoveryProtocol","type":"simpleInputContainer"},{"default":"","id":"samlOverrideIDPEntityID","title":"samlOverrideIDPEntityID"}],"help":"samlservice.html#advanced","id":"samlAdvanced","title":"samlAdvanced"}],"help":"samlservice.html","id":"samlServiceMetaData","title":"samlServiceMetaData"},{"cnodes":"samlIDPMetaDataNodes","help":"authsaml.html","id":"samlIDPMetaDataNodes","template":"samlIDPMetaDataNode","title":"samlIDPMetaDataNodes","type":"samlIDPMetaDataNodeContainer"},{"cnodes":"samlSPMetaDataNodes","help":"idpsaml.html","id":"samlSPMetaDataNodes","template":"samlSPMetaDataNode","title":"samlSPMetaDataNodes","type":"samlSPMetaDataNodeContainer"},{"_nodes":[{"id":"oidcServiceMetaDataIssuer","title":"oidcServiceMetaDataIssuer"},{"_nodes":[{"default":"authorize","id":"oidcServiceMetaDataAuthorizeURI","title":"oidcServiceMetaDataAuthorizeURI"},{"default":"token","id":"oidcServiceMetaDataTokenURI","title":"oidcServiceMetaDataTokenURI"},{"default":"userinfo","id":"oidcServiceMetaDataUserInfoURI","title":"oidcServiceMetaDataUserInfoURI"},{"default":"jwks","id":"oidcServiceMetaDataJWKSURI","title":"oidcServiceMetaDataJWKSURI"},{"default":"register","id":"oidcServiceMetaDataRegistrationURI","title":"oidcServiceMetaDataRegistrationURI"},{"default":"logout","id":"oidcServiceMetaDataEndSessionURI","title":"oidcServiceMetaDataEndSessionURI"},{"default":"checksession.html","id":"oidcServiceMetaDataCheckSessionURI","title":"oidcServiceMetaDataCheckSessionURI"},{"default":"flogout","id":"oidcServiceMetaDataFrontChannelURI","title":"oidcServiceMetaDataFrontChannelURI"},{"default":"blogout","id":"oidcServiceMetaDataBackChannelURI","title":"oidcServiceMetaDataBackChannelURI"}],"id":"oidcServiceMetaDataEndPoints","title":"oidcServiceMetaDataEndPoints","type":"simpleInputContainer"},{"cnodes":"oidcServiceMetaDataAuthnContext","default":[{"data":1,"id":"oidcServiceMetaDataAuthnContext/loa-1","title":"loa-1","type":"keyText"},{"data":2,"id":"oidcServiceMetaDataAuthnContext/loa-2","title":"loa-2","type":"keyText"},{"data":3,"id":"oidcServiceMetaDataAuthnContext/loa-3","title":"loa-3","type":"keyText"},{"data":4,"id":"oidcServiceMetaDataAuthnContext/loa-4","title":"loa-4","type":"keyText"},{"data":5,"id":"oidcServiceMetaDataAuthnContext/loa-5","title":"loa-5","type":"keyText"}],"id":"oidcServiceMetaDataAuthnContext","title":"oidcServiceMetaDataAuthnContext","type":"keyTextContainer"},{"_nodes":[{"get":["oidcServicePrivateKeySig","oidcServicePublicKeySig"],"id":"oidcServiceMetaDataKeys","title":"oidcServiceMetaDataKeys","type":"RSAKeyNoPassword"},{"id":"oidcServiceKeyIdSig","title":"oidcServiceKeyIdSig"},{"default":0,"id":"oidcServiceAllowDynamicRegistration","title":"oidcServiceAllowDynamicRegistration","type":"bool"},{"default":1,"id":"oidcServiceAllowAuthorizationCodeFlow","title":"oidcServiceAllowAuthorizationCodeFlow","type":"bool"},{"default":0,"id":"oidcServiceAllowImplicitFlow","title":"oidcServiceAllowImplicitFlow","type":"bool"},{"default":0,"id":"oidcServiceAllowHybridFlow","title":"oidcServiceAllowHybridFlow","type":"bool"}],"id":"oidcServiceMetaDataSecurity","title":"oidcServiceMetaDataSecurity"},{"_nodes":[{"id":"oidcStorage","title":"oidcStorage"},{"cnodes":"oidcStorageOptions","id":"oidcStorageOptions","title":"oidcStorageOptions","type":"keyTextContainer"}],"id":"oidcServiceMetaDataSessions","title":"oidcServiceMetaDataSessions"}],"help":"openidconnectservice.html#service_configuration","id":"oidcServiceMetaData","title":"oidcServiceMetaData"},{"cnodes":"oidcOPMetaDataNodes","help":"authopenidconnect.html#declare_the_openid_connect_provider_in_llng","id":"oidcOPMetaDataNodes","title":"oidcOPMetaDataNodes","type":"oidcOPMetaDataNodeContainer"},{"cnodes":"oidcRPMetaDataNodes","help":"idpopenidconnect.html#configuration_of_relying_party_in_llng","id":"oidcRPMetaDataNodes","title":"oidcRPMetaDataNodes","type":"oidcRPMetaDataNodeContainer"},{"_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"},{"id":"casStorage","title":"casStorage"},{"cnodes":"casStorageOptions","id":"casStorageOptions","title":"casStorageOptions","type":"keyTextContainer"},{"cnodes":"casAttributes","id":"casAttributes","title":"casAttributes","type":"keyTextContainer"}],"help":"idpcas.html#configuring_the_cas_service","id":"casServiceMetadata","title":"casServiceMetadata"},{"cnodes":"casSrvMetaDataNodes","help":"authcas.html","id":"casSrvMetaDataNodes","template":"casSrvMetaDataNode","title":"casSrvMetaDataNodes","type":"casSrvMetaDataNodeContainer"},{"cnodes":"casAppMetaDataNodes","help":"idpcas.html#configuring_cas_applications","id":"casAppMetaDataNodes","template":"casAppMetaDataNode","title":"casAppMetaDataNodes","type":"casAppMetaDataNodeContainer"}] \ No newline at end of file +[{"_nodes":[{"_nodes":[{"default":"http://auth.example.com/","id":"portal","title":"portal"},{"_nodes":[{"_nodes":[{"default":1,"id":"portalDisplayLogout","title":"portalDisplayLogout","type":"boolOrExpr"},{"default":"$_auth =~ /^(LDAP|DBI|Demo)$/","id":"portalDisplayChangePassword","title":"portalDisplayChangePassword","type":"boolOrExpr"},{"default":1,"id":"portalDisplayAppslist","title":"portalDisplayAppslist","type":"boolOrExpr"},{"default":1,"id":"portalDisplayLoginHistory","title":"portalDisplayLoginHistory","type":"boolOrExpr"},{"default":"$_oidcConnectedRP","id":"portalDisplayOidcConsents","title":"portalDisplayOidcConsents","type":"boolOrExpr"},{"_nodes":[{"default":1,"id":"portalDisplayFavApps","title":"portalDisplayFavApps","type":"boolOrExpr"},{"default":3,"id":"favAppsMaxNumber","title":"favAppsMaxNumber","type":"int"}],"help":"favapps.html","id":"favApps","title":"favApps","type":"simpleInputContainer"}],"id":"portalModules","title":"portalModules","type":"simpleInputContainer"},{"cnodes":"applicationList","default":[{"data":{"catname":"Default category","type":"category"},"id":"applicationList/default","title":"default","type":"catAndAppList"}],"help":"portalmenu.html#categories_and_applications","id":"applicationList","title":"applicationList","type":"catAndAppList"}],"help":"portalmenu.html","id":"portalMenu","title":"portalMenu"},{"_nodes":[{"default":"common/logos/logo_llng_400px.png","id":"portalMainLogo","title":"portalMainLogo"},{"default":1,"id":"showLanguages","title":"showLanguages","type":"bool"},{"default":"bootstrap","id":"portalSkin","select":[{"k":"bootstrap","v":"Bootstrap"}],"title":"portalSkin","type":"portalskin"},{"id":"portalSkinBackground","select":[{"k":"","v":"None"},{"k":"1280px-Anse_Source_d'Argent_2-La_Digue.jpg","v":"Anse"},{"k":"1280px-Autumn-clear-water-waterfall-landscape_-_Virginia_-_ForestWander.jpg","v":"Waterfall"},{"k":"1280px-BrockenSnowedTrees.jpg","v":"Snowed Trees"},{"k":"1280px-Cedar_Breaks_National_Monument_partially.jpg","v":"National Monument"},{"k":"1280px-Parry_Peak_from_Winter_Park.jpg","v":"Winter"},{"k":"Aletschgletscher_mit_Pinus_cembra1.jpg","v":"Pinus"}],"title":"portalSkinBackground","type":"portalskinbackground"},{"cnodes":"portalSkinRules","help":"portalcustom.html","id":"portalSkinRules","title":"portalSkinRules","type":"keyTextContainer"},{"_nodes":[{"default":1,"id":"portalCheckLogins","title":"portalCheckLogins","type":"bool"},{"default":0,"id":"portalDisplayResetPassword","title":"portalDisplayResetPassword","type":"bool"},{"default":3,"id":"passwordResetAllowedRetries","title":"passwordResetAllowedRetries","type":"int"},{"default":1,"id":"portalDisplayRegister","title":"portalDisplayRegister","type":"bool"}],"help":"portalcustom.html#buttons","id":"portalButtons","title":"portalButtons","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"portalRequireOldPassword","title":"portalRequireOldPassword","type":"bool"},{"default":0,"id":"hideOldPassword","title":"hideOldPassword","type":"bool"},{"default":0,"id":"mailOnPasswordChange","title":"mailOnPasswordChange","type":"bool"}],"help":"portalcustom.html#password_management","id":"passwordManagement","title":"passwordManagement","type":"simpleInputContainer"},{"_nodes":[{"default":"_user","id":"portalUserAttr","title":"portalUserAttr"},{"default":0,"id":"portalOpenLinkInNewWindow","title":"portalOpenLinkInNewWindow","type":"bool"},{"default":1,"id":"portalAntiFrame","title":"portalAntiFrame","type":"bool"},{"default":60000,"id":"portalPingInterval","title":"portalPingInterval","type":"int"},{"default":1,"id":"portalErrorOnExpiredSession","title":"portalErrorOnExpiredSession","type":"bool"},{"default":0,"id":"portalErrorOnMailNotFound","title":"portalErrorOnMailNotFound","type":"bool"}],"help":"portalcustom.html#other_parameters","id":"portalOther","title":"portalOther","type":"simpleInputContainer"}],"help":"portalcustom.html","id":"portalCustomization","title":"portalCustomization"},{"_nodes":[{"default":0,"id":"captcha_login_enabled","title":"captcha_login_enabled","type":"bool"},{"default":1,"id":"captcha_mail_enabled","title":"captcha_mail_enabled","type":"bool"},{"default":1,"id":"captcha_register_enabled","title":"captcha_register_enabled","type":"bool"},{"default":6,"id":"captcha_size","title":"captcha_size","type":"int"}],"help":"captcha.html","id":"portalCaptcha","title":"portalCaptcha","type":"simpleInputContainer"}],"help":"portal.html","id":"portalParams","title":"portalParams"},{"_nodes":[{"default":"Demo","id":"authentication","select":[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"k":"SSL","v":"SSL"},{"k":"Twitter","v":"Twitter"},{"k":"WebID","v":"WebID"},{"k":"Demo","v":"Demonstration"},{"k":"Choice","v":"authChoice"},{"k":"Combination","v":"combineMods"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"SAML","v":"SAML v2"},{"k":"Proxy","v":"Proxy"},{"k":"Remote","v":"Remote"},{"k":"Slave","v":"Slave"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"authentication","type":"select"},{"default":"Same","id":"userDB","select":[{"k":"Same","v":"Same"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"LDAP","v":"LDAP"},{"k":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"userDB","type":"select"},{"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":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"passwordDB","type":"select"},{"default":"Null","id":"registerDB","select":[{"k":"AD","v":"Active Directory"},{"k":"Demo","v":"Demonstration"},{"k":"LDAP","v":"LDAP"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"registerDB","type":"select"}],"_nodes_cond":[{"_nodes":[{"default":0,"id":"ADPwdMaxAge","title":"ADPwdMaxAge","type":"int"},{"default":0,"id":"ADPwdExpireWarning","title":"ADPwdExpireWarning","type":"int"}],"help":"authad.html","id":"adParams","show":false,"title":"adParams","type":"simpleInputContainer"},{"_nodes":[{"default":"lmAuth","id":"authChoiceParam","title":"authChoiceParam"},{"cnodes":"authChoiceModules","id":"authChoiceModules","select":[[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Null","v":"None"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"Proxy","v":"Proxy"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"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":"Custom","v":"customModule"}],[{"k":"AD","v":"Active Directory"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"Facebook","v":"Facebook"},{"k":"LDAP","v":"LDAP"},{"k":"Null","v":"None"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"Proxy","v":"Proxy"},{"k":"REST","v":"REST"},{"k":"Remote","v":"Remote"},{"k":"SAML","v":"SAML v2"},{"k":"Slave","v":"Slave"},{"k":"WebID","v":"WebID"},{"k":"Custom","v":"customModule"}],[{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Demo","v":"Demo"},{"k":"LDAP","v":"LDAP"},{"k":"REST","v":"REST"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}]],"title":"authChoiceModules","type":"authChoiceContainer"}],"help":"authchoice.html","id":"choiceParams","show":false,"title":"choiceParams"},{"_nodes":[{"default":4,"id":"apacheAuthnLevel","title":"apacheAuthnLevel","type":"int"}],"help":"authapache.html","id":"apacheParams","show":false,"title":"apacheParams","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"casAuthnLevel","title":"casAuthnLevel","type":"int"}],"help":"authcas.html","id":"casParams","show":false,"title":"casParams","type":"simpleInputContainer"},{"_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","type":"password"}],"id":"dbiConnectionAuth","title":"dbiConnectionAuth","type":"simpleInputContainer"},{"_nodes":[{"id":"dbiUserChain","title":"dbiUserChain"},{"id":"dbiUserUser","title":"dbiUserUser"},{"id":"dbiUserPassword","title":"dbiUserPassword","type":"password"}],"id":"dbiConnectionUser","title":"dbiConnectionUser","type":"simpleInputContainer"}],"help":"authdbi.html#connection","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"}],"help":"authdbi.html#schema","id":"dbiSchema","title":"dbiSchema","type":"simpleInputContainer"},{"_nodes":[{"help":"authdbi.html#password","id":"dbiAuthPasswordHash","title":"dbiAuthPasswordHash"},{"_nodes":[{"help":"authdbi.html#password","id":"dbiDynamicHashEnabled","title":"dbiDynamicHashEnabled","type":"bool"},{"help":"authdbi.html#password","id":"dbiDynamicHashValidSchemes","title":"dbiDynamicHashValidSchemes"},{"help":"authdbi.html#password","id":"dbiDynamicHashValidSaltedSchemes","title":"dbiDynamicHashValidSaltedSchemes"},{"help":"authdbi.html#password","id":"dbiDynamicHashNewPasswordScheme","title":"dbiDynamicHashNewPasswordScheme"}],"help":"authdbi.html#password","id":"dbiDynamicHash","title":"dbiDynamicHash","type":"simpleInputContainer"}],"help":"authdbi.html#password","id":"dbiPassword","title":"dbiPassword"}],"help":"authdbi.html","id":"dbiParams","show":false,"title":"dbiParams"},{"_nodes":[{"cnodes":"demoExportedVars","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"}],"help":"authdemo.html","id":"demoParams","show":false,"title":"demoParams"},{"_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"},{"default":"id","id":"facebookUserField","title":"facebookUserField"}],"help":"authfacebook.html","id":"facebookParams","show":false,"title":"facebookParams"},{"_nodes":[{"default":3,"id":"krbAuthnLevel","title":"krbAuthnLevel","type":"int"},{"id":"krbKeytab","title":"krbKeytab"},{"default":0,"id":"krbByJs","title":"krbByJs","type":"bool"},{"default":1,"id":"krbRemoveDomain","title":"krbRemoveDomain","type":"bool"}],"help":"authkerberos.html","id":"kerberosParams","show":false,"title":"kerberosParams","type":"simpleInputContainer"},{"_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","type":"password"},{"default":120,"id":"ldapTimeout","title":"ldapTimeout","type":"int"},{"default":3,"id":"ldapVersion","title":"ldapVersion","type":"int"},{"id":"ldapRaw","title":"ldapRaw"}],"help":"authldap.html#connection","id":"ldapConnection","title":"ldapConnection","type":"simpleInputContainer"},{"_nodes":[{"id":"LDAPFilter","title":"LDAPFilter"},{"id":"AuthLDAPFilter","title":"AuthLDAPFilter"},{"id":"mailLDAPFilter","title":"mailLDAPFilter"},{"default":"find","id":"ldapSearchDeref","select":[{"k":"never","v":"never"},{"k":"search","v":"search"},{"k":"find","v":"find"},{"k":"always","v":"always"}],"title":"ldapSearchDeref","type":"select"}],"help":"authldap.html#filters","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":"ldapGroupDecodeSearchedValue","title":"ldapGroupDecodeSearchedValue","type":"bool"},{"default":0,"id":"ldapGroupRecursive","title":"ldapGroupRecursive","type":"bool"},{"default":"dn","id":"ldapGroupAttributeNameGroup","title":"ldapGroupAttributeNameGroup"}],"help":"authldap.html#groups","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"},{"default":0,"id":"ldapAllowResetExpiredPassword","title":"ldapAllowResetExpiredPassword","type":"bool"}],"help":"authldap.html#password","id":"ldapPassword","title":"ldapPassword","type":"simpleInputContainer"}],"help":"authldap.html","id":"ldapParams","show":false,"title":"ldapParams"},{"_nodes":[{"default":1,"id":"linkedInAuthnLevel","title":"linkedInAuthnLevel","type":"int"},{"id":"linkedInClientID","title":"linkedInClientID"},{"id":"linkedInClientSecret","title":"linkedInClientSecret","type":"password"},{"default":"id,first-name,last-name,email-address","id":"linkedInFields","title":"linkedInFields"},{"default":"emailAddress","id":"linkedInUserField","title":"linkedInUserField"},{"default":"r_liteprofile r_emailaddress","id":"linkedInScope","title":"linkedInScope"}],"help":"authlinkedin.html","id":"linkedinParams","show":false,"title":"linkedinParams","type":"simpleInputContainer"},{"_nodes":[{"id":"combination","title":"combination"},{"cnodes":"combModules","id":"combModules","select":[{"k":"Apache","v":"Apache"},{"k":"AD","v":"Active Directory"},{"k":"DBI","v":"Database (DBI)"},{"k":"Facebook","v":"Facebook"},{"k":"GPG","v":"GPG"},{"k":"Kerberos","v":"Kerberos"},{"k":"LDAP","v":"LDAP"},{"k":"LinkedIn","v":"LinkedIn"},{"k":"PAM","v":"PAM"},{"k":"Radius","v":"Radius"},{"k":"REST","v":"REST"},{"k":"SSL","v":"SSL"},{"k":"Twitter","v":"Twitter"},{"k":"WebID","v":"WebID"},{"k":"Demo","v":"Demonstration"},{"k":"CAS","v":"Central Authentication Service (CAS)"},{"k":"OpenID","v":"OpenID"},{"k":"OpenIDConnect","v":"OpenID Connect"},{"k":"SAML","v":"SAML v2"},{"k":"Proxy","v":"Proxy"},{"k":"Remote","v":"Remote"},{"k":"Slave","v":"Slave"},{"k":"Null","v":"None"},{"k":"Custom","v":"customModule"}],"title":"combModules","type":"cmbModuleContainer"},{"id":"combinationForms","title":"combinationForms"}],"help":"authcombination.html","id":"combinationParams","show":false,"title":"combinationParams"},{"_nodes":[{"default":0,"id":"nullAuthnLevel","title":"nullAuthnLevel","type":"int"}],"help":"authnull.html","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"},{"default":"0;","id":"openIdIDPList","title":"openIdIDPList","type":"blackWhiteList"}],"help":"authopenid.html","id":"openidParams","show":false,"title":"openidParams"},{"_nodes":[{"default":1,"id":"oidcAuthnLevel","title":"oidcAuthnLevel","type":"int"},{"default":"openidconnectcallback","id":"oidcRPCallbackGetParam","title":"oidcRPCallbackGetParam"},{"default":600,"id":"oidcRPStateTimeout","title":"oidcRPStateTimeout","type":"int"}],"help":"authopenidconnect.html","id":"oidcParams","show":false,"title":"oidcParams","type":"simpleInputContainer"},{"_nodes":[{"default":5,"id":"gpgAuthnLevel","title":"gpgAuthnLevel","type":"int"},{"default":"","id":"gpgDb","title":"gpgDb"}],"help":"authgpg.html","id":"gpgParams","show":false,"title":"gpgParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"proxyAuthnLevel","title":"proxyAuthnLevel","type":"int"},{"id":"proxyAuthService","title":"proxyAuthService"},{"id":"proxySessionService","title":"proxySessionService"},{"id":"remoteCookieName","title":"remoteCookieName"},{"default":0,"id":"proxyUseSoap","title":"proxyUseSoap","type":"bool"}],"help":"authproxy.html","id":"proxyParams","show":false,"title":"proxyParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"pamAuthnLevel","title":"pamAuthnLevel","type":"int"},{"default":"login","id":"pamService","title":"pamService"}],"help":"authpam.html","id":"pamParams","show":false,"title":"pamParams","type":"simpleInputContainer"},{"_nodes":[{"default":3,"id":"radiusAuthnLevel","title":"radiusAuthnLevel","type":"int"},{"id":"radiusSecret","title":"radiusSecret"},{"id":"radiusServer","title":"radiusServer"}],"help":"authradius.html","id":"radiusParams","show":false,"title":"radiusParams","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"restAuthnLevel","title":"restAuthnLevel","type":"int"},{"id":"restAuthUrl","title":"restAuthUrl"},{"id":"restUserDBUrl","title":"restUserDBUrl"},{"id":"restPwdConfirmUrl","title":"restPwdConfirmUrl"},{"id":"restPwdModifyUrl","title":"restPwdModifyUrl"}],"help":"authrest.html","id":"restParams","show":false,"title":"restParams","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"}],"help":"authremote.html","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":"slaveHeaderName","title":"slaveHeaderName"},{"id":"slaveHeaderContent","title":"slaveHeaderContent"}],"help":"authslave.html","id":"slaveParams","show":false,"title":"slaveParams"},{"_nodes":[{"default":5,"id":"SSLAuthnLevel","title":"SSLAuthnLevel","type":"int"},{"default":"SSL_CLIENT_S_DN_Email","id":"SSLVar","title":"SSLVar"},{"cnodes":"SSLVarIf","default":[],"id":"SSLVarIf","title":"SSLVarIf","type":"keyTextContainer"},{"default":0,"id":"sslByAjax","title":"sslByAjax","type":"bool"},{"id":"sslHost","title":"sslHost"}],"help":"authssl.html","id":"sslParams","show":false,"title":"sslParams"},{"_nodes":[{"default":1,"id":"twitterAuthnLevel","title":"twitterAuthnLevel","type":"int"},{"id":"twitterKey","title":"twitterKey"},{"id":"twitterSecret","title":"twitterSecret"},{"id":"twitterAppName","title":"twitterAppName"},{"default":"screen_name","id":"twitterUserField","title":"twitterUserField"}],"help":"authtwitter.html","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"}],"help":"authwebid.html","id":"webidParams","show":false,"title":"webidParams"},{"_nodes":[{"id":"customAuth","title":"customAuth"},{"id":"customUserDB","title":"customUserDB"},{"id":"customPassword","title":"customPassword"},{"id":"customRegister","title":"customRegister"},{"cnodes":"customAddParams","id":"customAddParams","title":"customAddParams","type":"keyTextContainer"}],"help":"authcustom.html","id":"customParams","show":false,"title":"customParams"}],"_nodes_filter":"authParams","help":"start.html#authentication_users_and_password_databases","id":"authParams","title":"authParams","type":"authParams"},{"_nodes":[{"_nodes":[{"default":0,"id":"issuerDBSAMLActivation","title":"issuerDBSAMLActivation","type":"bool"},{"default":"^/saml/","id":"issuerDBSAMLPath","title":"issuerDBSAMLPath"},{"default":1,"id":"issuerDBSAMLRule","title":"issuerDBSAMLRule","type":"boolOrExpr"}],"help":"idpsaml.html","id":"issuerDBSAML","title":"issuerDBSAML","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBCASActivation","title":"issuerDBCASActivation","type":"bool"},{"default":"^/cas/","id":"issuerDBCASPath","title":"issuerDBCASPath"},{"default":1,"id":"issuerDBCASRule","title":"issuerDBCASRule","type":"boolOrExpr"}],"help":"idpcas.html#enabling_cas","id":"issuerDBCAS","title":"issuerDBCAS","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBOpenIDActivation","title":"issuerDBOpenIDActivation","type":"bool"},{"default":"^/openidserver/","id":"issuerDBOpenIDPath","title":"issuerDBOpenIDPath"},{"default":1,"id":"issuerDBOpenIDRule","title":"issuerDBOpenIDRule","type":"boolOrExpr"},{"_nodes":[{"id":"openIdIssuerSecret","title":"openIdIssuerSecret"},{"id":"openIdAttr","title":"openIdAttr"},{"default":"0;","id":"openIdSPList","title":"openIdSPList","type":"blackWhiteList"},{"_nodes":[{"default":"cn","id":"openIdSreg_fullname","title":"openIdSreg_fullname"},{"default":"uid","id":"openIdSreg_nickname","title":"openIdSreg_nickname"},{"id":"openIdSreg_language","title":"openIdSreg_language"},{"id":"openIdSreg_postcode","title":"openIdSreg_postcode"},{"default":"_timezone","id":"openIdSreg_timezone","title":"openIdSreg_timezone"},{"id":"openIdSreg_country","title":"openIdSreg_country"},{"id":"openIdSreg_gender","title":"openIdSreg_gender"},{"default":"mail","id":"openIdSreg_email","title":"openIdSreg_email"},{"id":"openIdSreg_dob","title":"openIdSreg_dob"}],"id":"openIdSreg","title":"openIdSreg","type":"simpleInputContainer"}],"id":"issuerDBOpenIDOptions","title":"issuerDBOpenIDOptions"}],"help":"idpopenid.html","id":"issuerDBOpenID","title":"issuerDBOpenID"},{"_nodes":[{"default":0,"id":"issuerDBOpenIDConnectActivation","title":"issuerDBOpenIDConnectActivation","type":"bool"},{"default":"^/oauth2/","id":"issuerDBOpenIDConnectPath","title":"issuerDBOpenIDConnectPath"},{"default":1,"id":"issuerDBOpenIDConnectRule","title":"issuerDBOpenIDConnectRule","type":"boolOrExpr"}],"help":"idpopenidconnect.html","id":"issuerDBOpenIDConnect","title":"issuerDBOpenIDConnect","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"issuerDBGetActivation","title":"issuerDBGetActivation","type":"bool"},{"default":"^/get/","id":"issuerDBGetPath","title":"issuerDBGetPath"},{"default":1,"id":"issuerDBGetRule","title":"issuerDBGetRule","type":"boolOrExpr"},{"default":[],"id":"issuerDBGetParameters","title":"issuerDBGetParameters","type":"doubleHash"}],"help":"issuerdbget.html","id":"issuerDBGet","title":"issuerDBGet"}],"help":"start.html#identity_provider","id":"issuerParams","title":"issuerParams"},{"_nodes":[{"default":"uid","id":"whatToTrace","title":"whatToTrace"},{"id":"customToTrace","title":"customToTrace"},{"default":"_password _2fDevices","id":"hiddenAttributes","title":"hiddenAttributes"}],"help":"logs.html","id":"logParams","title":"logParams","type":"simpleInputContainer"},{"_nodes":[{"default":"lemonldap","id":"cookieName","title":"cookieName"},{"default":"example.com","id":"domain","title":"domain"},{"default":0,"id":"cda","title":"cda","type":"bool"},{"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"},{"default":1,"id":"httpOnly","title":"httpOnly","type":"bool"},{"id":"cookieExpiration","title":"cookieExpiration","type":"int"}],"help":"ssocookie.html","id":"cookieParams","title":"cookieParams","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"storePassword","title":"storePassword","type":"bool"},{"default":72000,"id":"timeout","title":"timeout","type":"int"},{"default":0,"id":"timeoutActivity","title":"timeoutActivity","type":"int"},{"default":60,"id":"timeoutActivityInterval","title":"timeoutActivityInterval","type":"int"},{"cnodes":"grantSessionRules","default":[],"id":"grantSessionRules","title":"grantSessionRules","type":"grantContainer"},{"_nodes":[{"default":"Apache::Session::File","id":"globalStorage","title":"globalStorage"},{"cnodes":"globalStorageOptions","default":[{"data":"/var/lib/lemonldap-ng/sessions/","id":"globalStorageOptions/Directory","title":"Directory","type":"keyText"},{"data":"/var/lib/lemonldap-ng/sessions/lock/","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"},{"default":"Cache::FileCache","id":"localSessionStorage","title":"localSessionStorage"},{"cnodes":"localSessionStorageOptions","default":[{"data":3,"id":"localSessionStorageOptions/cache_depth","title":"cache_depth","type":"keyText"},{"data":"/tmp","id":"localSessionStorageOptions/cache_root","title":"cache_root","type":"keyText"},{"data":600,"id":"localSessionStorageOptions/default_expires_in","title":"default_expires_in","type":"keyText"},{"data":"007","id":"localSessionStorageOptions/directory_umask","title":"directory_umask","type":"keyText"},{"data":"lemonldap-ng-sessions","id":"localSessionStorageOptions/namespace","title":"namespace","type":"keyText"}],"id":"localSessionStorageOptions","title":"localSessionStorageOptions","type":"keyTextContainer"}],"help":"start.html#sessions_database","id":"sessionStorage","title":"sessionStorage"},{"_nodes":[{"default":0,"id":"singleSession","title":"singleSession","type":"bool"},{"default":0,"id":"singleIP","title":"singleIP","type":"bool"},{"default":0,"id":"singleUserByIP","title":"singleUserByIP","type":"bool"},{"default":0,"id":"singleSessionUserByIP","title":"singleSessionUserByIP","type":"bool"},{"default":1,"id":"notifyDeleted","title":"notifyDeleted","type":"bool"},{"default":0,"id":"notifyOther","title":"notifyOther","type":"bool"}],"id":"multipleSessions","title":"multipleSessions","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"disablePersistentStorage","title":"disablePersistentStorage","type":"bool"},{"id":"persistentStorage","title":"persistentStorage"},{"cnodes":"persistentStorageOptions","id":"persistentStorageOptions","title":"persistentStorageOptions","type":"keyTextContainer"}],"id":"persistentSessions","title":"persistentSessions"}],"help":"sessions.html","id":"sessionParams","title":"sessionParams"},{"_nodes":[{"cnodes":"reloadUrls","help":"configlocation.html#configuration_reload","id":"reloadUrls","title":"reloadUrls","type":"keyTextContainer"},{"default":5,"id":"reloadTimeout","title":"reloadTimeout","type":"int"},{"default":0,"id":"dontCompactConf","title":"dontCompactConf","type":"bool"}],"help":"configlocation.html#configuration_reload","id":"reloadParams","title":"reloadParams"},{"_nodes":[{"default":0,"id":"stayConnected","title":"stayConnected","type":"bool"},{"default":0,"help":"status.html","id":"portalStatus","title":"portalStatus","type":"bool"},{"default":1,"id":"upgradeSession","title":"upgradeSession","type":"bool"},{"_nodes":[{"default":0,"id":"wsdlServer","title":"wsdlServer","type":"bool"},{"default":0,"id":"restSessionServer","title":"restSessionServer","type":"bool"},{"default":0,"id":"restExportSecretKeys","title":"restExportSecretKeys","type":"bool"},{"default":0,"id":"restConfigServer","title":"restConfigServer","type":"bool"},{"default":0,"help":"soapservices.html","id":"soapSessionServer","title":"soapSessionServer","type":"bool"},{"default":0,"help":"soapservices.html","id":"soapConfigServer","title":"soapConfigServer","type":"bool"},{"id":"exportedAttr","title":"exportedAttr"}],"help":"portalservers.html","id":"portalServers","title":"portalServers","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"loginHistoryEnabled","title":"loginHistoryEnabled","type":"bool"},{"default":5,"id":"successLoginNumber","title":"successLoginNumber","type":"int"},{"default":5,"id":"failedLoginNumber","title":"failedLoginNumber","type":"int"},{"cnodes":"sessionDataToRemember","id":"sessionDataToRemember","title":"sessionDataToRemember","type":"keyTextContainer"}],"help":"loginhistory.html","id":"loginHistory","title":"loginHistory"},{"_nodes":[{"default":0,"id":"notification","title":"notification","type":"bool"},{"default":0,"id":"oldNotifFormat","title":"oldNotifFormat","type":"bool"},{"default":"File","id":"notificationStorage","title":"notificationStorage"},{"cnodes":"notificationStorageOptions","default":[{"data":"/var/lib/lemonldap-ng/notifications","id":"notificationStorageOptions/dirName","title":"dirName","type":"keyText"}],"id":"notificationStorageOptions","title":"notificationStorageOptions","type":"keyTextContainer"},{"default":"allusers","id":"notificationWildcard","title":"notificationWildcard"},{"id":"notificationXSLTfile","title":"notificationXSLTfile"},{"_nodes":[{"default":0,"id":"notificationServer","title":"notificationServer","type":"bool"},{"default":"uid reference date title subtitle text check","id":"notificationServerSentAttributes","title":"notificationServerSentAttributes"},{"_nodes":[{"default":1,"id":"notificationServerPOST","title":"notificationServerPOST","type":"bool"},{"default":0,"id":"notificationServerGET","title":"notificationServerGET","type":"bool"},{"default":0,"id":"notificationServerDELETE","title":"notificationServerDELETE","type":"bool"}],"id":"notificationServerMethods","title":"notificationServerMethods","type":"simpleInputContainer"}],"help":"notifications.html#server","id":"serverNotification","title":"serverNotification"}],"help":"notifications.html","id":"notifications","title":"notifications"},{"_nodes":[{"_nodes":[{"id":"mailSubject","title":"mailSubject"},{"id":"mailBody","title":"mailBody","type":"longtext"},{"id":"mailConfirmSubject","title":"mailConfirmSubject"},{"id":"mailConfirmBody","title":"mailConfirmBody","type":"longtext"}],"id":"mailContent","title":"mailContent","type":"simpleInputContainer"},{"_nodes":[{"default":"http://auth.example.com/resetpwd","id":"mailUrl","title":"mailUrl"},{"default":0,"id":"mailTimeout","title":"mailTimeout","type":"int"},{"default":"[A-Z]{3}[a-z]{5}.\\d{2}","id":"randomPasswordRegexp","title":"randomPasswordRegexp"}],"id":"mailOther","title":"mailOther","type":"simpleInputContainer"}],"help":"resetpassword.html","id":"passwordManagement","title":"passwordManagement"},{"_nodes":[{"default":"http://auth.example.com/register","id":"registerUrl","title":"registerUrl"},{"default":0,"id":"registerTimeout","title":"registerTimeout","type":"int"},{"id":"registerConfirmSubject","title":"registerConfirmSubject"},{"id":"registerDoneSubject","title":"registerDoneSubject"}],"help":"register.html","id":"register","title":"register","type":"simpleInputContainer"},{"_nodes":[{"cnodes":"autoSigninRules","id":"autoSigninRules","title":"autoSigninRules","type":"keyTextContainer"}],"help":"autosignin.html","id":"autoSignin","title":"autoSignin"},{"_nodes":[{"default":0,"id":"checkState","title":"checkState","type":"bool"},{"id":"checkStateSecret","title":"checkStateSecret"}],"help":"checkstate.html","id":"stateCheck","title":"stateCheck","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"checkUser","title":"checkUser","type":"bool"},{"default":1,"id":"checkUserIdRule","title":"checkUserIdRule"},{"default":"_loginHistory _session_id hGroups","id":"checkUserHiddenAttributes","title":"checkUserHiddenAttributes"},{"default":0,"id":"checkUserDisplayPersistentInfo","title":"checkUserDisplayPersistentInfo","type":"bool"},{"default":0,"id":"checkUserDisplayEmptyValues","title":"checkUserDisplayEmptyValues","type":"bool"}],"help":"checkuser.html","id":"checkUsers","title":"checkUsers","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"impersonationRule","title":"impersonationRule","type":"boolOrExpr"},{"default":1,"id":"impersonationIdRule","title":"impersonationIdRule"},{"default":"_2fDevices _loginHistory","id":"impersonationHiddenAttributes","title":"impersonationHiddenAttributes"},{"default":1,"id":"impersonationSkipEmptyValues","title":"impersonationSkipEmptyValues","type":"bool"},{"default":0,"id":"impersonationMergeSSOgroups","title":"impersonationMergeSSOgroups","type":"boolOrExpr"}],"help":"impersonation.html","id":"impersonation","title":"impersonation","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"contextSwitchingRule","title":"contextSwitchingRule","type":"boolOrExpr"},{"default":1,"id":"contextSwitchingIdRule","title":"contextSwitchingIdRule"},{"default":1,"id":"contextSwitchingStopWithLogout","title":"contextSwitchingStopWithLogout","type":"bool"}],"help":"contextswitching.html","id":"contextSwitching","title":"contextSwitching","type":"simpleInputContainer"}],"help":"start.html#plugins","id":"plugins","title":"plugins"},{"_nodes":[{"_nodes":[{"default":0,"id":"utotp2fActivation","title":"utotp2fActivation","type":"boolOrExpr"},{"id":"utotp2fAuthnLevel","title":"utotp2fAuthnLevel","type":"int"},{"id":"utotp2fLabel","title":"utotp2fLabel"},{"id":"utotp2fLogo","title":"utotp2fLogo"}],"help":"utotp2f.html","id":"utotp2f","title":"utotp2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"totp2fActivation","title":"totp2fActivation","type":"boolOrExpr"},{"default":0,"id":"totp2fSelfRegistration","title":"totp2fSelfRegistration","type":"boolOrExpr"},{"id":"totp2fIssuer","title":"totp2fIssuer"},{"default":30,"id":"totp2fInterval","title":"totp2fInterval","type":"int"},{"default":1,"id":"totp2fRange","title":"totp2fRange","type":"int"},{"default":6,"id":"totp2fDigits","title":"totp2fDigits","type":"int"},{"default":0,"id":"totp2fDisplayExistingSecret","title":"totp2fDisplayExistingSecret","type":"bool"},{"default":0,"id":"totp2fUserCanChangeKey","title":"totp2fUserCanChangeKey","type":"bool"},{"default":1,"id":"totp2fUserCanRemoveKey","title":"totp2fUserCanRemoveKey","type":"bool"},{"id":"totp2fTTL","title":"totp2fTTL","type":"int"},{"id":"totp2fAuthnLevel","title":"totp2fAuthnLevel","type":"int"},{"id":"totp2fLabel","title":"totp2fLabel"},{"id":"totp2fLogo","title":"totp2fLogo"}],"help":"totp2f.html","id":"totp2f","title":"totp2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"u2fActivation","title":"u2fActivation","type":"boolOrExpr"},{"default":0,"id":"u2fSelfRegistration","title":"u2fSelfRegistration","type":"boolOrExpr"},{"default":1,"id":"u2fUserCanRemoveKey","title":"u2fUserCanRemoveKey","type":"bool"},{"id":"u2fTTL","title":"u2fTTL","type":"int"},{"id":"u2fAuthnLevel","title":"u2fAuthnLevel","type":"int"},{"id":"u2fLabel","title":"u2fLabel"},{"id":"u2fLogo","title":"u2fLogo"}],"help":"u2f.html","id":"u2f","title":"u2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"mail2fActivation","title":"mail2fActivation","type":"boolOrExpr"},{"default":"\\d{6}","id":"mail2fCodeRegex","title":"mail2fCodeRegex"},{"id":"mail2fTimeout","title":"mail2fTimeout","type":"int"},{"id":"mail2fSubject","title":"mail2fSubject"},{"id":"mail2fBody","title":"mail2fBody","type":"longtext"},{"id":"mail2fAuthnLevel","title":"mail2fAuthnLevel","type":"int"},{"id":"mail2fLabel","title":"mail2fLabel"},{"id":"mail2fLogo","title":"mail2fLogo"}],"help":"mail2f.html","id":"mail2f","title":"mail2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"ext2fActivation","title":"ext2fActivation","type":"boolOrExpr"},{"default":"\\d{6}","id":"ext2fCodeActivation","title":"ext2fCodeActivation"},{"id":"ext2FSendCommand","title":"ext2FSendCommand"},{"id":"ext2FValidateCommand","title":"ext2FValidateCommand"},{"id":"ext2fAuthnLevel","title":"ext2fAuthnLevel","type":"int"},{"id":"ext2fLabel","title":"ext2fLabel"},{"id":"ext2fLogo","title":"ext2fLogo"}],"help":"external2f.html","id":"ext2f","title":"ext2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"radius2fActivation","title":"radius2fActivation","type":"boolOrExpr"},{"id":"radius2fServer","title":"radius2fServer"},{"id":"radius2fSecret","title":"radius2fSecret"},{"id":"radius2fUsernameSessionKey","title":"radius2fUsernameSessionKey"},{"default":20,"id":"radius2fTimeout","title":"radius2fTimeout","type":"int"},{"id":"radius2fAuthnLevel","title":"radius2fAuthnLevel","type":"int"},{"id":"radius2fLogo","title":"radius2fLogo"},{"id":"radius2fLabel","title":"radius2fLabel"}],"help":"radius2f.html","id":"radius2f","title":"radius2f","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"rest2fActivation","title":"rest2fActivation","type":"boolOrExpr"},{"id":"rest2fInitUrl","title":"rest2fInitUrl"},{"cnodes":"rest2fInitArgs","id":"rest2fInitArgs","title":"rest2fInitArgs","type":"keyTextContainer"},{"id":"rest2fVerifyUrl","title":"rest2fVerifyUrl"},{"cnodes":"rest2fVerifyArgs","id":"rest2fVerifyArgs","title":"rest2fVerifyArgs","type":"keyTextContainer"},{"id":"rest2fAuthnLevel","title":"rest2fAuthnLevel","type":"int"},{"id":"rest2fLabel","title":"rest2fLabel"},{"id":"rest2fLogo","title":"rest2fLogo"}],"help":"rest2f.html","id":"rest2f","title":"rest2f"},{"_nodes":[{"default":0,"id":"yubikey2fActivation","title":"yubikey2fActivation","type":"boolOrExpr"},{"default":0,"id":"yubikey2fSelfRegistration","title":"yubikey2fSelfRegistration","type":"boolOrExpr"},{"id":"yubikey2fClientID","title":"yubikey2fClientID"},{"id":"yubikey2fSecretKey","title":"yubikey2fSecretKey"},{"id":"yubikey2fNonce","title":"yubikey2fNonce"},{"id":"yubikey2fUrl","title":"yubikey2fUrl"},{"default":12,"id":"yubikey2fPublicIDSize","title":"yubikey2fPublicIDSize","type":"int"},{"default":1,"id":"yubikey2fUserCanRemoveKey","title":"yubikey2fUserCanRemoveKey","type":"bool"},{"id":"yubikey2fTTL","title":"yubikey2fTTL","type":"int"},{"id":"yubikey2fAuthnLevel","title":"yubikey2fAuthnLevel","type":"int"},{"id":"yubikey2fLabel","title":"yubikey2fLabel"},{"id":"yubikey2fLogo","title":"yubikey2fLogo"}],"help":"yubikey2f.html","id":"yubikey2f","title":"yubikey2f","type":"simpleInputContainer"},{"cnodes":"sfExtra","id":"sfExtra","select":[{"k":"Mail2F","v":"E-Mail"},{"k":"REST","v":"REST"},{"k":"Ext2F","v":"External"},{"k":"Radius","v":"Radius"}],"title":"sfExtra","type":"sfExtraContainer"},{"_nodes":[{"default":0,"help":"secondfactor.html","id":"sfRemovedMsgRule","title":"sfRemovedMsgRule","type":"boolOrExpr"},{"default":0,"id":"sfRemovedUseNotif","title":"sfRemovedUseNotif","type":"bool"},{"default":"RemoveSF","help":"secondfactor.html","id":"sfRemovedNotifRef","title":"sfRemovedNotifRef"},{"default":"Second factor notification","help":"secondfactor.html","id":"sfRemovedNotifTitle","title":"sfRemovedNotifTitle"},{"default":"_removedSF_ expired second factor(s) has/have been removed!","help":"secondfactor.html","id":"sfRemovedNotifMsg","title":"sfRemovedNotifMsg"}],"help":"secondfactor.html","id":"sfRemovedNotification","title":"sfRemovedNotification","type":"simpleInputContainer"},{"default":0,"help":"secondfactor.html","id":"sfRequired","title":"sfRequired","type":"boolOrExpr"}],"help":"secondfactor.html","id":"secondFactors","title":"secondFactors"},{"_nodes":[{"help":"customfunctions.html","id":"customFunctions","title":"customFunctions"},{"default":"; ","id":"multiValuesSeparator","title":"multiValuesSeparator","type":"authParamsText"},{"_nodes":[{"default":"mail","id":"mailSessionKey","title":"mailSessionKey"},{"default":"","id":"SMTPServer","title":"SMTPServer"},{"id":"SMTPPort","title":"SMTPPort","type":"int"},{"id":"SMTPAuthUser","title":"SMTPAuthUser"},{"id":"SMTPAuthPass","title":"SMTPAuthPass","type":"password"},{"default":"","id":"SMTPTLS","select":[{"k":"","v":"none"},{"k":"starttls","v":"SMTP + STARTTLS"},{"k":"ssl","v":"SMTPS"}],"title":"SMTPTLS","type":"select"},{"cnodes":"SMTPTLSOpts","id":"SMTPTLSOpts","title":"SMTPTLSOpts","type":"keyTextContainer"},{"_nodes":[{"default":"noreply@example.com","id":"mailFrom","title":"mailFrom"},{"id":"mailReplyTo","title":"mailReplyTo"},{"default":"utf-8","id":"mailCharset","title":"mailCharset"}],"id":"mailHeaders","title":"mailHeaders","type":"simpleInputContainer"}],"help":"smtp.html","id":"SMTP","title":"SMTP"},{"_nodes":[{"default":"^[\\w\\.\\-@]+$","id":"userControl","title":"userControl"},{"default":0,"help":"forcereauthn.html","id":"portalForceAuthn","title":"portalForceAuthn","type":"bool"},{"default":5,"id":"portalForceAuthnInterval","title":"portalForceAuthnInterval","type":"int"},{"id":"key","title":"key","type":"password"},{"id":"trustedDomains","title":"trustedDomains"},{"default":1,"help":"safejail.html","id":"useSafeJail","title":"useSafeJail","type":"bool"},{"default":1,"id":"checkXSS","title":"checkXSS","type":"bool"},{"default":0,"help":"bruteforceprotection.html","id":"bruteForceProtection","title":"bruteForceProtection","type":"bool"},{"default":1,"id":"requireToken","title":"requireToken","type":"boolOrExpr"},{"default":120,"id":"formTimeout","title":"formTimeout","type":"int"},{"default":0,"id":"tokenUseGlobalStorage","title":"tokenUseGlobalStorage","type":"bool"},{"cnodes":"lwpOpts","id":"lwpOpts","title":"lwpOpts","type":"keyTextContainer"},{"cnodes":"lwpSslOpts","id":"lwpSslOpts","title":"lwpSslOpts","type":"keyTextContainer"},{"_nodes":[{"default":"'self'","id":"cspDefault","title":"cspDefault"},{"default":"'self' data:","id":"cspImg","title":"cspImg"},{"default":"'self'","id":"cspScript","title":"cspScript"},{"default":"'self'","id":"cspStyle","title":"cspStyle"},{"default":"'self'","id":"cspFont","title":"cspFont"},{"default":"'self'","id":"cspFormAction","title":"cspFormAction"},{"default":"'self'","id":"cspConnect","title":"cspConnect"}],"help":"security.html#portal","id":"contentSecurityPolicy","title":"contentSecurityPolicy","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"corsEnabled","title":"corsEnabled","type":"bool"},{"default":true,"id":"corsAllow_Credentials","title":"corsAllow_Credentials"},{"default":"*","id":"corsAllow_Headers","title":"corsAllow_Headers"},{"default":"POST,GET","id":"corsAllow_Methods","title":"corsAllow_Methods"},{"default":"*","id":"corsAllow_Origin","title":"corsAllow_Origin"},{"default":"*","id":"corsExpose_Headers","title":"corsExpose_Headers"},{"default":"86400","id":"corsMax_Age","title":"corsMax_Age"}],"help":"security.html#portal","id":"crossOrigineResourceSharing","title":"crossOrigineResourceSharing","type":"simpleInputContainer"}],"help":"security.html#configure_security_settings","id":"security","title":"security"},{"_nodes":[{"default":-1,"id":"https","title":"https","type":"trool"},{"default":-1,"id":"port","title":"port","type":"int"},{"default":0,"id":"useRedirectOnForbidden","title":"useRedirectOnForbidden","type":"bool"},{"default":1,"id":"useRedirectOnError","title":"useRedirectOnError","type":"bool"},{"default":0,"id":"maintenance","title":"maintenance","type":"bool"}],"help":"redirections.html","id":"redirection","title":"redirection","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"jsRedirect","title":"jsRedirect","type":"boolOrExpr"},{"default":0,"id":"noAjaxHook","title":"noAjaxHook","type":"bool"},{"default":0,"id":"skipRenewConfirmation","title":"skipRenewConfirmation","type":"bool"}],"help":"redirections.html#portal_redirections","id":"portalRedirection","title":"portalRedirection","type":"simpleInputContainer"},{"cnodes":"nginxCustomHandlers","help":"handlerarch.html","id":"nginxCustomHandlers","title":"nginxCustomHandlers","type":"keyTextContainer"},{"cnodes":"logoutServices","default":[],"help":"logoutforward.html","id":"logoutServices","title":"logoutServices","type":"keyTextContainer"},{"_nodes":[{"default":"get","id":"infoFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"infoFormMethod","type":"select"},{"default":"post","id":"confirmFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"confirmFormMethod","type":"select"},{"default":"get","id":"redirectFormMethod","select":[{"k":"get","v":"GET"},{"k":"post","v":"POST"}],"title":"redirectFormMethod","type":"select"},{"default":1,"id":"activeTimer","title":"activeTimer","type":"bool"}],"id":"forms","title":"forms","type":"simpleInputContainer"}],"help":"start.html#advanced_features","id":"advancedParams","title":"advancedParams"}],"id":"generalParameters","title":"generalParameters"},{"_nodes":[{"cnodes":"exportedVars","default":[{"data":"HTTP_USER_AGENT","id":"exportedVars/UA","title":"UA","type":"keyText"}],"help":"exportedvars.html","id":"exportedVars","title":"exportedVars","type":"keyTextContainer"},{"cnodes":"macros","default":[],"help":"exportedvars.html#extend_variables_using_macros_and_groups","id":"macros","title":"macros","type":"keyTextContainer"},{"cnodes":"groups","default":[],"help":"exportedvars.html#extend_variables_using_macros_and_groups","id":"groups","title":"groups","type":"keyTextContainer"}],"help":"variables.html","id":"variables","title":"variables"},{"cnodes":"virtualHosts","help":"configvhost.html","id":"virtualHosts","template":"virtualHost","title":"virtualHosts","type":"virtualHostContainer"},{"_nodes":[{"default":"#PORTAL#/saml/metadata","id":"samlEntityID","title":"samlEntityID"},{"_nodes":[{"get":["samlServicePrivateKeySig","samlServicePrivateKeySigPwd","samlServicePublicKeySig"],"id":"samlServiceSecuritySig","title":"samlServiceSecuritySig","type":"RSAKey"},{"get":["samlServicePrivateKeyEnc","samlServicePrivateKeyEncPwd","samlServicePublicKeyEnc"],"id":"samlServiceSecurityEnc","title":"samlServiceSecurityEnc","type":"RSAKey"},{"default":0,"id":"samlServiceUseCertificateInResponse","title":"samlServiceUseCertificateInResponse","type":"bool"},{"default":"RSA_SHA1","id":"samlServiceSignatureMethod","select":[{"k":"RSA_SHA1","v":"RSA SHA1"},{"k":"RSA_SHA256","v":"RSA SHA256"}],"title":"samlServiceSignatureMethod","type":"select"}],"help":"samlservice.html#security_parameters","id":"samlServiceSecurity","title":"samlServiceSecurity"},{"_nodes":[{"default":"mail","id":"samlNameIDFormatMapEmail","title":"samlNameIDFormatMapEmail"},{"default":"mail","id":"samlNameIDFormatMapX509","title":"samlNameIDFormatMapX509"},{"default":"uid","id":"samlNameIDFormatMapWindows","title":"samlNameIDFormatMapWindows"},{"default":"uid","id":"samlNameIDFormatMapKerberos","title":"samlNameIDFormatMapKerberos"}],"help":"samlservice.html#nameid_formats","id":"samlNameIDFormatMap","title":"samlNameIDFormatMap","type":"simpleInputContainer"},{"_nodes":[{"default":2,"id":"samlAuthnContextMapPassword","title":"samlAuthnContextMapPassword","type":"int"},{"default":3,"id":"samlAuthnContextMapPasswordProtectedTransport","title":"samlAuthnContextMapPasswordProtectedTransport","type":"int"},{"default":5,"id":"samlAuthnContextMapTLSClient","title":"samlAuthnContextMapTLSClient","type":"int"},{"default":4,"id":"samlAuthnContextMapKerberos","title":"samlAuthnContextMapKerberos","type":"int"}],"help":"samlservice.html#authentication_contexts","id":"samlAuthnContextMap","title":"samlAuthnContextMap","type":"simpleInputContainer"},{"_nodes":[{"default":"Example","id":"samlOrganizationDisplayName","title":"samlOrganizationDisplayName"},{"default":"Example","id":"samlOrganizationName","title":"samlOrganizationName"},{"default":"http://www.example.com","id":"samlOrganizationURL","title":"samlOrganizationURL"}],"help":"samlservice.html#organization","id":"samlOrganization","title":"samlOrganization","type":"simpleInputContainer"},{"_nodes":[{"default":1,"id":"samlSPSSODescriptorAuthnRequestsSigned","title":"samlSPSSODescriptorAuthnRequestsSigned","type":"bool"},{"default":1,"id":"samlSPSSODescriptorWantAssertionsSigned","title":"samlSPSSODescriptorWantAssertionsSigned","type":"bool"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn","id":"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect","title":"samlSPSSODescriptorSingleLogoutServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleLogout;#PORTAL#/saml/proxySingleLogoutReturn","id":"samlSPSSODescriptorSingleLogoutServiceHTTPPost","title":"samlSPSSODescriptorSingleLogoutServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/proxySingleLogoutSOAP;","id":"samlSPSSODescriptorSingleLogoutServiceSOAP","title":"samlSPSSODescriptorSingleLogoutServiceSOAP","type":"samlService"}],"id":"samlSPSSODescriptorSingleLogoutService","title":"samlSPSSODescriptorSingleLogoutService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/proxySingleSignOnArtifact","id":"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact","title":"samlSPSSODescriptorAssertionConsumerServiceHTTPArtifact","type":"samlAssertion"},{"default":"0;1;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/proxySingleSignOnPost","id":"samlSPSSODescriptorAssertionConsumerServiceHTTPPost","title":"samlSPSSODescriptorAssertionConsumerServiceHTTPPost","type":"samlAssertion"}],"id":"samlSPSSODescriptorAssertionConsumerService","title":"samlSPSSODescriptorAssertionConsumerService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact","id":"samlSPSSODescriptorArtifactResolutionServiceArtifact","title":"samlSPSSODescriptorArtifactResolutionServiceArtifact","type":"samlAssertion"}],"id":"samlSPSSODescriptorArtifactResolutionService","title":"samlSPSSODescriptorArtifactResolutionService"}],"help":"samlservice.html#service_provider","id":"samlSPSSODescriptor","title":"samlSPSSODescriptor"},{"_nodes":[{"default":1,"id":"samlIDPSSODescriptorWantAuthnRequestsSigned","title":"samlIDPSSODescriptorWantAuthnRequestsSigned","type":"bool"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleSignOn;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleSignOn;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPPost","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact;#PORTAL#/saml/singleSignOnArtifact;","id":"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact","title":"samlIDPSSODescriptorSingleSignOnServiceHTTPArtifact","type":"samlService"}],"id":"samlIDPSSODescriptorSingleSignOnService","title":"samlIDPSSODescriptorSingleSignOnService"},{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn","id":"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect","title":"samlIDPSSODescriptorSingleLogoutServiceHTTPRedirect","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST;#PORTAL#/saml/singleLogout;#PORTAL#/saml/singleLogoutReturn","id":"samlIDPSSODescriptorSingleLogoutServiceHTTPPost","title":"samlIDPSSODescriptorSingleLogoutServiceHTTPPost","type":"samlService"},{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/singleLogoutSOAP;","id":"samlIDPSSODescriptorSingleLogoutServiceSOAP","title":"samlIDPSSODescriptorSingleLogoutServiceSOAP","type":"samlService"}],"id":"samlIDPSSODescriptorSingleLogoutService","title":"samlIDPSSODescriptorSingleLogoutService"},{"_nodes":[{"default":"1;0;urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/artifact","id":"samlIDPSSODescriptorArtifactResolutionServiceArtifact","title":"samlIDPSSODescriptorArtifactResolutionServiceArtifact","type":"samlAssertion"}],"id":"samlIDPSSODescriptorArtifactResolutionService","title":"samlIDPSSODescriptorArtifactResolutionService"}],"help":"samlservice.html#identity_provider","id":"samlIDPSSODescriptor","title":"samlIDPSSODescriptor"},{"_nodes":[{"_nodes":[{"default":"urn:oasis:names:tc:SAML:2.0:bindings:SOAP;#PORTAL#/saml/AA/SOAP;","id":"samlAttributeAuthorityDescriptorAttributeServiceSOAP","title":"samlAttributeAuthorityDescriptorAttributeServiceSOAP","type":"samlService"}],"id":"samlAttributeAuthorityDescriptorAttributeService","title":"samlAttributeAuthorityDescriptorAttributeService"}],"help":"samlservice.html#attribute_authority","id":"samlAttributeAuthorityDescriptor","title":"samlAttributeAuthorityDescriptor"},{"_nodes":[{"default":"lemonldapidp","id":"samlIdPResolveCookie","title":"samlIdPResolveCookie"},{"default":1,"id":"samlMetadataForceUTF8","title":"samlMetadataForceUTF8","type":"bool"},{"id":"samlStorage","title":"samlStorage"},{"cnodes":"samlStorageOptions","id":"samlStorageOptions","title":"samlStorageOptions","type":"keyTextContainer"},{"default":600,"id":"samlRelayStateTimeout","title":"samlRelayStateTimeout","type":"int"},{"default":0,"id":"samlUseQueryStringSpecific","title":"samlUseQueryStringSpecific","type":"bool"},{"_nodes":[{"default":0,"id":"samlCommonDomainCookieActivation","title":"samlCommonDomainCookieActivation","type":"bool"},{"id":"samlCommonDomainCookieDomain","title":"samlCommonDomainCookieDomain"},{"id":"samlCommonDomainCookieReader","title":"samlCommonDomainCookieReader"},{"id":"samlCommonDomainCookieWriter","title":"samlCommonDomainCookieWriter"}],"id":"samlCommonDomainCookie","title":"samlCommonDomainCookie","type":"simpleInputContainer"},{"_nodes":[{"default":0,"id":"samlDiscoveryProtocolActivation","title":"samlDiscoveryProtocolActivation","type":"bool"},{"id":"samlDiscoveryProtocolURL","title":"samlDiscoveryProtocolURL"},{"id":"samlDiscoveryProtocolPolicy","title":"samlDiscoveryProtocolPolicy"},{"default":0,"id":"samlDiscoveryProtocolIsPassive","title":"samlDiscoveryProtocolIsPassive","type":"bool"}],"id":"samlDiscoveryProtocol","title":"samlDiscoveryProtocol","type":"simpleInputContainer"},{"default":"","id":"samlOverrideIDPEntityID","title":"samlOverrideIDPEntityID"}],"help":"samlservice.html#advanced","id":"samlAdvanced","title":"samlAdvanced"}],"help":"samlservice.html","id":"samlServiceMetaData","title":"samlServiceMetaData"},{"cnodes":"samlIDPMetaDataNodes","help":"authsaml.html","id":"samlIDPMetaDataNodes","template":"samlIDPMetaDataNode","title":"samlIDPMetaDataNodes","type":"samlIDPMetaDataNodeContainer"},{"cnodes":"samlSPMetaDataNodes","help":"idpsaml.html","id":"samlSPMetaDataNodes","template":"samlSPMetaDataNode","title":"samlSPMetaDataNodes","type":"samlSPMetaDataNodeContainer"},{"_nodes":[{"id":"oidcServiceMetaDataIssuer","title":"oidcServiceMetaDataIssuer"},{"_nodes":[{"default":"authorize","id":"oidcServiceMetaDataAuthorizeURI","title":"oidcServiceMetaDataAuthorizeURI"},{"default":"token","id":"oidcServiceMetaDataTokenURI","title":"oidcServiceMetaDataTokenURI"},{"default":"userinfo","id":"oidcServiceMetaDataUserInfoURI","title":"oidcServiceMetaDataUserInfoURI"},{"default":"jwks","id":"oidcServiceMetaDataJWKSURI","title":"oidcServiceMetaDataJWKSURI"},{"default":"register","id":"oidcServiceMetaDataRegistrationURI","title":"oidcServiceMetaDataRegistrationURI"},{"default":"introspect","id":"oidcServiceMetaDataIntrospectionURI","title":"oidcServiceMetaDataIntrospectionURI"},{"default":"logout","id":"oidcServiceMetaDataEndSessionURI","title":"oidcServiceMetaDataEndSessionURI"},{"default":"checksession.html","id":"oidcServiceMetaDataCheckSessionURI","title":"oidcServiceMetaDataCheckSessionURI"},{"default":"flogout","id":"oidcServiceMetaDataFrontChannelURI","title":"oidcServiceMetaDataFrontChannelURI"},{"default":"blogout","id":"oidcServiceMetaDataBackChannelURI","title":"oidcServiceMetaDataBackChannelURI"}],"id":"oidcServiceMetaDataEndPoints","title":"oidcServiceMetaDataEndPoints","type":"simpleInputContainer"},{"cnodes":"oidcServiceMetaDataAuthnContext","default":[{"data":1,"id":"oidcServiceMetaDataAuthnContext/loa-1","title":"loa-1","type":"keyText"},{"data":2,"id":"oidcServiceMetaDataAuthnContext/loa-2","title":"loa-2","type":"keyText"},{"data":3,"id":"oidcServiceMetaDataAuthnContext/loa-3","title":"loa-3","type":"keyText"},{"data":4,"id":"oidcServiceMetaDataAuthnContext/loa-4","title":"loa-4","type":"keyText"},{"data":5,"id":"oidcServiceMetaDataAuthnContext/loa-5","title":"loa-5","type":"keyText"}],"id":"oidcServiceMetaDataAuthnContext","title":"oidcServiceMetaDataAuthnContext","type":"keyTextContainer"},{"_nodes":[{"get":["oidcServicePrivateKeySig","oidcServicePublicKeySig"],"id":"oidcServiceMetaDataKeys","title":"oidcServiceMetaDataKeys","type":"RSAKeyNoPassword"},{"id":"oidcServiceKeyIdSig","title":"oidcServiceKeyIdSig"},{"default":0,"id":"oidcServiceAllowDynamicRegistration","title":"oidcServiceAllowDynamicRegistration","type":"bool"},{"default":1,"id":"oidcServiceAllowAuthorizationCodeFlow","title":"oidcServiceAllowAuthorizationCodeFlow","type":"bool"},{"default":0,"id":"oidcServiceAllowImplicitFlow","title":"oidcServiceAllowImplicitFlow","type":"bool"},{"default":0,"id":"oidcServiceAllowHybridFlow","title":"oidcServiceAllowHybridFlow","type":"bool"}],"id":"oidcServiceMetaDataSecurity","title":"oidcServiceMetaDataSecurity"},{"_nodes":[{"id":"oidcStorage","title":"oidcStorage"},{"cnodes":"oidcStorageOptions","id":"oidcStorageOptions","title":"oidcStorageOptions","type":"keyTextContainer"}],"id":"oidcServiceMetaDataSessions","title":"oidcServiceMetaDataSessions"}],"help":"openidconnectservice.html#service_configuration","id":"oidcServiceMetaData","title":"oidcServiceMetaData"},{"cnodes":"oidcOPMetaDataNodes","help":"authopenidconnect.html#declare_the_openid_connect_provider_in_llng","id":"oidcOPMetaDataNodes","title":"oidcOPMetaDataNodes","type":"oidcOPMetaDataNodeContainer"},{"cnodes":"oidcRPMetaDataNodes","help":"idpopenidconnect.html#configuration_of_relying_party_in_llng","id":"oidcRPMetaDataNodes","title":"oidcRPMetaDataNodes","type":"oidcRPMetaDataNodeContainer"},{"_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"},{"id":"casStorage","title":"casStorage"},{"cnodes":"casStorageOptions","id":"casStorageOptions","title":"casStorageOptions","type":"keyTextContainer"},{"cnodes":"casAttributes","id":"casAttributes","title":"casAttributes","type":"keyTextContainer"}],"help":"idpcas.html#configuring_the_cas_service","id":"casServiceMetadata","title":"casServiceMetadata"},{"cnodes":"casSrvMetaDataNodes","help":"authcas.html","id":"casSrvMetaDataNodes","template":"casSrvMetaDataNode","title":"casSrvMetaDataNodes","type":"casSrvMetaDataNodeContainer"},{"cnodes":"casAppMetaDataNodes","help":"idpcas.html#configuring_cas_applications","id":"casAppMetaDataNodes","template":"casAppMetaDataNode","title":"casAppMetaDataNodes","type":"casAppMetaDataNodeContainer"}] \ No newline at end of file diff --git a/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t b/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t index 4e9c48afb..eeb758842 100644 --- a/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t +++ b/lemonldap-ng-manager/t/11-save-appCat-changed-conf.t @@ -38,7 +38,7 @@ while ( my $body = &body() ) { #print STDERR Dumper($resBody); ok( $resBody->{result} == 1, "$desc: JSON response contains \"result:1\"" ); - ok( @{ $resBody->{details}->{__changes__} } eq 1, + ok( @{ $resBody->{details}->{__changes__} } eq 2, "$desc: conf has changed" ) or print STDERR Dumper($resBody); ok( diff --git a/lemonldap-ng-manager/t/11-save-changed-conf-with-confirmation.t b/lemonldap-ng-manager/t/11-save-changed-conf-with-confirmation.t index c2a0d506c..15337eaf2 100644 --- a/lemonldap-ng-manager/t/11-save-changed-conf-with-confirmation.t +++ b/lemonldap-ng-manager/t/11-save-changed-conf-with-confirmation.t @@ -54,8 +54,8 @@ ok( ) or print STDERR Dumper($resBody); ok( - @{ $resBody->{details}->{__changes__} } == 22, - 'JSON response contains 24 changes' + @{ $resBody->{details}->{__changes__} } == 23, + 'JSON response contains 23 changes' ) or print STDERR Dumper($resBody); #print STDERR Dumper($resBody); @@ -113,11 +113,10 @@ ok( $res = &client->jsonResponse('/diff/1/2'), 'Diff called' ); my ( @c1, @c2 ); ok( ( @c1 = sort keys %{ $res->[0] } ), 'diff() detects changes in conf 1' ); ok( ( @c2 = sort keys %{ $res->[1] } ), 'diff() detects changes in conf 2' ); -ok( @c1 == 12, '11 keys changed in conf 1' ) +ok( @c1 == 12, '12 keys changed in conf 1' ) or print STDERR "Expect: 12 keys, get: " . join( ', ', @c1 ) . "\n"; -ok( @c2 == 16, '14 keys changed or created in conf 2' ) +ok( @c2 == 16, '16 keys changed or created in conf 2' ) or print STDERR "Expect: 16 keys, get: " . join( ',', @c2 ) . "\n"; - count(5); unlink $confFiles->[1]; @@ -246,6 +245,10 @@ sub changes { 'new' => 0, 'key' => 'captcha_mail_enabled', 'old' => '1' + }, + { + 'confCompacted' => '1', + 'removedKeys' => 'some; keys' } ]; } diff --git a/lemonldap-ng-manager/t/12-save-changed-conf.t b/lemonldap-ng-manager/t/12-save-changed-conf.t index 9813e375c..a08809d8c 100644 --- a/lemonldap-ng-manager/t/12-save-changed-conf.t +++ b/lemonldap-ng-manager/t/12-save-changed-conf.t @@ -38,7 +38,7 @@ foreach my $i ( 0 .. 1 ) { } ok( - @{ $resBody->{details}->{__changes__} } == 22, + @{ $resBody->{details}->{__changes__} } == 23, 'JSON response contains 22 changes' ) or print STDERR Dumper($resBody); @@ -224,6 +224,10 @@ sub changes { { 'key' => 'virtualHosts', 'old' => 'test2.example.com' + }, + { + 'confCompacted' => '1', + 'removedKeys' => 'some; keys' } ]; } diff --git a/lemonldap-ng-portal/.prove b/lemonldap-ng-portal/.prove index 251f016ee..31d6f0de6 100644 --- a/lemonldap-ng-portal/.prove +++ b/lemonldap-ng-portal/.prove @@ -1,1766 +1,1763 @@ --- -generation: 3 -last_run_time: 1566327301.05636 +generation: 4 +last_run_time: 1567071727.97704 tests: t/01-AuthDemo.t: - elapsed: 0.392001867294312 - gen: 3 - last_pass_time: 1566327299.10043 + elapsed: 1.03716993331909 + gen: 4 + last_pass_time: 1567071683.50003 last_result: 0 - last_run_time: 1566327299.10043 + last_run_time: 1567071683.50003 last_todo: 0 - mtime: 1566161691 - seq: 482 - total_passes: 3 + mtime: 1565616292 + seq: 632 + total_passes: 4 t/01-CSP-and-CORS-headers.t: - elapsed: 0.294459104537964 - gen: 3 - last_pass_time: 1566327299.24321 + elapsed: 0.886045932769775 + gen: 4 + last_pass_time: 1567071689.41638 last_result: 0 - last_run_time: 1566327299.24321 + last_run_time: 1567071689.41638 last_todo: 0 - mtime: 1566161683 - seq: 486 - total_passes: 3 + mtime: 1566913192 + seq: 647 + total_passes: 4 t/01-pdata.t: - elapsed: 0.187825918197632 - gen: 3 - last_pass_time: 1566327300.16862 + elapsed: 3.37590193748474 + gen: 4 + last_pass_time: 1567071708.66343 last_result: 0 - last_run_time: 1566327300.16862 + last_run_time: 1567071708.66343 last_todo: 0 - mtime: 1566161705 - seq: 503 - total_passes: 3 + mtime: 1565616292 + seq: 677 + total_passes: 4 t/02-Password-Demo.t: - elapsed: 0.308248996734619 - gen: 3 - last_pass_time: 1566327299.9525 + elapsed: 0.971089839935303 + gen: 4 + last_pass_time: 1567071689.49293 last_result: 0 - last_run_time: 1566327299.9525 + last_run_time: 1567071689.49293 last_todo: 0 - mtime: 1566161694 - seq: 496 - total_passes: 3 + mtime: 1565616292 + seq: 648 + total_passes: 4 t/03-XSS-protection.t: - elapsed: 0.506947040557861 - gen: 3 - last_pass_time: 1566327297.82901 + elapsed: 1.02614784240723 + gen: 4 + last_pass_time: 1567071677.0964 last_result: 0 - last_run_time: 1566327297.82901 + last_run_time: 1567071677.0964 last_todo: 0 - mtime: 1566326760 - seq: 460 - total_passes: 3 + mtime: 1565616292 + seq: 615 + total_passes: 4 t/04-language-selection.t: - elapsed: 0.235898971557617 - gen: 3 - last_pass_time: 1566327299.27685 + elapsed: 0.717852115631104 + gen: 4 + last_pass_time: 1567071703.43387 last_result: 0 - last_run_time: 1566327299.27685 + last_run_time: 1567071703.43387 last_todo: 0 - mtime: 1566161676 - seq: 487 - total_passes: 3 + mtime: 1565616292 + seq: 672 + total_passes: 4 t/19-Auth-Null.t: - elapsed: 0.169616937637329 - gen: 3 - last_pass_time: 1566327300.20999 + elapsed: 0.0040738582611084 + gen: 4 + last_pass_time: 1567071708.64014 last_result: 0 - last_run_time: 1566327300.20999 + last_run_time: 1567071708.64014 last_todo: 0 - mtime: 1566161699 - seq: 505 - total_passes: 3 + mtime: 1565616292 + seq: 676 + total_passes: 4 t/20-Auth-DBI-utf8.t: - elapsed: 0.344451189041138 - gen: 3 - last_pass_time: 1566327298.83822 + elapsed: 0.717894077301025 + gen: 4 + last_pass_time: 1567071686.14143 last_result: 0 - last_run_time: 1566327298.83822 + last_run_time: 1567071686.14143 last_todo: 0 - mtime: 1566326749 - seq: 476 - total_passes: 3 + mtime: 1567064911 + seq: 638 + total_passes: 4 t/20-Auth-and-password-DBI-dynamic-hash.t: - elapsed: 0.479628086090088 - gen: 3 - last_pass_time: 1566327297.87073 + elapsed: 1.1614100933075 + gen: 4 + last_pass_time: 1567071679.55363 last_result: 0 - last_run_time: 1566327297.87073 + last_run_time: 1567071679.55363 last_todo: 0 - mtime: 1566326749 - seq: 461 - total_passes: 3 + mtime: 1567064911 + seq: 620 + total_passes: 4 t/20-Auth-and-password-DBI.t: - elapsed: 0.316281080245972 - gen: 3 - last_pass_time: 1566327297.69419 + elapsed: 1.01729679107666 + gen: 4 + last_pass_time: 1567071688.33304 last_result: 0 - last_run_time: 1566327297.69419 + last_run_time: 1567071688.33304 last_todo: 0 - mtime: 1566326749 - seq: 456 - total_passes: 3 + mtime: 1567064911 + seq: 643 + total_passes: 4 t/21-Auth-LDAP-Policy.t: - elapsed: 0.0136840343475342 - gen: 3 - last_pass_time: 1566327300.74858 + elapsed: 0.102221965789795 + gen: 4 + last_pass_time: 1567071725.60186 last_result: 0 - last_run_time: 1566327300.74858 + last_run_time: 1567071725.60186 last_todo: 0 - mtime: 1566161698 - seq: 515 - total_passes: 3 + mtime: 1565616292 + seq: 699 + total_passes: 4 t/21-Auth-LDAP-utf8.t: - elapsed: 0.0272371768951416 - gen: 3 - last_pass_time: 1566327300.84054 + elapsed: 0.0817551612854004 + gen: 4 + last_pass_time: 1567071725.60062 last_result: 0 - last_run_time: 1566327300.84054 + last_run_time: 1567071725.60062 last_todo: 0 - mtime: 1566161697 - seq: 516 - total_passes: 3 + mtime: 1565616292 + seq: 698 + total_passes: 4 t/21-Auth-and-password-LDAP.t: - elapsed: 0.0128788948059082 - gen: 3 - last_pass_time: 1566327300.86179 + elapsed: 0.0587961673736572 + gen: 4 + last_pass_time: 1567071725.46796 last_result: 0 - last_run_time: 1566327300.86179 + last_run_time: 1567071725.46796 last_todo: 0 - mtime: 1566161703 - seq: 517 - total_passes: 3 + mtime: 1565616292 + seq: 697 + total_passes: 4 t/22-Auth-and-password-AD.t: - elapsed: 0.0119221210479736 - gen: 3 - last_pass_time: 1566327300.9184 + elapsed: 0.0927479267120361 + gen: 4 + last_pass_time: 1567071725.63656 last_result: 0 - last_run_time: 1566327300.9184 + last_run_time: 1567071725.63656 last_todo: 0 - mtime: 1566161686 - seq: 520 - total_passes: 3 + mtime: 1565616292 + seq: 701 + total_passes: 4 t/23-Auth-and-password-REST.t: - elapsed: 0.518589973449707 - gen: 3 - last_pass_time: 1566327297.73087 + elapsed: 1.07276511192322 + gen: 4 + last_pass_time: 1567071677.05464 last_result: 0 - last_run_time: 1566327297.73087 + last_run_time: 1567071677.05464 last_todo: 0 - mtime: 1566161697 - seq: 458 - total_passes: 3 + mtime: 1565616292 + seq: 614 + total_passes: 4 t/24-AuthApache.t: - elapsed: 0.193931102752686 - gen: 3 - last_pass_time: 1566327300.535 + elapsed: 0.417310953140259 + gen: 4 + last_pass_time: 1567071705.53631 last_result: 0 - last_run_time: 1566327300.535 + last_run_time: 1567071705.53631 last_todo: 0 - mtime: 1566161679 - seq: 511 - total_passes: 3 + mtime: 1565616292 + seq: 674 + total_passes: 4 t/24-AuthKerberos.t: - elapsed: 0.265526056289673 - gen: 3 - last_pass_time: 1566327299.67922 + elapsed: 6.5819239616394 + gen: 4 + last_pass_time: 1567071700.74771 last_result: 0 - last_run_time: 1566327299.67922 + last_run_time: 1567071700.74771 last_todo: 0 - mtime: 1566161710 - seq: 492 - total_passes: 3 + mtime: 1565616292 + seq: 662 + total_passes: 4 t/25-AuthSlave.t: - elapsed: 0.104701042175293 - gen: 3 - last_pass_time: 1566327300.31333 + elapsed: 3.31546187400818 + gen: 4 + last_pass_time: 1567071713.85094 last_result: 0 - last_run_time: 1566327300.31333 + last_run_time: 1567071713.85094 last_todo: 0 - mtime: 1566161682 - seq: 509 - total_passes: 3 + mtime: 1565616292 + seq: 683 + total_passes: 4 t/26-AuthRemote.t: - elapsed: 0.251462936401367 - gen: 3 - last_pass_time: 1566327300.2327 + elapsed: 3.02453398704529 + gen: 4 + last_pass_time: 1567071700.70533 last_result: 0 - last_run_time: 1566327300.2327 + last_run_time: 1567071700.70533 last_todo: 0 - mtime: 1566161695 - seq: 506 - total_passes: 3 + mtime: 1565616292 + seq: 660 + total_passes: 4 t/27-AuthProxy.t: - elapsed: 0.0121052265167236 - gen: 3 - last_pass_time: 1566327300.95704 + elapsed: 0.0282590389251709 + gen: 4 + last_pass_time: 1567071725.63358 last_result: 0 - last_run_time: 1566327300.95704 + last_run_time: 1567071725.63358 last_todo: 0 - mtime: 1566161694 - seq: 523 - total_passes: 3 + mtime: 1565616292 + seq: 700 + total_passes: 4 t/28-AuthChoice-and-password.t: - elapsed: 0.0600540637969971 - gen: 3 - last_pass_time: 1566327300.7168 + elapsed: 0.00483202934265137 + gen: 4 + last_pass_time: 1567071715.34999 last_result: 0 - last_run_time: 1566327300.7168 + last_run_time: 1567071715.34999 last_todo: 0 - mtime: 1566326749 - seq: 514 - total_passes: 3 + mtime: 1567071328 + seq: 688 + total_passes: 4 t/28-AuthChoice-with-captcha.t: - elapsed: 1.12277579307556 - gen: 3 - last_pass_time: 1566327292.90283 + elapsed: 1.96309089660645 + gen: 4 + last_pass_time: 1567071647.48684 last_result: 0 - last_run_time: 1566327292.90283 + last_run_time: 1567071647.48684 last_todo: 0 - mtime: 1566326749 - seq: 395 - total_passes: 3 + mtime: 1567071328 + seq: 554 + total_passes: 4 t/28-AuthChoice-with-rules.t: - elapsed: 0.472162008285522 - gen: 3 - last_pass_time: 1566327298.01837 + elapsed: 1.07907199859619 + gen: 4 + last_pass_time: 1567071680.0684 last_result: 0 - last_run_time: 1566327298.01837 + last_run_time: 1567071680.0684 last_todo: 0 - mtime: 1566326749 - seq: 462 - total_passes: 3 + mtime: 1567068535 + seq: 621 + total_passes: 4 t/28-AuthChoice-with-token.t: - elapsed: 0.335257053375244 - gen: 3 - last_pass_time: 1566327299.05944 + elapsed: 0.989087104797363 + gen: 4 + last_pass_time: 1567071686.49298 last_result: 0 - last_run_time: 1566327299.05944 + last_run_time: 1567071686.49298 last_todo: 0 - mtime: 1566326749 - seq: 481 - total_passes: 3 + mtime: 1567071328 + seq: 640 + total_passes: 4 t/29-AuthGPG.t: - elapsed: 0.466294050216675 - gen: 3 - last_pass_time: 1566327297.08143 + elapsed: 1.11928200721741 + gen: 4 + last_pass_time: 1567071680.07889 last_result: 0 - last_run_time: 1566327297.08143 + last_run_time: 1567071680.07889 last_todo: 0 - mtime: 1566161680 - seq: 451 - total_passes: 3 + mtime: 1565616292 + seq: 622 + total_passes: 4 t/29-AuthSSL.t: - elapsed: 0.259130001068115 - gen: 3 - last_pass_time: 1566327300.09408 + elapsed: 5.10239696502686 + gen: 4 + last_pass_time: 1567071700.76663 last_result: 0 - last_run_time: 1566327300.09408 + last_run_time: 1567071700.76663 last_todo: 0 - mtime: 1566326760 - seq: 501 - total_passes: 3 + mtime: 1567068535 + seq: 663 + total_passes: 4 t/30-Auth-SAML-with-choice.t: - elapsed: 0.916493892669678 - gen: 3 - last_pass_time: 1566327295.62733 + elapsed: 2.1885941028595 + gen: 4 + last_pass_time: 1567071656.64041 last_result: 0 - last_run_time: 1566327295.62733 + last_run_time: 1567071656.64041 last_todo: 0 - mtime: 1566161688 - seq: 432 - total_passes: 3 + mtime: 1565616292 + seq: 575 + total_passes: 4 t/30-Auth-and-issuer-SAML-Artifact-with-SOAP-SLO-IdP-initiated.t: - elapsed: 1.09337091445923 - gen: 3 - last_pass_time: 1566327295.15423 + elapsed: 2.13033390045166 + gen: 4 + last_pass_time: 1567071647.65645 last_result: 0 - last_run_time: 1566327295.15423 + last_run_time: 1567071647.65645 last_todo: 0 - mtime: 1566161699 - seq: 424 - total_passes: 3 + mtime: 1565616292 + seq: 555 + total_passes: 4 t/30-Auth-and-issuer-SAML-Artifact-with-SOAP-SLO.t: - elapsed: 0.845731019973755 - gen: 3 - last_pass_time: 1566327293.49752 + elapsed: 5.34263205528259 + gen: 4 + last_pass_time: 1567071666.90228 last_result: 0 - last_run_time: 1566327293.49752 + last_run_time: 1567071666.90228 last_todo: 0 - mtime: 1566161705 - seq: 407 - total_passes: 3 + mtime: 1565616292 + seq: 588 + total_passes: 4 t/30-Auth-and-issuer-SAML-Metadata.t: - elapsed: 0.476730108261108 - gen: 3 - last_pass_time: 1566327298.27251 + elapsed: 1.13475179672241 + gen: 4 + last_pass_time: 1567071680.09097 last_result: 0 - last_run_time: 1566327298.27251 + last_run_time: 1567071680.09097 last_todo: 0 - mtime: 1566326739 - seq: 469 - total_passes: 3 + mtime: 1565616292 + seq: 623 + total_passes: 4 t/30-Auth-and-issuer-SAML-POST-IdP-initiated.t: - elapsed: 0.978227138519287 - gen: 3 - last_pass_time: 1566327295.13482 + elapsed: 2.29226303100586 + gen: 4 + last_pass_time: 1567071652.57643 last_result: 0 - last_run_time: 1566327295.13482 + last_run_time: 1567071652.57643 last_todo: 0 - mtime: 1566161687 - seq: 423 - total_passes: 3 + mtime: 1565616292 + seq: 569 + total_passes: 4 t/30-Auth-and-issuer-SAML-POST-Missing-SLO.t: - elapsed: 0.99794602394104 - gen: 3 - last_pass_time: 1566327293.71334 + elapsed: 2.59311294555664 + gen: 4 + last_pass_time: 1567071652.25646 last_result: 0 - last_run_time: 1566327293.71334 + last_run_time: 1567071652.25646 last_todo: 0 - mtime: 1566326749 - seq: 409 - total_passes: 3 + mtime: 1567071328 + seq: 565 + total_passes: 4 t/30-Auth-and-issuer-SAML-POST.t: - elapsed: 1.04451203346252 - gen: 3 - last_pass_time: 1566327293.75373 + elapsed: 2.72225284576416 + gen: 4 + last_pass_time: 1567071648.64442 last_result: 0 - last_run_time: 1566327293.75373 + last_run_time: 1567071648.64442 last_todo: 0 - mtime: 1566161677 - seq: 410 - total_passes: 3 + mtime: 1565616292 + seq: 561 + total_passes: 4 t/30-Auth-and-issuer-SAML-Redirect-IdP-initiated.t: - elapsed: 0.977572917938232 - gen: 3 - last_pass_time: 1566327295.31427 + elapsed: 2.09093904495239 + gen: 4 + last_pass_time: 1567071652.39247 last_result: 0 - last_run_time: 1566327295.31427 + last_run_time: 1567071652.39247 last_todo: 0 - mtime: 1566161687 - seq: 427 - total_passes: 3 + mtime: 1565616292 + seq: 566 + total_passes: 4 t/30-Auth-and-issuer-SAML-Redirect-MultipleSP-Missing-SLO.t: - elapsed: 1.16870093345642 - gen: 3 - last_pass_time: 1566327293.40209 + elapsed: 2.97734713554382 + gen: 4 + last_pass_time: 1567071648.39003 last_result: 0 - last_run_time: 1566327293.40209 + last_run_time: 1567071648.39003 last_todo: 0 - mtime: 1566326749 - seq: 404 - total_passes: 3 + mtime: 1567071328 + seq: 560 + total_passes: 4 t/30-Auth-and-issuer-SAML-Redirect-MultipleSP.t: - elapsed: 1.24253106117249 - gen: 3 - last_pass_time: 1566327293.33228 + elapsed: 3.93121385574341 + gen: 4 + last_pass_time: 1567071643.49334 last_result: 0 - last_run_time: 1566327293.33228 + last_run_time: 1567071643.49334 last_todo: 0 - mtime: 1566161708 - seq: 401 - total_passes: 3 + mtime: 1565616292 + seq: 547 + total_passes: 4 t/30-Auth-and-issuer-SAML-Redirect.t: - elapsed: 0.916826963424683 - gen: 3 - last_pass_time: 1566327294.73199 + elapsed: 2.40771698951721 + gen: 4 + last_pass_time: 1567071656.7556 last_result: 0 - last_run_time: 1566327294.73199 + last_run_time: 1567071656.7556 last_todo: 0 - mtime: 1566161676 - seq: 417 - total_passes: 3 + mtime: 1565616292 + seq: 576 + total_passes: 4 t/30-CDC.t: - elapsed: 1.03154802322388 - gen: 3 - last_pass_time: 1566327293.87255 + elapsed: 2.45267105102539 + gen: 4 + last_pass_time: 1567071651.88752 last_result: 0 - last_run_time: 1566327293.87255 + last_run_time: 1567071651.88752 last_todo: 0 - mtime: 1566161684 - seq: 411 - total_passes: 3 + mtime: 1565616292 + seq: 563 + total_passes: 4 t/30-SAML-Head-to-Tail-POST.t: - elapsed: 0.232720136642456 - gen: 3 - last_pass_time: 1566327287.63193 + elapsed: 2.51867890357971 + gen: 4 + last_pass_time: 1567071705.23565 last_result: 0 - last_run_time: 1566327287.63193 + last_run_time: 1567071705.23565 last_todo: 0 - mtime: 1566161715 - seq: 368 - total_passes: 3 + mtime: 1565616292 + seq: 673 + total_passes: 4 t/30-SAML-POST-Logout-when-expired.t: - elapsed: 0.259699821472168 - gen: 3 - last_pass_time: 1566327287.65925 + elapsed: 8.50031495094299 + gen: 4 + last_pass_time: 1567071702.95107 last_result: 0 - last_run_time: 1566327287.65925 + last_run_time: 1567071702.95107 last_todo: 0 - mtime: 1566161690 - seq: 369 - total_passes: 3 + mtime: 1565616292 + seq: 666 + total_passes: 4 t/30-SAML-POST-with-Notification.t: - elapsed: 0.293528079986572 - gen: 3 - last_pass_time: 1566327287.6924 + elapsed: 2.76960515975952 + gen: 4 + last_pass_time: 1567071692.02042 last_result: 0 - last_run_time: 1566327287.6924 + last_run_time: 1567071692.02042 last_todo: 0 - mtime: 1566326760 - seq: 371 - total_passes: 3 + mtime: 1567068535 + seq: 652 + total_passes: 4 t/30-SAML-ReAuth-with-choice.t: - elapsed: 0.174981832504272 - gen: 3 - last_pass_time: 1566327287.5755 + elapsed: 1.58503484725952 + gen: 4 + last_pass_time: 1567071710.22042 last_result: 0 - last_run_time: 1566327287.5755 + last_run_time: 1567071710.22042 last_todo: 0 - mtime: 1566326749 - seq: 365 - total_passes: 3 + mtime: 1567064911 + seq: 682 + total_passes: 4 t/30-SAML-ReAuth.t: - elapsed: 0.191865921020508 - gen: 3 - last_pass_time: 1566327287.59269 + elapsed: 4.42415285110474 + gen: 4 + last_pass_time: 1567071709.55663 last_result: 0 - last_run_time: 1566327287.59269 + last_run_time: 1567071709.55663 last_todo: 0 - mtime: 1566161708 - seq: 366 - total_passes: 3 + mtime: 1565616292 + seq: 681 + total_passes: 4 t/30-SAML-SP-rule.t: - elapsed: 11.1634941101074 - gen: 3 - last_pass_time: 1566327287.42381 + elapsed: 11.3730070590973 + gen: 4 + last_pass_time: 1567071631.64859 last_result: 0 - last_run_time: 1566327287.42381 + last_run_time: 1567071631.64859 last_todo: 0 - mtime: 1566161696 - seq: 356 - total_passes: 3 + mtime: 1565616292 + seq: 531 + total_passes: 4 t/31-Auth-and-issuer-CAS-Logout-20.t: - elapsed: 0.0539090633392334 - gen: 3 - last_pass_time: 1566327291.23197 + elapsed: 8.08917212486267 + gen: 4 + last_pass_time: 1567071723.43528 last_result: 0 - last_run_time: 1566327291.23197 + last_run_time: 1567071723.43528 last_todo: 0 - mtime: 1566161678 - seq: 377 - total_passes: 3 + mtime: 1565616292 + seq: 695 + total_passes: 4 t/31-Auth-and-issuer-CAS-Logout-30.t: - elapsed: 0.620761871337891 - gen: 3 - last_pass_time: 1566327296.69104 + elapsed: 1.67660093307495 + gen: 4 + last_pass_time: 1567071674.13519 last_result: 0 - last_run_time: 1566327296.69104 + last_run_time: 1567071674.13519 last_todo: 0 - mtime: 1566161702 - seq: 444 - total_passes: 3 + mtime: 1565616292 + seq: 609 + total_passes: 4 t/31-Auth-and-issuer-CAS-XSS-on-logout.t: - elapsed: 3.36709094047546 - gen: 3 - last_pass_time: 1566327291.19554 + elapsed: 3.82466697692871 + gen: 4 + last_pass_time: 1567071637.33468 last_result: 0 - last_run_time: 1566327291.19554 + last_run_time: 1567071637.33468 last_todo: 0 - mtime: 1566161684 - seq: 373 - total_passes: 3 + mtime: 1565616292 + seq: 537 + total_passes: 4 t/31-Auth-and-issuer-CAS-declared-app-userattr.t: - elapsed: 0.913640975952148 - gen: 3 - last_pass_time: 1566327296.56861 + elapsed: 1.79717898368835 + gen: 4 + last_pass_time: 1567071659.42244 last_result: 0 - last_run_time: 1566327296.56861 + last_run_time: 1567071659.42244 last_todo: 0 - mtime: 1566161683 - seq: 442 - total_passes: 3 + mtime: 1565616292 + seq: 579 + total_passes: 4 t/31-Auth-and-issuer-CAS-declared-app.t: - elapsed: 0.723327875137329 - gen: 3 - last_pass_time: 1566327296.63981 + elapsed: 1.8183479309082 + gen: 4 + last_pass_time: 1567071670.42039 last_result: 0 - last_run_time: 1566327296.63981 + last_run_time: 1567071670.42039 last_todo: 0 - mtime: 1566161684 - seq: 443 - total_passes: 3 + mtime: 1565616292 + seq: 598 + total_passes: 4 t/31-Auth-and-issuer-CAS-declared-apps.t: - elapsed: 11.1433479785919 - gen: 3 - last_pass_time: 1566327287.41173 + elapsed: 11.3096449375153 + gen: 4 + last_pass_time: 1567071631.62742 last_result: 0 - last_run_time: 1566327287.41173 + last_run_time: 1567071631.62742 last_todo: 0 - mtime: 1566161713 - seq: 353 - total_passes: 3 + mtime: 1565616292 + seq: 529 + total_passes: 4 t/31-Auth-and-issuer-CAS-default.t: - elapsed: 0.714180946350098 - gen: 3 - last_pass_time: 1566327296.19451 + elapsed: 1.62290000915527 + gen: 4 + last_pass_time: 1567071670.18658 last_result: 0 - last_run_time: 1566327296.19451 + last_run_time: 1567071670.18658 last_todo: 0 - mtime: 1566161711 - seq: 434 - total_passes: 3 + mtime: 1565616292 + seq: 596 + total_passes: 4 t/31-Auth-and-issuer-CAS-gateway.t: - elapsed: 0.519260883331299 - gen: 3 - last_pass_time: 1566327298.3292 + elapsed: 1.00587105751038 + gen: 4 + last_pass_time: 1567071676.98844 last_result: 0 - last_run_time: 1566327298.3292 + last_run_time: 1567071676.98844 last_todo: 0 - mtime: 1566161679 - seq: 471 - total_passes: 3 + mtime: 1565616292 + seq: 613 + total_passes: 4 t/31-Auth-and-issuer-CAS-proxied.t: - elapsed: 0.862547159194946 - gen: 3 - last_pass_time: 1566327296.46841 + elapsed: 1.74765706062317 + gen: 4 + last_pass_time: 1567071662.49416 last_result: 0 - last_run_time: 1566327296.46841 + last_run_time: 1567071662.49416 last_todo: 0 - mtime: 1566161676 - seq: 439 - total_passes: 3 + mtime: 1565616292 + seq: 586 + total_passes: 4 t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t: - elapsed: 0.60164999961853 - gen: 3 - last_pass_time: 1566327296.74038 + elapsed: 1.44373297691345 + gen: 4 + last_pass_time: 1567071674.1152 last_result: 0 - last_run_time: 1566327296.74038 + last_run_time: 1567071674.1152 last_todo: 0 - mtime: 1566326749 - seq: 446 - total_passes: 3 + mtime: 1567064911 + seq: 608 + total_passes: 4 t/31-Auth-and-issuer-CAS-with-choice.t: - elapsed: 0.868088960647583 - gen: 3 - last_pass_time: 1566327294.77119 + elapsed: 2.15318012237549 + gen: 4 + last_pass_time: 1567071660.8884 last_result: 0 - last_run_time: 1566327294.77119 + last_run_time: 1567071660.8884 last_todo: 0 - mtime: 1566326749 - seq: 418 - total_passes: 3 + mtime: 1567064911 + seq: 583 + total_passes: 4 t/32-Auth-and-issuer-OIDC-authorization_code-OP-logout.t: - elapsed: 0.0763850212097168 - gen: 3 - last_pass_time: 1566327291.25191 + elapsed: 3.33657097816467 + gen: 4 + last_pass_time: 1567071714.00782 last_result: 0 - last_run_time: 1566327291.25191 + last_run_time: 1567071714.00782 last_todo: 0 - mtime: 1566161685 - seq: 380 - total_passes: 3 + mtime: 1565616292 + seq: 686 + total_passes: 4 t/32-Auth-and-issuer-OIDC-authorization_code-public_client.t: - elapsed: 0.695075988769531 - gen: 3 - last_pass_time: 1566327296.22073 + elapsed: 1.87111616134644 + gen: 4 + last_pass_time: 1567071671.02462 last_result: 0 - last_run_time: 1566327296.22073 + last_run_time: 1567071671.02462 last_todo: 0 - mtime: 1566161690 - seq: 435 - total_passes: 3 + mtime: 1565616292 + seq: 602 + total_passes: 4 t/32-Auth-and-issuer-OIDC-authorization_code-with-authchoice.t: - elapsed: 0.904077053070068 - gen: 3 - last_pass_time: 1566327295.45362 + elapsed: 1.87172102928162 + gen: 4 + last_pass_time: 1567071659.65044 last_result: 0 - last_run_time: 1566327295.45362 + last_run_time: 1567071659.65044 last_todo: 0 - mtime: 1566326749 - seq: 429 - total_passes: 3 + mtime: 1567064911 + seq: 580 + total_passes: 4 t/32-Auth-and-issuer-OIDC-authorization_code-with-none-alg.t: - elapsed: 0.858850955963135 - gen: 3 - last_pass_time: 1566327296.51339 + elapsed: 1.80772280693054 + gen: 4 + last_pass_time: 1567071663.19243 last_result: 0 - last_run_time: 1566327296.51339 + last_run_time: 1567071663.19243 last_todo: 0 - mtime: 1566161710 - seq: 440 - total_passes: 3 + mtime: 1565616292 + seq: 587 + total_passes: 4 t/32-Auth-and-issuer-OIDC-authorization_code.t: - elapsed: 0.673908948898315 - gen: 3 - last_pass_time: 1566327296.15482 + elapsed: 1.84714794158936 + gen: 4 + last_pass_time: 1567071673.96219 last_result: 0 - last_run_time: 1566327296.15482 + last_run_time: 1567071673.96219 last_todo: 0 - mtime: 1566161712 - seq: 433 - total_passes: 3 + mtime: 1565616292 + seq: 605 + total_passes: 4 t/32-Auth-and-issuer-OIDC-hybrid.t: - elapsed: 0.741499900817871 - gen: 3 - last_pass_time: 1566327296.91301 + elapsed: 0.259577989578247 + gen: 4 + last_pass_time: 1567071667.15723 last_result: 0 - last_run_time: 1566327296.91301 + last_run_time: 1567071667.15723 last_todo: 0 - mtime: 1566326739 - seq: 448 - total_passes: 3 + mtime: 1565616292 + seq: 592 + total_passes: 4 t/32-Auth-and-issuer-OIDC-implicit-no-token.t: - elapsed: 0.700356006622314 - gen: 3 - last_pass_time: 1566327297.10022 + elapsed: 1.68873691558838 + gen: 4 + last_pass_time: 1567071670.75819 last_result: 0 - last_run_time: 1566327297.10022 + last_run_time: 1567071670.75819 last_todo: 0 - mtime: 1566326739 - seq: 452 - total_passes: 3 + mtime: 1565616292 + seq: 600 + total_passes: 4 t/32-Auth-and-issuer-OIDC-implicit.t: - elapsed: 0.636889934539795 - gen: 3 - last_pass_time: 1566327296.95372 + elapsed: 1.68410515785217 + gen: 4 + last_pass_time: 1567071673.98452 last_result: 0 - last_run_time: 1566327296.95372 + last_run_time: 1567071673.98452 last_todo: 0 - mtime: 1566326739 - seq: 449 - total_passes: 3 + mtime: 1565616292 + seq: 606 + total_passes: 4 t/32-Auth-and-issuer-OIDC-sorted.t: - elapsed: 0.484026908874512 - gen: 3 - last_pass_time: 1566327298.29715 + elapsed: 0.947277069091797 + gen: 4 + last_pass_time: 1567071678.55641 last_result: 0 - last_run_time: 1566327298.29715 + last_run_time: 1567071678.55641 last_todo: 0 - mtime: 1566161679 - seq: 470 - total_passes: 3 + mtime: 1565616292 + seq: 619 + total_passes: 4 t/32-CAS-10.t: - elapsed: 0.284047842025757 - gen: 3 - last_pass_time: 1566327299.32542 + elapsed: 1.02864813804626 + gen: 4 + last_pass_time: 1567071692.45244 last_result: 0 - last_run_time: 1566327299.32542 + last_run_time: 1567071692.45244 last_todo: 0 - mtime: 1566161691 - seq: 489 - total_passes: 3 + mtime: 1565616292 + seq: 655 + total_passes: 4 t/32-OIDC-RP-rule.t: - elapsed: 0.558186054229736 - gen: 3 - last_pass_time: 1566327298.16841 + elapsed: 1.22863793373108 + gen: 4 + last_pass_time: 1567071677.13041 last_result: 0 - last_run_time: 1566327298.16841 + last_run_time: 1567071677.13041 last_todo: 0 - mtime: 1566161711 - seq: 467 - total_passes: 3 - t/32-OIDC-Token-Spoof.t: - elapsed: 0.185344934463501 - gen: 3 - last_pass_time: 1566327299.31366 + mtime: 1565616292 + seq: 616 + total_passes: 4 + t/32-OIDC-Token-Security.t: + elapsed: 2.31681990623474 + gen: 4 + last_pass_time: 1567071727.97586 last_result: 0 - last_run_time: 1566327299.31366 + last_run_time: 1567071727.97586 last_todo: 0 - mtime: 1566326760 - seq: 488 - total_passes: 3 + seq: 704 + total_passes: 1 t/33-Auth-and-issuer-OpenID2.t: - elapsed: 0.894211053848267 - gen: 3 - last_pass_time: 1566327294.69601 + elapsed: 2.51526188850403 + gen: 4 + last_pass_time: 1567071661.02439 last_result: 0 - last_run_time: 1566327294.69601 + last_run_time: 1567071661.02439 last_todo: 0 - mtime: 1566161681 - seq: 416 - total_passes: 3 + mtime: 1565616292 + seq: 584 + total_passes: 4 t/34-Auth-Proxy-and-REST-Server.t: - elapsed: 0.314558982849121 - gen: 3 - last_pass_time: 1566327291.49427 + elapsed: 1.70091485977173 + gen: 4 + last_pass_time: 1567071689.14563 last_result: 0 - last_run_time: 1566327291.49427 + last_run_time: 1567071689.14563 last_todo: 0 - mtime: 1566326739 - seq: 385 - total_passes: 3 + mtime: 1565616292 + seq: 646 + total_passes: 4 t/34-Auth-Proxy-and-SOAP-Server.t: - elapsed: 3.28497314453125 - gen: 3 - last_pass_time: 1566327291.22441 + elapsed: 3.77255916595459 + gen: 4 + last_pass_time: 1567071637.34292 last_result: 0 - last_run_time: 1566327291.22441 + last_run_time: 1567071637.34292 last_todo: 0 - mtime: 1566161702 - seq: 375 - total_passes: 3 + mtime: 1565616292 + seq: 538 + total_passes: 4 t/35-My-session.t: - elapsed: 0.276721954345703 - gen: 3 - last_pass_time: 1566327300.18438 + elapsed: 1.55974817276001 + gen: 4 + last_pass_time: 1567071695.665 last_result: 0 - last_run_time: 1566327300.18438 + last_run_time: 1567071695.665 last_todo: 0 - mtime: 1566161715 - seq: 504 - total_passes: 3 + mtime: 1562251990 + seq: 658 + total_passes: 4 t/35-REST-config-backend.t: - elapsed: 0.477972030639648 - gen: 3 - last_pass_time: 1566327297.62659 + elapsed: 1.38165283203125 + gen: 4 + last_pass_time: 1567071680.24196 last_result: 0 - last_run_time: 1566327297.62659 + last_run_time: 1567071680.24196 last_todo: 0 - mtime: 1566326760 - seq: 455 - total_passes: 3 + mtime: 1566913192 + seq: 624 + total_passes: 4 t/35-REST-export-password.t: - elapsed: 0.597575902938843 - gen: 3 - last_pass_time: 1566327298.09318 + elapsed: 1.21835207939148 + gen: 4 + last_pass_time: 1567071674.08951 last_result: 0 - last_run_time: 1566327298.09318 + last_run_time: 1567071674.08951 last_todo: 0 - mtime: 1566161714 - seq: 465 - total_passes: 3 + mtime: 1565616292 + seq: 607 + total_passes: 4 t/35-REST-sessions-with-AuthBasic-handler.t: - elapsed: 0.225189924240112 - gen: 3 - last_pass_time: 1566327299.17315 + elapsed: 0.568660974502563 + gen: 4 + last_pass_time: 1567071703.28416 last_result: 0 - last_run_time: 1566327299.17315 + last_run_time: 1567071703.28416 last_todo: 0 - mtime: 1566326749 - seq: 484 - total_passes: 3 + mtime: 1567064911 + seq: 671 + total_passes: 4 t/35-REST-sessions-with-REST-server.t: - elapsed: 0.593553066253662 - gen: 3 - last_pass_time: 1566327297.43548 + elapsed: 1.3794469833374 + gen: 4 + last_pass_time: 1567071674.26677 last_result: 0 - last_run_time: 1566327297.43548 + last_run_time: 1567071674.26677 last_todo: 0 - mtime: 1566161714 - seq: 453 - total_passes: 3 + mtime: 1565616292 + seq: 610 + total_passes: 4 t/35-SOAP-config-backend.t: - elapsed: 0.897230863571167 - gen: 3 - last_pass_time: 1566327295.25287 + elapsed: 2.00379395484924 + gen: 4 + last_pass_time: 1567071660.26245 last_result: 0 - last_run_time: 1566327295.25287 + last_run_time: 1567071660.26245 last_todo: 0 - mtime: 1566326739 - seq: 425 - total_passes: 3 + mtime: 1565616292 + seq: 581 + total_passes: 4 t/35-SOAP-sessions-with-SOAP-server.t: - elapsed: 0.763724088668823 - gen: 3 - last_pass_time: 1566327296.41731 + elapsed: 4.09997296333313 + gen: 4 + last_pass_time: 1567071667.1896 last_result: 0 - last_run_time: 1566327296.41731 + last_run_time: 1567071667.1896 last_todo: 0 - mtime: 1566161692 - seq: 438 - total_passes: 3 + mtime: 1565616292 + seq: 593 + total_passes: 4 t/36-Combination-Kerberos-or-Demo.t: - elapsed: 0.235553979873657 - gen: 3 - last_pass_time: 1566327300.24446 + elapsed: 0.327654838562012 + gen: 4 + last_pass_time: 1567071703.04502 last_result: 0 - last_run_time: 1566327300.24446 + last_run_time: 1567071703.04502 last_todo: 0 - mtime: 1566326749 - seq: 507 - total_passes: 3 + mtime: 1567071328 + seq: 668 + total_passes: 4 t/36-Combination-with-Choice.t: - elapsed: 0.937578916549683 - gen: 3 - last_pass_time: 1566327294.59879 + elapsed: 1.72731709480286 + gen: 4 + last_pass_time: 1567071655.82055 last_result: 0 - last_run_time: 1566327294.59879 + last_run_time: 1567071655.82055 last_todo: 0 - mtime: 1566326749 - seq: 414 - total_passes: 3 + mtime: 1567064911 + seq: 571 + total_passes: 4 t/36-Combination-with-TOTP.t: - elapsed: 0.790159940719604 - gen: 3 - last_pass_time: 1566327291.967 + elapsed: 4.27868390083313 + gen: 4 + last_pass_time: 1567071667.13265 last_result: 0 - last_run_time: 1566327291.967 + last_run_time: 1567071667.13265 last_todo: 0 - mtime: 1566326760 - seq: 391 - total_passes: 3 + mtime: 1566913192 + seq: 591 + total_passes: 4 t/36-Combination-with-over.t: - elapsed: 0.313707828521729 - gen: 3 - last_pass_time: 1566327298.99947 + elapsed: 0.74750804901123 + gen: 4 + last_pass_time: 1567071688.92935 last_result: 0 - last_run_time: 1566327298.99947 + last_run_time: 1567071688.92935 last_todo: 0 - mtime: 1566326749 - seq: 480 - total_passes: 3 + mtime: 1567064911 + seq: 644 + total_passes: 4 t/36-Combination-with-token.t: - elapsed: 3.40280413627625 - gen: 3 - last_pass_time: 1566327291.46797 + elapsed: 3.91161417961121 + gen: 4 + last_pass_time: 1567071637.49311 last_result: 0 - last_run_time: 1566327291.46797 + last_run_time: 1567071637.49311 last_todo: 0 - mtime: 1566326760 - seq: 384 - total_passes: 3 + mtime: 1567064911 + seq: 542 + total_passes: 4 t/36-Combination.t: - elapsed: 0.670563936233521 - gen: 3 - last_pass_time: 1566327296.70899 + elapsed: 1.29578399658203 + gen: 4 + last_pass_time: 1567071673.5284 last_result: 0 - last_run_time: 1566327296.70899 + last_run_time: 1567071673.5284 last_todo: 0 - mtime: 1566326749 - seq: 445 - total_passes: 3 + mtime: 1567064911 + seq: 604 + total_passes: 4 t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t: - elapsed: 0.460299968719482 - gen: 3 - last_pass_time: 1566327301.05077 + elapsed: 2.30417394638062 + gen: 4 + last_pass_time: 1567071681.30057 last_result: 0 - last_run_time: 1566327301.05077 + last_run_time: 1567071681.30057 last_todo: 0 - mtime: 1566161693 - seq: 527 - total_passes: 3 + mtime: 1565616292 + seq: 626 + total_passes: 4 t/37-CAS-App-to-SAML-IdP-POST.t: - elapsed: 0.396848917007446 - gen: 3 - last_pass_time: 1566327301.04296 + elapsed: 2.3275089263916 + gen: 4 + last_pass_time: 1567071684.31642 last_result: 0 - last_run_time: 1566327301.04296 + last_run_time: 1567071684.31642 last_todo: 0 - mtime: 1566161713 - seq: 526 - total_passes: 3 + mtime: 1565616292 + seq: 634 + total_passes: 4 t/37-Logout-from-OIDC-RP-to-SAML-SP.t: - elapsed: 1.2148060798645 - gen: 3 - last_pass_time: 1566327292.9966 + elapsed: 2.90048289299011 + gen: 4 + last_pass_time: 1567071648.22844 last_result: 0 - last_run_time: 1566327292.9966 + last_run_time: 1567071648.22844 last_todo: 0 - mtime: 1566161678 - seq: 396 - total_passes: 3 + mtime: 1565616292 + seq: 558 + total_passes: 4 t/37-OIDC-RP-to-SAML-IdP-GET-with-WAYF.t: - elapsed: 1.23219895362854 - gen: 3 - last_pass_time: 1566327293.3846 + elapsed: 0.141176223754883 + gen: 4 + last_pass_time: 1567071643.62206 last_result: 0 - last_run_time: 1566327293.3846 + last_run_time: 1567071643.62206 last_todo: 0 - mtime: 1566161681 - seq: 403 - total_passes: 3 + mtime: 1565616292 + seq: 552 + total_passes: 4 t/37-OIDC-RP-to-SAML-IdP-GET.t: - elapsed: 1.26653218269348 - gen: 3 - last_pass_time: 1566327293.47894 + elapsed: 3.94865322113037 + gen: 4 + last_pass_time: 1567071643.48157 last_result: 0 - last_run_time: 1566327293.47894 + last_run_time: 1567071643.48157 last_todo: 0 - mtime: 1566161702 - seq: 406 - total_passes: 3 + mtime: 1565616292 + seq: 546 + total_passes: 4 t/37-OIDC-RP-to-SAML-IdP-POST.t: - elapsed: 1.15624189376831 - gen: 3 - last_pass_time: 1566327293.14622 + elapsed: 2.90327501296997 + gen: 4 + last_pass_time: 1567071648.3684 last_result: 0 - last_run_time: 1566327293.14622 + last_run_time: 1567071648.3684 last_todo: 0 - mtime: 1566161715 - seq: 398 - total_passes: 3 + mtime: 1565616292 + seq: 559 + total_passes: 4 t/37-SAML-SP-GET-to-OIDC-OP.t: - elapsed: 0.957540035247803 - gen: 3 - last_pass_time: 1566327292.73824 + elapsed: 2.71667289733887 + gen: 4 + last_pass_time: 1567071656.32048 last_result: 0 - last_run_time: 1566327292.73824 + last_run_time: 1567071656.32048 last_todo: 0 - mtime: 1566161678 - seq: 394 - total_passes: 3 + mtime: 1565616292 + seq: 573 + total_passes: 4 t/37-SAML-SP-POST-to-CAS-server-with-Choice.t: - elapsed: 0.916709899902344 - gen: 3 - last_pass_time: 1566327294.50671 + elapsed: 2.47999501228333 + gen: 4 + last_pass_time: 1567071656.84445 last_result: 0 - last_run_time: 1566327294.50671 + last_run_time: 1567071656.84445 last_todo: 0 - mtime: 1566161698 - seq: 413 - total_passes: 3 + mtime: 1565616292 + seq: 577 + total_passes: 4 t/37-SAML-SP-POST-to-CAS-server.t: - elapsed: 0.982300996780396 - gen: 3 - last_pass_time: 1566327294.61864 + elapsed: 2.1795871257782 + gen: 4 + last_pass_time: 1567071652.12754 last_result: 0 - last_run_time: 1566327294.61864 + last_run_time: 1567071652.12754 last_todo: 0 - mtime: 1566161694 - seq: 415 - total_passes: 3 + mtime: 1565616292 + seq: 564 + total_passes: 4 t/37-SAML-SP-POST-to-OIDC-OP.t: - elapsed: 1.12614583969116 - gen: 3 - last_pass_time: 1566327293.36507 + elapsed: 2.68858695030212 + gen: 4 + last_pass_time: 1567071648.09644 last_result: 0 - last_run_time: 1566327293.36507 + last_run_time: 1567071648.09644 last_todo: 0 - mtime: 1566161709 - seq: 402 - total_passes: 3 + mtime: 1565616292 + seq: 557 + total_passes: 4 t/38-No-persistent-session.t: - elapsed: 0.0705549716949463 - gen: 3 - last_pass_time: 1566327291.2465 + elapsed: 0.0512008666992188 + gen: 4 + last_pass_time: 1567071713.89956 last_result: 0 - last_run_time: 1566327291.2465 + last_run_time: 1567071713.89956 last_todo: 0 - mtime: 1566161696 - seq: 379 - total_passes: 3 + mtime: 1565616292 + seq: 685 + total_passes: 4 t/40-Notifications-JSON-DBI.t: - elapsed: 0.38671088218689 - gen: 3 - last_pass_time: 1566327298.25027 + elapsed: 0.8106529712677 + gen: 4 + last_pass_time: 1567071684.00841 last_result: 0 - last_run_time: 1566327298.25027 + last_run_time: 1567071684.00841 last_todo: 0 - mtime: 1566326760 - seq: 468 - total_passes: 3 + mtime: 1567067061 + seq: 633 + total_passes: 4 t/40-Notifications-JSON-File-with-token.t: - elapsed: 0.346669912338257 - gen: 3 - last_pass_time: 1566327299.47602 + elapsed: 0.738358974456787 + gen: 4 + last_pass_time: 1567071685.48852 last_result: 0 - last_run_time: 1566327299.47602 + last_run_time: 1567071685.48852 last_todo: 0 - mtime: 1566326760 - seq: 491 - total_passes: 3 + mtime: 1567064911 + seq: 637 + total_passes: 4 t/40-Notifications-JSON-File.t: - elapsed: 0.402300834655762 - gen: 3 - last_pass_time: 1566327298.77921 + elapsed: 0.822850942611694 + gen: 4 + last_pass_time: 1567071682.79282 last_result: 0 - last_run_time: 1566327298.77921 + last_run_time: 1567071682.79282 last_todo: 0 - mtime: 1566326760 - seq: 474 - total_passes: 3 + mtime: 1567064911 + seq: 629 + total_passes: 4 t/40-Notifications-JSON-Server.t: - elapsed: 0.249919891357422 - gen: 3 - last_pass_time: 1566327299.13487 + elapsed: 0.511276006698608 + gen: 4 + last_pass_time: 1567071703.22905 last_result: 0 - last_run_time: 1566327299.13487 + last_run_time: 1567071703.22905 last_todo: 0 - mtime: 1566326760 - seq: 483 - total_passes: 3 + mtime: 1567071100 + seq: 669 + total_passes: 4 t/40-Notifications-XML-DBI.t: - elapsed: 0.564214944839478 - gen: 3 - last_pass_time: 1566327297.76934 + elapsed: 0.973469972610474 + gen: 4 + last_pass_time: 1567071676.45378 last_result: 0 - last_run_time: 1566327297.76934 + last_run_time: 1567071676.45378 last_todo: 0 - mtime: 1566326760 - seq: 459 - total_passes: 3 + mtime: 1567067196 + seq: 612 + total_passes: 4 t/40-Notifications-XML-File.t: - elapsed: 0.565671920776367 - gen: 3 - last_pass_time: 1566327298.05427 + elapsed: 1.01741576194763 + gen: 4 + last_pass_time: 1567071675.68573 last_result: 0 - last_run_time: 1566327298.05427 + last_run_time: 1567071675.68573 last_todo: 0 - mtime: 1566326760 - seq: 463 - total_passes: 3 + mtime: 1567064911 + seq: 611 + total_passes: 4 t/40-Notifications-XML-Server.t: - elapsed: 0.697104215621948 - gen: 3 - last_pass_time: 1566327297.06462 + elapsed: 1.51732015609741 + gen: 4 + last_pass_time: 1567071670.58845 last_result: 0 - last_run_time: 1566327297.06462 + last_run_time: 1567071670.58845 last_todo: 0 - mtime: 1566326760 - seq: 450 - total_passes: 3 + mtime: 1567064911 + seq: 599 + total_passes: 4 t/41-Captcha.t: - elapsed: 1.70595598220825 - gen: 3 - last_pass_time: 1566327293.59842 + elapsed: 2.18854689598083 + gen: 4 + last_pass_time: 1567071641.38445 last_result: 0 - last_run_time: 1566327293.59842 + last_run_time: 1567071641.38445 last_todo: 0 - mtime: 1566326749 - seq: 408 - total_passes: 3 + mtime: 1567068535 + seq: 545 + total_passes: 4 t/41-Token-Global-Storage.t: - elapsed: 0.316540956497192 - gen: 3 - last_pass_time: 1566327299.4466 + elapsed: 0.787989854812622 + gen: 4 + last_pass_time: 1567071687.22107 last_result: 0 - last_run_time: 1566327299.4466 + last_run_time: 1567071687.22107 last_todo: 0 - mtime: 1566161683 - seq: 490 - total_passes: 3 + mtime: 1565616292 + seq: 642 + total_passes: 4 t/41-Token.t: - elapsed: 0.231583833694458 - gen: 3 - last_pass_time: 1566327299.8681 + elapsed: 0.53124213218689 + gen: 4 + last_pass_time: 1567071703.2478 last_result: 0 - last_run_time: 1566327299.8681 + last_run_time: 1567071703.2478 last_todo: 0 - mtime: 1566161711 - seq: 494 - total_passes: 3 + mtime: 1565616292 + seq: 670 + total_passes: 4 t/42-Register-Demo-with-captcha.t: - elapsed: 1.25197291374207 - gen: 3 - last_pass_time: 1566327293.03345 + elapsed: 3.85260701179504 + gen: 4 + last_pass_time: 1567071643.5096 last_result: 0 - last_run_time: 1566327293.03345 + last_run_time: 1567071643.5096 last_todo: 0 - mtime: 1566161713 - seq: 397 - total_passes: 3 + mtime: 1565616292 + seq: 548 + total_passes: 4 t/42-Register-Demo-with-token.t: - elapsed: 0.92218804359436 - gen: 3 - last_pass_time: 1566327295.53705 + elapsed: 2.09574413299561 + gen: 4 + last_pass_time: 1567071656.37636 last_result: 0 - last_run_time: 1566327295.53705 + last_run_time: 1567071656.37636 last_todo: 0 - mtime: 1566161702 - seq: 431 - total_passes: 3 + mtime: 1565616292 + seq: 574 + total_passes: 4 t/42-Register-Demo.t: - elapsed: 0.948164939880371 - gen: 3 - last_pass_time: 1566327296.4007 + elapsed: 1.82707619667053 + gen: 4 + last_pass_time: 1567071655.66637 last_result: 0 - last_run_time: 1566327296.4007 + last_run_time: 1567071655.66637 last_todo: 0 - mtime: 1566161680 - seq: 437 - total_passes: 3 + mtime: 1565616292 + seq: 570 + total_passes: 4 t/42-Register-LDAP.t: - elapsed: 0.449860095977783 - gen: 3 - last_pass_time: 1566327297.70469 + elapsed: 1.27597904205322 + gen: 4 + last_pass_time: 1567071680.4964 last_result: 0 - last_run_time: 1566327297.70469 + last_run_time: 1567071680.4964 last_todo: 0 - mtime: 1566161675 - seq: 457 - total_passes: 3 + mtime: 1565616292 + seq: 625 + total_passes: 4 t/42-Register-Security.t: - elapsed: 0.711199045181274 - gen: 3 - last_pass_time: 1566327294.98913 + elapsed: 1.87248396873474 + gen: 4 + last_pass_time: 1567071670.97639 last_result: 0 - last_run_time: 1566327294.98913 + last_run_time: 1567071670.97639 last_todo: 0 - mtime: 1566161675 - seq: 422 - total_passes: 3 + mtime: 1565616292 + seq: 601 + total_passes: 4 t/43-MailPasswordReset-Choice.t: - elapsed: 0.903246164321899 - gen: 3 - last_pass_time: 1566327292.68287 + elapsed: 3.0725839138031 + gen: 4 + last_pass_time: 1567071661.19281 last_result: 0 - last_run_time: 1566327292.68287 + last_run_time: 1567071661.19281 last_todo: 0 - mtime: 1566326749 - seq: 393 - total_passes: 3 + mtime: 1567064911 + seq: 585 + total_passes: 4 t/43-MailPasswordReset-DBI.t: - elapsed: 1.19199299812317 - gen: 3 - last_pass_time: 1566327293.97881 + elapsed: 2.45280599594116 + gen: 4 + last_pass_time: 1567071647.79207 last_result: 0 - last_run_time: 1566327293.97881 + last_run_time: 1567071647.79207 last_todo: 0 - mtime: 1566326749 - seq: 412 - total_passes: 3 + mtime: 1567064911 + seq: 556 + total_passes: 4 t/43-MailPasswordReset-LDAP.t: - elapsed: 0.563808917999268 - gen: 3 - last_pass_time: 1566327297.54815 + elapsed: 1.30695295333862 + gen: 4 + last_pass_time: 1567071677.15439 last_result: 0 - last_run_time: 1566327297.54815 + last_run_time: 1567071677.15439 last_todo: 0 - mtime: 1566161714 - seq: 454 - total_passes: 3 + mtime: 1565616292 + seq: 617 + total_passes: 4 t/43-MailPasswordReset-with-captcha.t: - elapsed: 0.0328390598297119 - gen: 3 - last_pass_time: 1566327291.21053 + elapsed: 5.09911704063416 + gen: 4 + last_pass_time: 1567071723.32994 last_result: 0 - last_run_time: 1566327291.21053 + last_run_time: 1567071723.32994 last_todo: 0 - mtime: 1566161700 - seq: 374 - total_passes: 3 + mtime: 1565616292 + seq: 692 + total_passes: 4 t/43-MailPasswordReset-with-token.t: - elapsed: 0.775239944458008 - gen: 3 - last_pass_time: 1566327294.78822 + elapsed: 4.0338921546936 + gen: 4 + last_pass_time: 1567071666.92712 last_result: 0 - last_run_time: 1566327294.78822 + last_run_time: 1567071666.92712 last_todo: 0 - mtime: 1566161695 - seq: 419 - total_passes: 3 + mtime: 1565616292 + seq: 590 + total_passes: 4 t/43-MailPasswordReset.t: - elapsed: 0.72420597076416 - gen: 3 - last_pass_time: 1566327294.88539 + elapsed: 2.07133913040161 + gen: 4 + last_pass_time: 1567071670.32165 last_result: 0 - last_run_time: 1566327294.88539 + last_run_time: 1567071670.32165 last_todo: 0 - mtime: 1566161707 - seq: 421 - total_passes: 3 + mtime: 1566984861 + seq: 597 + total_passes: 4 t/50-IssuerGet.t: - elapsed: 0.280128002166748 - gen: 3 - last_pass_time: 1566327299.92293 + elapsed: 0.898654937744141 + gen: 4 + last_pass_time: 1567071692.55236 last_result: 0 - last_run_time: 1566327299.92293 + last_run_time: 1567071692.55236 last_todo: 0 - mtime: 1566161715 - seq: 495 - total_passes: 3 + mtime: 1565616292 + seq: 656 + total_passes: 4 t/59-Double-cookies-Refresh-and-Logout.t: - elapsed: 0.148874044418335 - gen: 3 - last_pass_time: 1566327287.54875 + elapsed: 3.93221187591553 + gen: 4 + last_pass_time: 1567071714.03289 last_result: 0 - last_run_time: 1566327287.54875 + last_run_time: 1567071714.03289 last_todo: 0 - mtime: 1566326749 - seq: 364 - total_passes: 3 + mtime: 1567071328 + seq: 687 + total_passes: 4 t/59-Double-cookies-for-Double-sessions.t: - elapsed: 0.292942047119141 - gen: 3 - last_pass_time: 1566327300.27459 + elapsed: 1.04220199584961 + gen: 4 + last_pass_time: 1567071692.17317 last_result: 0 - last_run_time: 1566327300.27459 + last_run_time: 1567071692.17317 last_todo: 0 - mtime: 1566161696 - seq: 508 - total_passes: 3 + mtime: 1565616292 + seq: 653 + total_passes: 4 t/59-Double-cookies-for-a-Single-session.t: - elapsed: 0.293147087097168 - gen: 3 - last_pass_time: 1566327300.00943 + elapsed: 0.889181137084961 + gen: 4 + last_pass_time: 1567071691.93686 last_result: 0 - last_run_time: 1566327300.00943 + last_run_time: 1567071691.93686 last_todo: 0 - mtime: 1566161704 - seq: 498 - total_passes: 3 + mtime: 1565616292 + seq: 651 + total_passes: 4 t/59-Secured-cookie-Refresh-and-Logout.t: - elapsed: 0.123552083969116 - gen: 3 - last_pass_time: 1566327301.01312 + elapsed: 3.53266501426697 + gen: 4 + last_pass_time: 1567071713.87365 last_result: 0 - last_run_time: 1566327301.01312 + last_run_time: 1567071713.87365 last_todo: 0 - mtime: 1566326749 - seq: 525 - total_passes: 3 + mtime: 1567071328 + seq: 684 + total_passes: 4 t/60-Status.t: - elapsed: 0.190748929977417 - gen: 3 - last_pass_time: 1566327300.61519 + elapsed: 3.53713202476501 + gen: 4 + last_pass_time: 1567071708.62894 last_result: 0 - last_run_time: 1566327300.61519 + last_run_time: 1567071708.62894 last_todo: 0 - mtime: 1566161694 - seq: 513 - total_passes: 3 + mtime: 1565616292 + seq: 675 + total_passes: 4 t/61-BruteForceProtection.t: - elapsed: 0.278847932815552 - gen: 3 - last_pass_time: 1566327287.67735 + elapsed: 7.57667899131775 + gen: 4 + last_pass_time: 1567071700.79991 last_result: 0 - last_run_time: 1566327287.67735 + last_run_time: 1567071700.79991 last_todo: 0 - mtime: 1566161697 - seq: 370 - total_passes: 3 + mtime: 1565616292 + seq: 664 + total_passes: 4 t/61-ForceAuthn.t: - elapsed: 11.1047480106354 - gen: 3 - last_pass_time: 1566327287.42749 + elapsed: 11.2490770816803 + gen: 4 + last_pass_time: 1567071631.66511 last_result: 0 - last_run_time: 1566327287.42749 + last_run_time: 1567071631.66511 last_todo: 0 - mtime: 1566161700 - seq: 357 - total_passes: 3 + mtime: 1565616292 + seq: 532 + total_passes: 4 t/61-GrantSession.t: - elapsed: 11.1543030738831 - gen: 3 - last_pass_time: 1566327287.44493 + elapsed: 11.4436650276184 + gen: 4 + last_pass_time: 1567071631.6949 last_result: 0 - last_run_time: 1566327287.44493 + last_run_time: 1567071631.6949 last_todo: 0 - mtime: 1566161695 - seq: 360 - total_passes: 3 + mtime: 1565616292 + seq: 534 + total_passes: 4 t/61-Session-ActivityTimeout.t: - elapsed: 0.0340349674224854 - gen: 3 - last_pass_time: 1566327287.43423 + elapsed: 8.06517815589905 + gen: 4 + last_pass_time: 1567071723.4096 last_result: 0 - last_run_time: 1566327287.43423 + last_run_time: 1567071723.4096 last_todo: 0 - mtime: 1566161690 - seq: 358 - total_passes: 3 + mtime: 1565616292 + seq: 694 + total_passes: 4 t/61-Session-Timeout.t: - elapsed: 11.2445900440216 - gen: 3 - last_pass_time: 1566327287.41527 + elapsed: 11.5419139862061 + gen: 4 + last_pass_time: 1567071631.70518 last_result: 0 - last_run_time: 1566327287.41527 + last_run_time: 1567071631.70518 last_todo: 0 - mtime: 1566161686 - seq: 354 - total_passes: 3 + mtime: 1565616292 + seq: 535 + total_passes: 4 t/62-SingleSession.t: - elapsed: 11.120493888855 - gen: 3 - last_pass_time: 1566327287.41901 + elapsed: 11.223512172699 + gen: 4 + last_pass_time: 1567071631.63593 last_result: 0 - last_run_time: 1566327287.41901 + last_run_time: 1567071631.63593 last_todo: 0 - mtime: 1566161709 - seq: 355 - total_passes: 3 + mtime: 1565616292 + seq: 530 + total_passes: 4 t/62-UpgradeSession.t: - elapsed: 11.096400976181 - gen: 3 - last_pass_time: 1566327287.44082 + elapsed: 11.2433459758759 + gen: 4 + last_pass_time: 1567071631.72148 last_result: 0 - last_run_time: 1566327287.44082 + last_run_time: 1567071631.72148 last_todo: 0 - mtime: 1566326760 - seq: 359 - total_passes: 3 + mtime: 1566913192 + seq: 536 + total_passes: 4 t/63-History.t: - elapsed: 0.346016883850098 - gen: 3 - last_pass_time: 1566327298.50952 + elapsed: 1.13256406784058 + gen: 4 + last_pass_time: 1567071686.31711 last_result: 0 - last_run_time: 1566327298.50952 + last_run_time: 1567071686.31711 last_todo: 0 - mtime: 1566161677 - seq: 472 - total_passes: 3 + mtime: 1565616292 + seq: 639 + total_passes: 4 t/64-StayConnected.t: - elapsed: 0.36823296546936 - gen: 3 - last_pass_time: 1566327298.85467 + elapsed: 0.905658006668091 + gen: 4 + last_pass_time: 1567071684.39695 last_result: 0 - last_run_time: 1566327298.85467 + last_run_time: 1567071684.39695 last_todo: 0 - mtime: 1566161711 - seq: 477 - total_passes: 3 + mtime: 1565616292 + seq: 635 + total_passes: 4 t/65-AutoSignin.t: - elapsed: 0.237323045730591 - gen: 3 - last_pass_time: 1566327300.15078 + elapsed: 0.245505094528198 + gen: 4 + last_pass_time: 1567071702.96367 last_result: 0 - last_run_time: 1566327300.15078 + last_run_time: 1567071702.96367 last_todo: 0 - mtime: 1566161678 - seq: 502 - total_passes: 3 + mtime: 1565616292 + seq: 667 + total_passes: 4 t/66-CDA-PSGI-Try.t: - elapsed: 0.270328044891357 - gen: 3 - last_pass_time: 1566327300.043 + elapsed: 6.63590908050537 + gen: 4 + last_pass_time: 1567071700.69728 last_result: 0 - last_run_time: 1566327300.043 + last_run_time: 1567071700.69728 last_todo: 0 - mtime: 1566326739 - seq: 499 - total_passes: 3 + mtime: 1565616292 + seq: 659 + total_passes: 4 t/66-CDA-already-auth.t: - elapsed: 0.310588121414185 - gen: 3 - last_pass_time: 1566327300.06925 + elapsed: 0.634896039962769 + gen: 4 + last_pass_time: 1567071688.99707 last_result: 0 - last_run_time: 1566327300.06925 + last_run_time: 1567071688.99707 last_todo: 0 - mtime: 1566161687 - seq: 500 - total_passes: 3 + mtime: 1565616292 + seq: 645 + total_passes: 4 t/66-CDA-with-REST.t: - elapsed: 0.293444156646729 - gen: 3 - last_pass_time: 1566327300.95238 + elapsed: 1.1992199420929 + gen: 4 + last_pass_time: 1567071691.59358 last_result: 0 - last_run_time: 1566327300.95238 + last_run_time: 1567071691.59358 last_todo: 0 - mtime: 1566161696 - seq: 522 - total_passes: 3 + mtime: 1565616292 + seq: 650 + total_passes: 4 t/66-CDA-with-SOAP.t: - elapsed: 0.265095949172974 - gen: 3 - last_pass_time: 1566327301.05571 + elapsed: 6.4190731048584 + gen: 4 + last_pass_time: 1567071700.81137 last_result: 0 - last_run_time: 1566327301.05571 + last_run_time: 1567071700.81137 last_todo: 0 - mtime: 1566161710 - seq: 528 - total_passes: 3 + mtime: 1565616292 + seq: 665 + total_passes: 4 t/66-CDA.t: - elapsed: 0.265115976333618 - gen: 3 - last_pass_time: 1566327299.98205 + elapsed: 6.47910404205322 + gen: 4 + last_pass_time: 1567071700.72352 last_result: 0 - last_run_time: 1566327299.98205 + last_run_time: 1567071700.72352 last_todo: 0 - mtime: 1566161685 - seq: 497 - total_passes: 3 + mtime: 1565616292 + seq: 661 + total_passes: 4 t/67-CheckUser-with-Global-token.t: - elapsed: 0.216699123382568 - gen: 3 - last_pass_time: 1566327287.61783 + elapsed: 3.92568421363831 + gen: 4 + last_pass_time: 1567071708.87248 last_result: 0 - last_run_time: 1566327287.61783 + last_run_time: 1567071708.87248 last_todo: 0 - mtime: 1566326760 - seq: 367 - total_passes: 3 + mtime: 1566893330 + seq: 680 + total_passes: 4 + t/67-CheckUser-with-Impersonation-and-whatToTrace.t: + elapsed: 0.471418857574463 + gen: 4 + last_pass_time: 1567071726.13566 + last_result: 0 + last_run_time: 1567071726.13566 + last_todo: 0 + seq: 702 + total_passes: 1 t/67-CheckUser-with-issuer-SAML-POST.t: - elapsed: 0.69377613067627 - gen: 3 - last_pass_time: 1566327291.87292 + elapsed: 3.39852690696716 + gen: 4 + last_pass_time: 1567071672.6804 last_result: 0 - last_run_time: 1566327291.87292 + last_run_time: 1567071672.6804 last_todo: 0 - mtime: 1566326760 - seq: 388 - total_passes: 3 + mtime: 1566984861 + seq: 603 + total_passes: 4 t/67-CheckUser-with-token.t: - elapsed: 3.31333684921265 - gen: 3 - last_pass_time: 1566327291.25827 + elapsed: 3.82484197616577 + gen: 4 + last_pass_time: 1567071637.3586 last_result: 0 - last_run_time: 1566327291.25827 + last_run_time: 1567071637.3586 last_todo: 0 - mtime: 1566326760 - seq: 381 - total_passes: 3 + mtime: 1566893344 + seq: 539 + total_passes: 4 t/67-CheckUser.t: - elapsed: 3.89076805114746 - gen: 3 - last_pass_time: 1566327291.89344 + elapsed: 4.07876396179199 + gen: 4 + last_pass_time: 1567071637.5191 last_result: 0 - last_run_time: 1566327291.89344 + last_run_time: 1567071637.5191 last_todo: 0 - mtime: 1566326760 - seq: 389 - total_passes: 3 - t/67-Checkuser-with-Impersonation-and-whatToTrace.t: - elapsed: 0.547175884246826 - gen: 3 - last_pass_time: 1566327298.59877 - last_result: 0 - last_run_time: 1566327298.59877 - last_todo: 0 - mtime: 1566326760 - seq: 473 - total_passes: 3 + mtime: 1567065845 + seq: 543 + total_passes: 4 t/68-ContextSwitching-with-Logout.t: - elapsed: 0.487967014312744 - gen: 3 - last_pass_time: 1566327298.08162 + elapsed: 1.01880788803101 + gen: 4 + last_pass_time: 1567071677.24842 last_result: 0 - last_run_time: 1566327298.08162 + last_run_time: 1567071677.24842 last_todo: 0 - mtime: 1566326749 - seq: 464 - total_passes: 3 + mtime: 1567071328 + seq: 618 + total_passes: 4 t/68-ContextSwitching.t: - elapsed: 0.811131954193115 - gen: 3 - last_pass_time: 1566327294.8594 + elapsed: 4.56478214263916 + gen: 4 + last_pass_time: 1567071666.91198 last_result: 0 - last_run_time: 1566327294.8594 + last_run_time: 1567071666.91198 last_todo: 0 - mtime: 1566326749 - seq: 420 - total_passes: 3 + mtime: 1567071328 + seq: 589 + total_passes: 4 t/68-Impersonation-with-History.t: - elapsed: 0.0629830360412598 - gen: 3 - last_pass_time: 1566327291.24239 + elapsed: 9.41625690460205 + gen: 4 + last_pass_time: 1567071723.26505 last_result: 0 - last_run_time: 1566327291.24239 + last_run_time: 1567071723.26505 last_todo: 0 - mtime: 1566161705 - seq: 378 - total_passes: 3 + mtime: 1565616292 + seq: 690 + total_passes: 4 t/68-Impersonation-with-TOTP.t: - elapsed: 0.415974855422974 - gen: 3 - last_pass_time: 1566327300.88454 + elapsed: 1.44974112510681 + gen: 4 + last_pass_time: 1567071683.46444 last_result: 0 - last_run_time: 1566327300.88454 + last_run_time: 1567071683.46444 last_todo: 0 - mtime: 1566161689 - seq: 518 - total_passes: 3 + mtime: 1565616292 + seq: 631 + total_passes: 4 t/68-Impersonation-with-doubleCookies.t: - elapsed: 0.761358022689819 - gen: 3 - last_pass_time: 1566327291.94145 + elapsed: 0.347836017608643 + gen: 4 + last_pass_time: 1567071667.24502 last_result: 0 - last_run_time: 1566327291.94145 + last_run_time: 1567071667.24502 last_todo: 0 - mtime: 1566161699 - seq: 390 - total_passes: 3 + mtime: 1565616292 + seq: 594 + total_passes: 4 t/68-Impersonation-with-filtered-merge.t: - elapsed: 0.214640140533447 - gen: 3 - last_pass_time: 1566327300.97656 + elapsed: 3.66964912414551 + gen: 4 + last_pass_time: 1567071708.71777 last_result: 0 - last_run_time: 1566327300.97656 + last_run_time: 1567071708.71777 last_todo: 0 - mtime: 1566161712 - seq: 524 - total_passes: 3 + mtime: 1565616292 + seq: 679 + total_passes: 4 t/68-Impersonation-with-merge.t: - elapsed: 0.217803001403809 - gen: 3 - last_pass_time: 1566327300.9461 + elapsed: 3.76985311508179 + gen: 4 + last_pass_time: 1567071708.68207 last_result: 0 - last_run_time: 1566327300.9461 + last_run_time: 1567071708.68207 last_todo: 0 - mtime: 1566161684 - seq: 521 - total_passes: 3 + mtime: 1565616292 + seq: 678 + total_passes: 4 t/68-Impersonation.t: - elapsed: 0.978971004486084 - gen: 3 - last_pass_time: 1566327296.37336 + elapsed: 2.35665202140808 + gen: 4 + last_pass_time: 1567071652.51774 last_result: 0 - last_run_time: 1566327296.37336 + last_run_time: 1567071652.51774 last_todo: 0 - mtime: 1566161703 - seq: 436 - total_passes: 3 - t/69-FavApps.t: - elapsed: 0.202436208724976 - gen: 3 - last_pass_time: 1566327300.91188 - last_result: 0 - last_run_time: 1566327300.91188 - last_todo: 0 - mtime: 1566326749 - seq: 519 - total_passes: 3 + mtime: 1565616292 + seq: 568 + total_passes: 4 t/70-2F-TOTP-8.t: - elapsed: 0.814767122268677 - gen: 3 - last_pass_time: 1566327291.9933 + elapsed: 5.20576405525208 + gen: 4 + last_pass_time: 1567071667.42058 last_result: 0 - last_run_time: 1566327291.9933 + last_run_time: 1567071667.42058 last_todo: 0 - mtime: 1566326760 - seq: 392 - total_passes: 3 + mtime: 1566913192 + seq: 595 + total_passes: 4 t/70-2F-TOTP-with-History.t: - elapsed: 0.429188013076782 - gen: 3 - last_pass_time: 1566327298.92575 + elapsed: 0.925678014755249 + gen: 4 + last_pass_time: 1567071681.4879 last_result: 0 - last_run_time: 1566327298.92575 + last_run_time: 1567071681.4879 last_todo: 0 - mtime: 1566161680 - seq: 479 - total_passes: 3 + mtime: 1565616292 + seq: 627 + total_passes: 4 t/70-2F-TOTP-with-TTL-and-JSON.t: - elapsed: 3.4246768951416 - gen: 3 - last_pass_time: 1566327291.5472 + elapsed: 3.98775696754456 + gen: 4 + last_pass_time: 1567071637.46501 last_result: 0 - last_run_time: 1566327291.5472 + last_run_time: 1567071637.46501 last_todo: 0 - mtime: 1566161696 - seq: 387 - total_passes: 3 + mtime: 1565616292 + seq: 540 + total_passes: 4 t/70-2F-TOTP-with-TTL-and-XML.t: - elapsed: 3.52087497711182 - gen: 3 - last_pass_time: 1566327291.52583 + elapsed: 4.18833303451538 + gen: 4 + last_pass_time: 1567071637.69714 last_result: 0 - last_run_time: 1566327291.52583 + last_run_time: 1567071637.69714 last_todo: 0 - mtime: 1566161692 - seq: 386 - total_passes: 3 + mtime: 1565616292 + seq: 544 + total_passes: 4 t/70-2F-TOTP-with-TTL.t: - elapsed: 3.29401016235352 - gen: 3 - last_pass_time: 1566327291.44229 + elapsed: 3.97166204452515 + gen: 4 + last_pass_time: 1567071637.47689 last_result: 0 - last_run_time: 1566327291.44229 + last_run_time: 1567071637.47689 last_todo: 0 - mtime: 1566161691 - seq: 383 - total_passes: 3 + mtime: 1565616292 + seq: 541 + total_passes: 4 t/71-2F-U2F-with-History.t: - elapsed: 1.65858602523804 - gen: 3 - last_pass_time: 1566327293.43975 + elapsed: 4.22400903701782 + gen: 4 + last_pass_time: 1567071643.55836 last_result: 0 - last_run_time: 1566327293.43975 + last_run_time: 1567071643.55836 last_todo: 0 - mtime: 1566161686 - seq: 405 - total_passes: 3 + mtime: 1565616292 + seq: 550 + total_passes: 4 t/71-2F-U2F-with-TTL-and-msg.t: - elapsed: 0.0913839340209961 - gen: 3 - last_pass_time: 1566327287.49313 + elapsed: 12.6971728801727 + gen: 4 + last_pass_time: 1567071723.25821 last_result: 0 - last_run_time: 1566327287.49313 + last_run_time: 1567071723.25821 last_todo: 0 - mtime: 1566161701 - seq: 362 - total_passes: 3 + mtime: 1565616292 + seq: 689 + total_passes: 4 t/71-2F-U2F-with-TTL.t: - elapsed: 0.114893913269043 - gen: 3 - last_pass_time: 1566327287.51634 + elapsed: 13.0143570899963 + gen: 4 + last_pass_time: 1567071723.28367 last_result: 0 - last_run_time: 1566327287.51634 + last_run_time: 1567071723.28367 last_todo: 0 - mtime: 1566161679 - seq: 363 - total_passes: 3 + mtime: 1565616292 + seq: 691 + total_passes: 4 t/71-2F-U2F.t: - elapsed: 1.39890217781067 - gen: 3 - last_pass_time: 1566327293.1793 + elapsed: 4.28810906410217 + gen: 4 + last_pass_time: 1567071643.53898 last_result: 0 - last_run_time: 1566327293.1793 + last_run_time: 1567071643.53898 last_todo: 0 - mtime: 1566161693 - seq: 399 - total_passes: 3 + mtime: 1565616292 + seq: 549 + total_passes: 4 t/72-2F-REST-with-History.t: - elapsed: 0.423582077026367 - gen: 3 - last_pass_time: 1566327298.146 + elapsed: 1.09948897361755 + gen: 4 + last_pass_time: 1567071682.58606 last_result: 0 - last_run_time: 1566327298.146 + last_run_time: 1567071682.58606 last_todo: 0 - mtime: 1566161681 - seq: 466 - total_passes: 3 + mtime: 1565616292 + seq: 628 + total_passes: 4 t/73-2F-UTOTP-TOTP-and-U2F-with-History.t: - elapsed: 0.320044994354248 - gen: 3 - last_pass_time: 1566327287.7221 + elapsed: 4.68755602836609 + gen: 4 + last_pass_time: 1567071690.93503 last_result: 0 - last_run_time: 1566327287.7221 + last_run_time: 1567071690.93503 last_todo: 0 - mtime: 1566161708 - seq: 372 - total_passes: 3 + mtime: 1565616292 + seq: 649 + total_passes: 4 t/73-2F-UTOTP-TOTP-and-U2F.t: - elapsed: 1.6521520614624 - gen: 3 - last_pass_time: 1566327293.19636 + elapsed: 4.12714290618896 + gen: 4 + last_pass_time: 1567071643.59873 last_result: 0 - last_run_time: 1566327293.19636 + last_run_time: 1567071643.59873 last_todo: 0 - mtime: 1566161686 - seq: 400 - total_passes: 3 + mtime: 1565616292 + seq: 551 + total_passes: 4 t/73-2F-UTOTP-TOTP-only-with-History.t: - elapsed: 0.0505719184875488 - gen: 3 - last_pass_time: 1566327291.22789 + elapsed: 8.02885818481445 + gen: 4 + last_pass_time: 1567071723.37445 last_result: 0 - last_run_time: 1566327291.22789 + last_run_time: 1567071723.37445 last_todo: 0 - mtime: 1566161705 - seq: 376 - total_passes: 3 + mtime: 1565616292 + seq: 693 + total_passes: 4 t/73-2F-UTOTP-TOTP-only.t: - elapsed: 0.396163940429688 - gen: 3 - last_pass_time: 1566327298.90383 + elapsed: 0.982447862625122 + gen: 4 + last_pass_time: 1567071683.21729 last_result: 0 - last_run_time: 1566327298.90383 + last_run_time: 1567071683.21729 last_todo: 0 - mtime: 1566161692 - seq: 478 - total_passes: 3 + mtime: 1565616292 + seq: 630 + total_passes: 4 t/74-2F-Required.t: - elapsed: 0.29276704788208 - gen: 3 - last_pass_time: 1566327299.1874 + elapsed: 1.13390707969666 + gen: 4 + last_pass_time: 1567071692.30114 last_result: 0 - last_run_time: 1566327299.1874 + last_run_time: 1567071692.30114 last_todo: 0 - mtime: 1566161698 - seq: 485 - total_passes: 3 + mtime: 1565616292 + seq: 654 + total_passes: 4 t/75-2F-Registers.t: - elapsed: 3.26440095901489 - gen: 3 - last_pass_time: 1566327291.4073 + elapsed: 5.03548002243042 + gen: 4 + last_pass_time: 1567071643.97918 last_result: 0 - last_run_time: 1566327291.4073 + last_run_time: 1567071643.97918 last_todo: 0 - mtime: 1566161688 - seq: 382 - total_passes: 3 + mtime: 1565616292 + seq: 553 + total_passes: 4 t/76-2F-Ext-with-BruteForce.t: - elapsed: 11.1695399284363 - gen: 3 - last_pass_time: 1566327287.46363 + elapsed: 11.5827450752258 + gen: 4 + last_pass_time: 1567071631.68609 last_result: 0 - last_run_time: 1566327287.46363 + last_run_time: 1567071631.68609 last_todo: 0 - mtime: 1566161695 - seq: 361 - total_passes: 3 + mtime: 1565616292 + seq: 533 + total_passes: 4 t/76-2F-Ext-with-CodeActivation.t: - elapsed: 0.329933881759644 - gen: 3 - last_pass_time: 1566327299.69257 + elapsed: 0.777810096740723 + gen: 4 + last_pass_time: 1567071686.64106 last_result: 0 - last_run_time: 1566327299.69257 + last_run_time: 1567071686.64106 last_todo: 0 - mtime: 1566161704 - seq: 493 - total_passes: 3 + mtime: 1565616292 + seq: 641 + total_passes: 4 t/76-2F-Ext-with-GrantSession.t: - elapsed: 0.278795957565308 - gen: 3 - last_pass_time: 1566327300.60635 + elapsed: 0.646867990493774 + gen: 4 + last_pass_time: 1567071694.47193 last_result: 0 - last_run_time: 1566327300.60635 + last_run_time: 1567071694.47193 last_todo: 0 - mtime: 1566161701 - seq: 512 - total_passes: 3 + mtime: 1565616292 + seq: 657 + total_passes: 4 t/76-2F-Ext-with-History.t: - elapsed: 0.367126941680908 - gen: 3 - last_pass_time: 1566327298.81285 + elapsed: 0.841556072235107 + gen: 4 + last_pass_time: 1567071685.34032 last_result: 0 - last_run_time: 1566327298.81285 + last_run_time: 1567071685.34032 last_todo: 0 - mtime: 1566161700 - seq: 475 - total_passes: 3 + mtime: 1565616292 + seq: 636 + total_passes: 4 t/77-2F-Extra.t: - elapsed: 1.02363395690918 - gen: 3 - last_pass_time: 1566327295.40816 + elapsed: 2.0907130241394 + gen: 4 + last_pass_time: 1567071651.73244 last_result: 0 - last_run_time: 1566327295.40816 + last_run_time: 1567071651.73244 last_todo: 0 - mtime: 1566326760 - seq: 428 - total_passes: 3 + mtime: 1566913192 + seq: 562 + total_passes: 4 t/77-2F-Mail-with-global-storage.t: - elapsed: 0.959666967391968 - gen: 3 - last_pass_time: 1566327296.88625 + elapsed: 1.94878816604614 + gen: 4 + last_pass_time: 1567071652.46043 last_result: 0 - last_run_time: 1566327296.88625 + last_run_time: 1567071652.46043 last_todo: 0 - mtime: 1566161701 - seq: 447 - total_passes: 3 + mtime: 1565616292 + seq: 567 + total_passes: 4 t/77-2F-Mail.t: - elapsed: 0.881723880767822 - gen: 3 - last_pass_time: 1566327296.54074 + elapsed: 1.85839509963989 + gen: 4 + last_pass_time: 1567071660.47856 last_result: 0 - last_run_time: 1566327296.54074 + last_run_time: 1567071660.47856 last_todo: 0 - mtime: 1566161697 - seq: 441 - total_passes: 3 + mtime: 1565616292 + seq: 582 + total_passes: 4 t/78-2F-Upgrade.t: - elapsed: 0.932536125183105 - gen: 3 - last_pass_time: 1566327295.48147 + elapsed: 2.00522589683533 + gen: 4 + last_pass_time: 1567071656.17008 last_result: 0 - last_run_time: 1566327295.48147 + last_run_time: 1567071656.17008 last_todo: 0 - mtime: 1566161692 - seq: 430 - total_passes: 3 + mtime: 1565616292 + seq: 572 + total_passes: 4 t/90-Translations.t: - elapsed: 0.0482299327850342 - gen: 3 - last_pass_time: 1566327300.32131 + elapsed: 8.12097692489624 + gen: 4 + last_pass_time: 1567071723.46747 last_result: 0 - last_run_time: 1566327300.32131 + last_run_time: 1567071723.46747 last_todo: 0 - mtime: 1566161682 - seq: 510 - total_passes: 3 + mtime: 1565616292 + seq: 696 + total_passes: 4 + t/99-Dont-load-Dumper.t: + elapsed: 1.89312696456909 + gen: 4 + last_pass_time: 1567071726.19865 + last_result: 0 + last_run_time: 1567071726.19865 + last_todo: 0 + seq: 703 + total_passes: 1 t/99-pod.t: - elapsed: 0.89954686164856 - gen: 3 - last_pass_time: 1566327295.2853 + elapsed: 1.58878397941589 + gen: 4 + last_pass_time: 1567071658.8628 last_result: 0 - last_run_time: 1566327295.2853 + last_run_time: 1567071658.8628 last_todo: 0 - mtime: 1566161693 - seq: 426 - total_passes: 3 + mtime: 1562085986 + seq: 578 + total_passes: 4 version: 1 ... diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/REST.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/REST.pm index 82af3f55e..8290f91be 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/REST.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/REST.pm @@ -34,7 +34,7 @@ sub authenticate { { user => $req->user, password => $req->data->{password} } ); }; if ($@) { - $self->logger("Auth error: $@"); + $self->logger->error("Auth error: $@"); $self->setSecurity($req); return PE_ERROR; } diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm index 6ae0d916e..9ba30115f 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm @@ -57,6 +57,7 @@ has iss => ( # - userinfo : => userInfo() for unauth users (RP) # - jwks : => jwks() for unauth users (RP) # - register : => registration() for unauth users (RP) +# - introspect : => introspection() for unauth users (RP) # # Other paths will be handle by run() and return PE_ERROR # @@ -86,22 +87,24 @@ sub init { # Manage RP requests $self->addRouteFromConf( 'Unauth', - oidcServiceMetaDataEndSessionURI => 'endSessionDone', - oidcServiceMetaDataCheckSessionURI => 'checkSession', - oidcServiceMetaDataTokenURI => 'token', - oidcServiceMetaDataUserInfoURI => 'userInfo', - oidcServiceMetaDataJWKSURI => 'jwks', - oidcServiceMetaDataRegistrationURI => 'registration', + oidcServiceMetaDataEndSessionURI => 'endSessionDone', + oidcServiceMetaDataCheckSessionURI => 'checkSession', + oidcServiceMetaDataTokenURI => 'token', + oidcServiceMetaDataUserInfoURI => 'userInfo', + oidcServiceMetaDataJWKSURI => 'jwks', + oidcServiceMetaDataRegistrationURI => 'registration', + oidcServiceMetaDataIntrospectionURI => 'introspection', ); # Manage user requests $self->addRouteFromConf( 'Auth', - oidcServiceMetaDataCheckSessionURI => 'checkSession', - oidcServiceMetaDataTokenURI => 'badAuthRequest', - oidcServiceMetaDataUserInfoURI => 'badAuthRequest', - oidcServiceMetaDataJWKSURI => 'badAuthRequest', - oidcServiceMetaDataRegistrationURI => 'badAuthRequest', + oidcServiceMetaDataCheckSessionURI => 'checkSession', + oidcServiceMetaDataTokenURI => 'badAuthRequest', + oidcServiceMetaDataUserInfoURI => 'badAuthRequest', + oidcServiceMetaDataJWKSURI => 'badAuthRequest', + oidcServiceMetaDataRegistrationURI => 'badAuthRequest', + oidcServiceMetaDataIntrospectionURI => 'badAuthRequest', ); # Metadata (.well-known/openid-configuration) @@ -997,50 +1000,13 @@ sub token { my ( $self, $req ) = @_; $self->logger->debug("URL detected as an OpenID Connect TOKEN URL"); - # Check authentication - my ( $client_id, $client_secret ) = - $self->getEndPointAuthenticationCredentials($req); - - unless ($client_id) { - $self->logger->error( -"No authentication provided to get token, or authentication type not supported" - ); - return $self->p->sendError( $req, 'invalid_request', 400 ); - } - - # Verify that client_id is registered in configuration - my $rp = $self->getRP($client_id); + my $rp = $self->checkEndPointAuthenticationCredentials($req); unless ($rp) { - $self->userLogger->error( - "No registered Relying Party found with client_id $client_id"); return $self->p->sendError( $req, 'invalid_request', 400 ); } - else { - $self->logger->debug("Client id $client_id match Relying Party $rp"); - } - # Check client_secret - if ( $self->conf->{oidcRPMetaDataOptions}->{$rp} - ->{oidcRPMetaDataOptionsPublic} ) - { - $self->logger->debug( - "Relying Party $rp is public, do not check client secret"); - } - else { - unless ($client_secret) { - $self->logger->error( -"Relying Party $rp is confidential but no client secret was provided to authenticate on token endpoint" - ); - return $self->p->sendError( $req, 'invalid_request', 400 ); - } - unless ( $client_secret eq $self->conf->{oidcRPMetaDataOptions}->{$rp} - ->{oidcRPMetaDataOptionsClientSecret} ) - { - $self->logger->error("Wrong credentials for $rp"); - return $self->p->sendError( $req, 'invalid_request', 400 ); - } - } + my $client_id = $self->oidcRPList->{$rp}->{oidcRPMetaDataOptionsClientID}; # Get code session my $code = $req->param('code'); @@ -1190,7 +1156,7 @@ sub token { return $self->p->sendJSONresponse( $req, $token_response ); } -# Handle uerinfo endpoint +# Handle userinfo endpoint sub userInfo { my ( $self, $req ) = @_; $self->logger->debug("URL detected as an OpenID Connect USERINFO URL"); @@ -1247,6 +1213,66 @@ sub userInfo { } } +sub introspection { + my ( $self, $req ) = @_; + $self->logger->debug("URL detected as an OpenID Connect INTROSPECTION URL"); + + my $rp = $self->checkEndPointAuthenticationCredentials($req); + + unless ($rp) { + return $self->p->sendError( $req, 'invalid_request', 400 ); + } + + if ( $self->conf->{oidcRPMetaDataOptions}->{$rp} + ->{oidcRPMetaDataOptionsPublic} ) + { + $self->logger->error( + "Public clients are not allowed to acces the introspection endpoint" + ); + return $self->p->sendError( $req, 'unauthorized_client', 401 ); + } + + my $token = $req->param('token'); + unless ($token) { + return $self->p->sendError( $req, 'invalid_request', 400 ); + } + + my $response = { active => JSON::false }; + my $oidcSession = $self->getOpenIDConnectSession($token); + if ($oidcSession) { + if ( my $user_session_id = $oidcSession->{data}->{user_session_id} ) { + + # Get user identifier + my $apacheSession = $self->p->getApacheSession($user_session_id); + if ($apacheSession) { + + $response->{active} = JSON::true; + + # The ID attribute we choose is the one of the calling webservice, + # which might be different from the OIDC client the token was issued to. + my $user_id_attribute = + $self->conf->{oidcRPMetaDataOptions}->{$rp} + ->{oidcRPMetaDataOptionsUserIDAttr} + || $self->conf->{whatToTrace}; + $response->{sub} = $apacheSession->data->{$user_id_attribute}; + $response->{scope} = $oidcSession->{data}->{scope} + if $oidcSession->{data}->{scope}; + $response->{client_id} = + $self->oidcRPList->{ $oidcSession->{data}->{rp} } + ->{oidcRPMetaDataOptionsClientID} + if $oidcSession->{data}->{rp}; + $response->{exp} = + $oidcSession->{data}->{_utime} + $self->conf->{timeout}; + } + } + else { + $self->logger->error( + "Could not find user session ID in access token object"); + } + } + return $self->p->sendJSONresponse( $req, $response ); +} + # Handle jwks endpoint sub jwks { my ( $self, $req ) = @_; @@ -1485,13 +1511,14 @@ sub logout { sub metadata { my ( $self, $req ) = @_; my $issuerDBOpenIDConnectPath = $self->conf->{issuerDBOpenIDConnectPath}; - my $authorize_uri = $self->conf->{oidcServiceMetaDataAuthorizeURI}; - my $token_uri = $self->conf->{oidcServiceMetaDataTokenURI}; - my $userinfo_uri = $self->conf->{oidcServiceMetaDataUserInfoURI}; - my $jwks_uri = $self->conf->{oidcServiceMetaDataJWKSURI}; - my $registration_uri = $self->conf->{oidcServiceMetaDataRegistrationURI}; - my $endsession_uri = $self->conf->{oidcServiceMetaDataEndSessionURI}; - my $checksession_uri = $self->conf->{oidcServiceMetaDataCheckSessionURI}; + my $authorize_uri = $self->conf->{oidcServiceMetaDataAuthorizeURI}; + my $token_uri = $self->conf->{oidcServiceMetaDataTokenURI}; + my $userinfo_uri = $self->conf->{oidcServiceMetaDataUserInfoURI}; + my $jwks_uri = $self->conf->{oidcServiceMetaDataJWKSURI}; + my $registration_uri = $self->conf->{oidcServiceMetaDataRegistrationURI}; + my $endsession_uri = $self->conf->{oidcServiceMetaDataEndSessionURI}; + my $checksession_uri = $self->conf->{oidcServiceMetaDataCheckSessionURI}; + my $introspection_uri = $self->conf->{oidcServiceMetaDataIntrospectionURI}; my $path = $self->path . '/'; my $issuer = $self->iss; @@ -1531,6 +1558,7 @@ sub metadata { authorization_endpoint => $baseUrl . $authorize_uri, end_session_endpoint => $baseUrl . $endsession_uri, check_session_iframe => $baseUrl . $checksession_uri, + introspection_endpoint => $baseUrl . $introspection_uri, # Logout capabilities backchannel_logout_supported => JSON::true, @@ -1551,6 +1579,8 @@ sub metadata { subject_types_supported => ["public"], token_endpoint_auth_methods_supported => [qw/client_secret_post client_secret_basic/], + introspection_endpoint_auth_methods_supported => + [qw/client_secret_post client_secret_basic/], claims_supported => [qw/sub iss auth_time acr/], request_parameter_supported => JSON::true, request_uri_parameter_supported => JSON::true, diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm index de7022d72..a44ecea3a 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OpenIDConnect.pm @@ -728,7 +728,7 @@ sub getOpenIDConnectSession { return undef; } - if ($id) { + if ( $id and $type ) { my $storedType = $oidcSession->{data}->{_type}; # Only check if a type is set in DB, for backward compatibility @@ -1111,6 +1111,56 @@ sub returnBearerError { ]; } +sub checkEndPointAuthenticationCredentials { + my ( $self, $req ) = @_; + + # Check authentication + my ( $client_id, $client_secret ) = + $self->getEndPointAuthenticationCredentials($req); + + unless ($client_id) { + $self->logger->error( +"No authentication provided to get token, or authentication type not supported" + ); + return undef; + } + + # Verify that client_id is registered in configuration + my $rp = $self->getRP($client_id); + + unless ($rp) { + $self->userLogger->error( + "No registered Relying Party found with client_id $client_id"); + return undef; + } + else { + $self->logger->debug("Client id $client_id match Relying Party $rp"); + } + + # Check client_secret + if ( $self->conf->{oidcRPMetaDataOptions}->{$rp} + ->{oidcRPMetaDataOptionsPublic} ) + { + $self->logger->debug( + "Relying Party $rp is public, do not check client secret"); + } + else { + unless ($client_secret) { + $self->logger->error( +"Relying Party $rp is confidential but no client secret was provided to authenticate on token endpoint" + ); + return undef; + } + unless ( $client_secret eq $self->conf->{oidcRPMetaDataOptions}->{$rp} + ->{oidcRPMetaDataOptionsClientSecret} ) + { + $self->logger->error("Wrong credentials for $rp"); + return undef; + } + } + return $rp; +} + # Get Client ID and Client Secret # @return array (client_id, client_secret) sub getEndPointAuthenticationCredentials { diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm index 0615d99d9..aad0f7136 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm @@ -189,6 +189,7 @@ sub display { elsif ( $req->{error} == PE_REDIRECT ) { $skinfile = "redirect"; %templateParams = ( + MAIN_LOGO => $self->conf->{portalMainLogo}, URL => $req->{urldc}, HIDDEN_INPUTS => $self->buildHiddenForm($req), FORM_METHOD => $req->data->{redirectFormMethod} || 'get', diff --git a/lemonldap-ng-portal/site/htdocs/static/bootstrap/css/styles.min.css b/lemonldap-ng-portal/site/htdocs/static/bootstrap/css/styles.min.css index 8a6246184..e69de29bb 100644 --- a/lemonldap-ng-portal/site/htdocs/static/bootstrap/css/styles.min.css +++ b/lemonldap-ng-portal/site/htdocs/static/bootstrap/css/styles.min.css @@ -1 +0,0 @@ -html,body{height:100%;background:radial-gradient(circle at 50% 0,#fff 0,#ddd 100%) no-repeat scroll 0 0 #ddd}#wrap{min-height:100%;height:auto;margin:0 auto -80px;padding:20px 0 80px}#footer{height:80px;background-color:#fff;background-color:rgba(255,255,255,0.9);text-align:center;padding-top:10px;overflow:hidden}#header img{background-color:#fff;background-color:rgba(255,255,255,0.8);margin-bottom:20px}.card,.navbar-light{background-color:#fff;background-color:rgba(255,255,255,0.9);background-image:none}.login,.password{text-align:center;padding:20px}div.form{margin:0 auto;max-width:330px}div.actions{margin:10px 0 0 0}div.actions a{margin-top:10px}.buttons{text-align:center;margin:10px 0 0 0;cursor:pointer}.btn{white-space:normal}.btn span.fa{padding-right:8px}li.ui-state-active{background-color:#fafafa;background-color:rgba(250,250,250,0.9)}#appslist,#password,#loginHistory,#logout,#oidcConsents{margin-top:20px}div.category{margin:10px 0;cursor:grab}div.application{margin:5px 0;overflow:hidden}div.application a,div.application a:hover{text-decoration:none}p.notifCheck label{margin-left:5px;margin-top:3px;display:inline-block}img.langicon{cursor:pointer}button.idploop{max-width:300px}button.idploop img{max-height:30px}div.oidc_consent_message>ul{text-align:left;list-style:circle}@media(min-width:768px){div.application{height:80px}div.application h4.appname{margin:0}#wrap{margin:0 auto -60px}#footer{height:60px}}.hiddenFrame{border:0;display:hidden;margin:0}.noborder{border:0}.max{width:100%}.link{cursor:pointer}.nodecor:hover,.nodecor:active.nodecor:focus{text-decoration:none}.fa.icon-blue{color:blue}.progress-bar-animated{width:100%} \ No newline at end of file diff --git a/lemonldap-ng-portal/t/32-OIDC-Token-Introspection.t b/lemonldap-ng-portal/t/32-OIDC-Token-Introspection.t new file mode 100644 index 000000000..11c94cd42 --- /dev/null +++ b/lemonldap-ng-portal/t/32-OIDC-Token-Introspection.t @@ -0,0 +1,212 @@ +use lib 'inc'; +use Test::More; +use strict; +use IO::String; +use LWP::UserAgent; +use LWP::Protocol::PSGI; +use MIME::Base64; +use JSON; + +BEGIN { + require 't/test-lib.pm'; +} + +my $debug = 'error'; + +# Initialization +my $op = LLNG::Manager::Test->new( { + ini => { + logLevel => $debug, + domain => 'idp.com', + portal => 'http://auth.op.com', + authentication => 'Demo', + userDB => 'Same', + issuerDBOpenIDConnectActivation => 1, + issuerDBOpenIDConnectRule => '$uid eq "french"', + oidcRPMetaDataExportedVars => { + rp => { + email => "mail", + family_name => "cn", + name => "cn" + }, + rp2 => { + email => "mail", + family_name => "cn", + name => "cn" + } + }, + oidcServiceMetaDataIssuer => "http://auth.op.com", + oidcServiceMetaDataAuthorizeURI => "authorize", + oidcServiceMetaDataCheckSessionURI => "checksession.html", + oidcServiceMetaDataJWKSURI => "jwks", + oidcServiceMetaDataEndSessionURI => "logout", + oidcServiceMetaDataRegistrationURI => "register", + oidcServiceMetaDataTokenURI => "token", + oidcServiceMetaDataUserInfoURI => "userinfo", + oidcServiceAllowHybridFlow => 1, + oidcServiceAllowImplicitFlow => 1, + oidcServiceAllowDynamicRegistration => 1, + oidcServiceAllowAuthorizationCodeFlow => 1, + oidcRPMetaDataOptions => { + rp => { + oidcRPMetaDataOptionsDisplayName => "RP", + oidcRPMetaDataOptionsIDTokenExpiration => 3600, + oidcRPMetaDataOptionsClientID => "rpid", + oidcRPMetaDataOptionsIDTokenSignAlg => "HS512", + oidcRPMetaDataOptionsClientSecret => "rpsecret", + oidcRPMetaDataOptionsUserIDAttr => "", + oidcRPMetaDataOptionsAccessTokenExpiration => 1, + oidcRPMetaDataOptionsBypassConsent => 1, + }, + oauth => { + oidcRPMetaDataOptionsDisplayName => "oauth", + oidcRPMetaDataOptionsClientID => "oauth", + oidcRPMetaDataOptionsClientSecret => "service", + oidcRPMetaDataOptionsUserIDAttr => "", + } + }, + oidcOPMetaDataOptions => {}, + oidcOPMetaDataJSON => {}, + oidcOPMetaDataJWKS => {}, + oidcServiceMetaDataAuthnContext => { + 'loa-4' => 4, + 'loa-1' => 1, + 'loa-5' => 5, + 'loa-2' => 2, + 'loa-3' => 3 + }, + oidcServicePrivateKeySig => "-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAs2jsmIoFuWzMkilJaA8//5/T30cnuzX9GImXUrFR2k9EKTMt +GMHCdKlWOl3BV+BTAU9TLz7Jzd/iJ5GJ6B8TrH1PHFmHpy8/qE/S5OhinIpIi7eb +ABqnoVcwDdCa8ugzq8k8SWxhRNXfVIlwz4NH1caJ8lmiERFj7IvNKqEhzAk0pyDr +8hubveTC39xREujKlsqutpPAFPJ3f2ybVsdykX5rx0h5SslG3jVWYhZ/SOb2aIzO +r0RMjhQmsYRwbpt3anjlBZ98aOzg7GAkbO8093X5VVk9vaPRg0zxJQ0Do0YLyzkR +isSAIFb0tdKuDnjRGK6y/N2j6At2HjkxntbtGQIDAQABAoIBADYq6LxJd977LWy3 +0HT9nboFPIf+SM2qSEc/S5Po+6ipJBA4ZlZCMf7dHa6znet1TDpqA9iQ4YcqIHMH +6xZNQ7hhgSAzG9TrXBHqP+djDlrrGWotvjuy0IfS9ixFnnLWjrtAH9afRWLuG+a/ +NHNC1M6DiiTE0TzL/lpt/zzut3CNmWzH+t19X6UsxUg95AzooEeewEYkv25eumWD +mfQZfCtSlIw1sp/QwxeJa/6LJw7KcPZ1wXUm1BN0b9eiKt9Cmni1MS7elgpZlgGt +xtfGTZtNLQ7bgDiM8MHzUfPBhbceNSIx2BeCuOCs/7eaqgpyYHBbAbuBQex2H61l +Lcc3Tz0CgYEA4Kx/avpCPxnvsJ+nHVQm5d/WERuDxk4vH1DNuCYBvXTdVCGADf6a +F5No1JcTH3nPTyPWazOyGdT9LcsEJicLyD8vCM6hBFstG4XjqcAuqG/9DRsElpHQ +yi1zc5DNP7Vxmiz9wII0Mjy0abYKtxnXh9YK4a9g6wrcTpvShhIcIb8CgYEAzGzG +lorVCfX9jXULIznnR/uuP5aSnTEsn0xJeqTlbW0RFWLdj8aIL1peirh1X89HroB9 +GeTNqEJXD+3CVL2cx+BRggMDUmEz4hR59meZCDGUyT5fex4LIsceb/ESUl2jo6Sw +HXwWbN67rQ55N4oiOcOppsGxzOHkl5HdExKidycCgYEAr5Qev2tz+fw65LzfzHvH +Kj4S/KuT/5V6He731cFd+sEpdmX3vPgLVAFPG1Q1DZQT/rTzDDQKK0XX1cGiLG63 +NnaqOye/jbfzOF8Z277kt51NFMDYhRLPKDD82IOA4xjY/rPKWndmcxwdob8yAIWh +efY76sMz6ntCT+xWSZA9i+ECgYBWMZM2TIlxLsBfEbfFfZewOUWKWEGvd9l5vV/K +D5cRIYivfMUw5yPq2267jPUolayCvniBH4E7beVpuPVUZ7KgcEvNxtlytbt7muil +5Z6X3tf+VodJ0Swe2NhTmNEB26uwxzLe68BE3VFCsbSYn2y48HAq+MawPZr18bHG +ZfgMxwKBgHHRg6HYqF5Pegzk1746uH2G+OoCovk5ylGGYzcH2ghWTK4agCHfBcDt +EYqYAev/l82wi+OZ5O8U+qjFUpT1CVeUJdDs0o5u19v0UJjunU1cwh9jsxBZAWLy +PAGd6SWf4S3uQCTw6dLeMna25YIlPh5qPA6I/pAahe8e3nSu2ckl +-----END RSA PRIVATE KEY----- +", + oidcServicePublicKeySig => "-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2jsmIoFuWzMkilJaA8/ +/5/T30cnuzX9GImXUrFR2k9EKTMtGMHCdKlWOl3BV+BTAU9TLz7Jzd/iJ5GJ6B8T +rH1PHFmHpy8/qE/S5OhinIpIi7ebABqnoVcwDdCa8ugzq8k8SWxhRNXfVIlwz4NH +1caJ8lmiERFj7IvNKqEhzAk0pyDr8hubveTC39xREujKlsqutpPAFPJ3f2ybVsdy +kX5rx0h5SslG3jVWYhZ/SOb2aIzOr0RMjhQmsYRwbpt3anjlBZ98aOzg7GAkbO80 +93X5VVk9vaPRg0zxJQ0Do0YLyzkRisSAIFb0tdKuDnjRGK6y/N2j6At2Hjkxntbt +GQIDAQAB +-----END PUBLIC KEY----- +", + } + } +); +my $res; + +# Authenticate to LLNG +my $url = "/"; +my $query = "user=french&password=french"; +ok( + $res = $op->_post( + "/", + IO::String->new($query), + accept => 'text/html', + length => length($query), + ), + "Post authentication" +); +my $idpId = expectCookie($res); + +# Get code for RP1 +my $query = +"response_type=code&scope=openid%20profile%20email&client_id=rpid&state=af0ifjsldkj&redirect_uri=http%3A%2F%2Frp2.com%2F"; +ok( + $res = $op->_get( + "/oauth2/authorize", + query => "$query", + accept => 'text/html', + cookie => "lemonldap=$idpId", + ), + "Get authorization code" +); + +my ($code) = expectRedirection( $res, qr#http://rp2\.com/.*code=([^\&]*)# ); + +# Exchange code for AT +$query = +"grant_type=authorization_code&code=$code&redirect_uri=http%3A%2F%2Frp2.com%2F"; + +ok( + $res = $op->_post( + "/oauth2/token", + IO::String->new($query), + accept => 'text/html', + length => length($query), + custom => { + HTTP_AUTHORIZATION => "Basic " . encode_base64("rpid:rpsecret"), + }, + ), + "Post token" +); +my $json = from_json( $res->[2]->[0] ); +my $token = $json->{access_token}; +ok( $token, 'Access token present' ); + +my $query = "token=$token"; +ok( + $res = $op->_post( + "/oauth2/introspect", + IO::String->new($query), + accept => 'text/html', + length => length $query, + custom => { + HTTP_AUTHORIZATION => "Basic " . encode_base64("oauth:service"), + }, + ), + "Post introspection" +); + +expectOK($res); +my $json = from_json( $res->[2]->[0] ); +ok( $json->{active}, "Token is valid" ); +is( $json->{sub}, "french", "Response contains the correct sub" ); + +# Check status after expiration +sleep(2); + +$query = "token=$token"; +ok( + $res = $op->_post( + "/oauth2/introspect", + IO::String->new($query), + accept => 'text/html', + length => length $query, + custom => { + HTTP_AUTHORIZATION => "Basic " . encode_base64("oauth:service"), + }, + ), + "Post introspection" +); + +expectOK($res); +$json = from_json( $res->[2]->[0] ); +ok( !$json->{active}, "Token is no longer valid" ); + +clean_sessions(); +done_testing(); + diff --git a/lemonldap-ng-portal/t/36-Combination-with-token.t b/lemonldap-ng-portal/t/36-Combination-with-token.t index 165c3e43a..57b3aa70d 100644 --- a/lemonldap-ng-portal/t/36-Combination-with-token.t +++ b/lemonldap-ng-portal/t/36-Combination-with-token.t @@ -26,7 +26,7 @@ SKIP: { $client = iniCmb('[Dm] and [DB]'); expectCookie( try('rtyler') ); - expectReject( try('dwho'), 5 ); + expectReject( try('dwho'), 401, 5 ); $client = iniCmb('if($env->{HTTP_X} eq "dwho") then [Dm] else [DB]'); expectCookie( try('dwho') ); @@ -37,7 +37,7 @@ SKIP: { ); expectCookie( try('rtyler') ); expectCookie( try('dvador') ); - expectReject( try('dwho'), 5 ); + expectReject( try('dwho'), 401, 5 ); } count($maintests); clean_sessions(); diff --git a/lemonldap-ng-portal/t/test-lib.pm b/lemonldap-ng-portal/t/test-lib.pm index 1f157b5a1..77d556113 100644 --- a/lemonldap-ng-portal/t/test-lib.pm +++ b/lemonldap-ng-portal/t/test-lib.pm @@ -344,14 +344,14 @@ Note that it works only for Ajax request (see below). =cut sub expectReject { - my ( $res, $code ) = @_; - ok( $res->[0] == 401, ' Response is 401' ) or explain( $res->[0], 401 ); + my ( $res, $status, $code ) = @_; + $status ||= 401; + cmp_ok( $res->[0], '==', $status, " Response status is $status" ); eval { $res = JSON::from_json( $res->[2]->[0] ) }; - ok( not($@), 'Content is JSON' ) + ok( not($@), ' Content is JSON' ) or explain( $res->[2]->[0], 'JSON content' ); if ( defined $code ) { - ok( $res->{error} == $code, "Error code is $code" ) - or explain( $res->{error}, $code ); + is( $res->{error}, $code, " Error code is $code" ); } else { pass("Error code is $res->{error}"); @@ -696,9 +696,8 @@ sub _get { $args{remote_user} ? ( 'REMOTE_USER' => $args{remote_user} ) : () ), - 'REQUEST_METHOD' => $args{method} - || 'GET', - 'REQUEST_URI' => $path . ( $args{query} ? "?$args{query}" : '' ), + 'REQUEST_METHOD' => $args{method} || 'GET', + 'REQUEST_URI' => $path . ( $args{query} ? "?$args{query}" : '' ), ( $args{query} ? ( QUERY_STRING => $args{query} ) : () ), 'SCRIPT_NAME' => '', 'SERVER_NAME' => 'auth.example.com',