Lemonldap-NG-Manager

 view release on metacpan or  search on metacpan

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

            'msgFail' => '__notABoolean__',
            'test'    => qr/^[01]$/
        },
        'boolOrExpr' => {
            'msgFail' => '__notAValidPerlExpression__',
            'test'    => sub {
                return perlExpr(@_);
            }
        },
        'catAndAppList' => {
            'test' => sub {
                1;
            }
        },
        'EcOrRSAPrivateKey' => {
            'test' => sub {
                return $_[0] =~
m[^(?:(?:\-+\s*BEGIN\s+(?:(?:RSA|EC|ENCRYPTED)\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?(?:Proc-Type:.*\r?\nDEK-Info:.*\r?\n[\r\n]*)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:(?:RSA|EC|ENCRYPTED)\s+)?PRIVATE\s+KEY\s*\-+)?[\r\n]*)?$]s
                  ? 1
                  : ( 1, '__badPemEncoding__' );
            }
        },
        'EcOrRSAPublicKeyOrCertificate' => {
            'test' => sub {
                return $_[0] =~
m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+)?[\r\n]*)?$]s
                  ? 1
                  : ( 1, '__badPemEncoding__' );
            }
        },
        'file' => {
            'test' => sub {
                1;
            }
        },
        'hostname' => {
            'form'    => 'text',
            'msgFail' => '__badHostname__',
            'test'    =>
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])[.]?)|(?:[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)))?$/
        },
        'int' => {
            'msgFail' => '__notAnInteger__',
            'test'    => qr/^\-?\d+$/
        },
        'intOrNull' => {
            'msgFail' => '__notAnInteger__',
            'test'    => qr/^\-?\d*$/
        },
        'keyText' => {
            'keyTest' => qr/^[a-zA-Z0-9_]+$/,
            'msgFail' => '__badValue__',
            'test'    => qr/^.*$/
        },
        'keyTextContainer' => {
            'keyMsgFail' => '__badKeyName__',
            'keyTest'    => qr/^\w[\w\.\-]*$/,
            'msgFail'    => '__emptyValueNotAllowed__',
            'test'       => qr/./
        },
        'lmAttrOrMacro' => {
            'form' => 'text',
            'test' => sub {
                my ( $val, $conf ) = @_;
                return 1 if defined $conf->{'macros'}{$val} or $val =~ /^_/;
                foreach $_ ( keys %$conf ) {
                    return 1
                      if $_ =~ /exportedvars$/i and defined $conf->{$_}{$val};
                }
                return 1, "__unknownAttrOrMacro__: $val";
            }
        },
        'longtext' => {
            'test' => sub {
                1;
            }
        },
        'menuApp' => {
            'test' => sub {
                1;
            }
        },
        'menuCat' => {
            'test' => sub {
                1;
            }
        },
        'oidcAttribute' => {
            'test' => sub {
                1;
            }
        },
        'oidcmetadatajson' => {
            'test' => sub {
                1;
            }
        },
        'oidcmetadatajwks' => {
            'test' => sub {
                1;
            }
        },
        'oidcOPMetaDataNode' => {
            'test' => sub {
                1;
            }
        },
        'oidcRPMetaDataNode' => {
            'test' => sub {
                1;
            }
        },
        'password' => {
            'msgFail' => '__malformedValue__',
            'test'    => sub {
                1;
            }
        },
        'pcre' => {
            'form' => 'text',
            'test' => sub {
                eval {
                    do {
                        qr/$_[0]/;
                    }
                };
                return $@ ? ( 0, "__badRegexp__: $@" ) : 1;
            }
        },
        'PerlModule' => {

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

            'type'    => 'int'
        },
        'bruteForceProtectionMaxLockTime' => {
            'default' => 900,
            'type'    => 'int'
        },
        'bruteForceProtectionTempo' => {
            'default' => 30,
            'type'    => 'int'
        },
        'cacheTagSalt' => {
            'type' => 'text'
        },
        'captcha' => {
            'type' => 'PerlModule'
        },
        'captcha_login_enabled' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'captcha_mail_enabled' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'captcha_register_enabled' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'captcha_size' => {
            'default' => 6,
            'type'    => 'int'
        },
        'captchaOptions' => {
            'type' => 'keyTextContainer'
        },
        'casAccessControlPolicy' => {
            'default' => 'none',
            'select'  => [ {
                    'k' => 'none',
                    'v' => 'None'
                },
                {
                    'k' => 'error',
                    'v' => 'Display error on portal'
                },
                {
                    'k' => 'faketicket',
                    'v' => 'Send a fake service ticket'
                }
            ],
            'type' => 'select'
        },
        'casAppMetaDataExportedVars' => {
            'default' => {
                'cn'   => 'cn',
                'mail' => 'mail',
                'uid'  => 'uid'
            },
            'type' => 'keyTextContainer'
        },
        'casAppMetaDataMacros' => {
            'default' => {},
            'test'    => {
                'keyMsgFail' => '__badMacroName__',
                'keyTest'    => qr/^[_a-zA-Z][a-zA-Z0-9_]*$/,
                'test'       => sub {
                    return perlExpr(@_);
                }
            },
            'type' => 'keyTextContainer'
        },
        'casAppMetaDataNodes' => {
            'type' => 'casAppMetaDataNodeContainer'
        },
        'casAppMetaDataOptions' => {
            'type' => 'subContainer'
        },
        'casAppMetaDataOptionsAllowProxy' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'casAppMetaDataOptionsAuthnLevel' => {
            'test' => sub {
                return perlExpr(@_);
            },
            'type' => 'text'
        },
        'casAppMetaDataOptionsComment' => {
            'type' => 'longtext'
        },
        'casAppMetaDataOptionsDisplayName' => {
            'type' => 'text'
        },
        'casAppMetaDataOptionsLogout' => {
            'default' => -1,
            'type'    => 'trool'
        },
        'casAppMetaDataOptionsRule' => {
            'test' => sub {
                return perlExpr(@_);
            },
            'type' => 'text'
        },
        'casAppMetaDataOptionsService' => {
            'type' => 'text'
        },
        'casAppMetaDataOptionsUserAttribute' => {
            'type' => 'text'
        },
        'casAttr' => {
            'type' => 'text'
        },
        'casAttributes' => {
            'type' => 'keyTextContainer'
        },
        'casAuthnLevel' => {
            'default' => 1,
            'type'    => 'int'
        },
        'casBackChannelSingleLogout' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'casSrvMetaDataExportedVars' => {

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

        },
        'cspConnect' => {
            'default' => '\'self\'',
            'type'    => 'text'
        },
        'cspDefault' => {
            'default' => '\'self\'',
            'type'    => 'text'
        },
        'cspFont' => {
            'default' => '\'self\'',
            'type'    => 'text'
        },
        'cspFormAction' => {
            'default' => '*',
            'type'    => 'text'
        },
        'cspFrameAncestors' => {
            'default' => '',
            'type'    => 'text'
        },
        'cspImg' => {
            'default' => '\'self\' data:',
            'type'    => 'text'
        },
        'cspScript' => {
            'default' => '\'self\'',
            'type'    => 'text'
        },
        'cspStyle' => {
            'default' => '\'self\'',
            'type'    => 'text'
        },
        'customAddParams' => {
            'type' => 'keyTextContainer'
        },
        'customAuth' => {
            'type' => 'text'
        },
        'customFunctions' => {
            'msgFail' => '__badCustomFuncName__',
            'test'    => qr/^(?:\w+(?:::\w+)*(?:\s+\w+(?:::\w+)*)*)?$/,
            'type'    => 'text'
        },
        'customPassword' => {
            'type' => 'text'
        },
        'customPlugins' => {
            'type' => 'text'
        },
        'customPluginsParams' => {
            'type' => 'keyTextContainer'
        },
        'customRegister' => {
            'type' => 'text'
        },
        'customResetCertByMail' => {
            'type' => 'text'
        },
        'customToTrace' => {
            'type' => 'lmAttrOrMacro'
        },
        'customUserDB' => {
            'type' => 'text'
        },
        'dbiAuthChain' => {
            'type' => 'text'
        },
        'dbiAuthLoginCol' => {
            'type' => 'text'
        },
        'dbiAuthnLevel' => {
            'default' => 2,
            'type'    => 'int'
        },
        'dbiAuthPassword' => {
            'type' => 'password'
        },
        'dbiAuthPasswordCol' => {
            'type' => 'text'
        },
        'dbiAuthPasswordHash' => {
            'type' => 'text'
        },
        'dbiAuthTable' => {
            'type' => 'text'
        },
        'dbiAuthUser' => {
            'type' => 'text'
        },
        'dbiDynamicHashEnabled' => {
            'type' => 'bool'
        },
        'dbiDynamicHashNewPasswordScheme' => {
            'type' => 'text'
        },
        'dbiDynamicHashValidSaltedSchemes' => {
            'type' => 'text'
        },
        'dbiDynamicHashValidSchemes' => {
            'type' => 'text'
        },
        'dbiExportedVars' => {
            'default'    => {},
            'keyMsgFail' => '__badVariableName__',
            'keyTest'    => qr/^!?[a-zA-Z][a-zA-Z0-9_-]*$/,
            'msgFail'    => '__badValue__',
            'test'       => qr/^[a-zA-Z][a-zA-Z0-9_:\-]*$/,
            'type'       => 'keyTextContainer'
        },
        'dbiPasswordMailCol' => {
            'type' => 'text'
        },
        'dbiUserTable' => {
            'type' => 'text'
        },
        'decryptValueFunctions' => {
            'msgFail' => '__badCustomFuncName__',
            'test'    => qr/^(?:\w+(?:::\w+)*(?:\s+\w+(?:::\w+)*)*)?$/,
            'type'    => 'text'
        },

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

        'githubScope' => {
            'default' => 'user:email',
            'type'    => 'text'
        },
        'githubUserField' => {
            'default' => 'login',
            'type'    => 'text'
        },
        'globalLogoutCustomParam' => {
            'type' => 'text'
        },
        'globalLogoutRule' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'globalLogoutTimer' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'globalStorage' => {
            'default' => 'Apache::Session::File',
            'type'    => 'PerlModule'
        },
        'globalStorageOptions' => {
            'default' => {
                'Directory'      => '/var/lib/lemonldap-ng/sessions/',
                'generateModule' =>
                  'Lemonldap::NG::Common::Apache::Session::Generate::SHA256',
                'LockDirectory' => '/var/lib/lemonldap-ng/sessions/lock/'
            },
            'type' => 'keyTextContainer'
        },
        'gpgAuthnLevel' => {
            'default' => 5,
            'type'    => 'int'
        },
        'gpgDb' => {
            'default' => '',
            'type'    => 'text'
        },
        'grantSessionRules' => {
            'default' => {},
            'keyTest' => sub {
                return perlExpr(@_);
            },
            'test' => sub {
                1;
            },
            'type' => 'grantContainer'
        },
        'groupLDAPFilter' => {
            'type' => 'text'
        },
        'groups' => {
            'default' => {},
            'test'    => sub {
                return perlExpr(@_);
            },
            'type' => 'keyTextContainer'
        },
        'groupsBeforeMacros' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'handlerInternalCache' => {
            'default' => 15,
            'type'    => 'int'
        },
        'handlerServiceTokenTTL' => {
            'default' => 30,
            'type'    => 'int'
        },
        'hashedSessionStore' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'hiddenAttributes' => {
            'default' => '_password _2fDevices',
            'type'    => 'text'
        },
        'hideOldPassword' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'httpOnly' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'https' => {
            'default' => -1,
            'type'    => 'trool'
        },
        'impersonationHiddenAttributes' => {
            'default' => '_2fDevices, _loginHistory',
            'type'    => 'text'
        },
        'impersonationIdRule' => {
            'default' => 1,
            'test'    => sub {
                return perlExpr(@_);
            },
            'type' => 'text'
        },
        'impersonationMergeSSOgroups' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'impersonationPrefix' => {
            'default' => 'real_',
            'type'    => 'text'
        },
        'impersonationRule' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'impersonationSkipEmptyValues' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'impersonationUnrestrictedUsersRule' => {
            'test' => sub {
                return perlExpr(@_);
            },
            'type' => 'text'
        },
        'infoFormMethod' => {
            'default' => 'get',
            'select'  => [ {
                    'k' => 'get',
                    'v' => 'GET'
                },
                {
                    'k' => 'post',
                    'v' => 'POST'
                }
            ],
            'type' => 'select'
        },
        'initializePasswordReset' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'initializePasswordResetSecret' => {
            'type' => 'password'
        },
        'issuerDBCASActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBCASPath' => {
            'default' => '^/cas/',
            'type'    => 'pcre'
        },
        'issuerDBCASRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'issuerDBGetActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBGetParameters' => {
            'default'    => {},
            'keyMsgFail' => '__badHostname__',
            'keyTest'    =>
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])[.]?)$/,
            'test' => {
                'keyMsgFail' => '__badKeyName__',
                'keyTest'    => qr/^(?=[^\-])[\w\-]+(?<=[^-])$/,
                'test'       => sub {
                    my ( $val, $conf ) = @_;
                    return 1
                      if defined $conf->{'macros'}{$val} or $val eq '_timezone';
                    foreach $_ ( keys %$conf ) {
                        return 1
                          if $_ =~ /exportedvars$/i
                          and defined $conf->{$_}{$val};
                    }
                    return 1, "__unknownAttrOrMacro__: $val";
                }
            },
            'type' => 'doubleHash'
        },
        'issuerDBGetPath' => {
            'default' => '^/get/',
            'type'    => 'text'
        },
        'issuerDBGetRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'issuerDBJitsiMeetTokensActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBJitsiMeetTokensPath' => {
            'default' => '^/jitsi/',
            'type'    => 'text'
        },
        'issuerDBJitsiMeetTokensRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'issuerDBOpenIDActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBOpenIDConnectActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBOpenIDConnectPath' => {
            'default' => '^/oauth2/',
            'type'    => 'text'
        },
        'issuerDBOpenIDConnectRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'issuerDBOpenIDPath' => {
            'default' => '^/openidserver/',
            'type'    => 'pcre'
        },
        'issuerDBOpenIDRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },
        'issuerDBSAMLActivation' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'issuerDBSAMLPath' => {
            'default' => '^/saml/',
            'type'    => 'pcre'
        },
        'issuerDBSAMLRule' => {
            'default' => 1,
            'type'    => 'boolOrExpr'
        },

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

                    return &perlExpr( $s, $conf );
                }
            },
            'type' => 'ruleContainer'
        },
        'log4perlConfFile' => {
            'type' => 'text'
        },
        'logger' => {
            'type' => 'text'
        },
        'loginHistoryEnabled' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'logLevel' => {
            'type' => 'text'
        },
        'logoutServices' => {
            'default' => {},
            'type'    => 'keyTextContainer'
        },
        'lokiAuthorization' => {
            'type' => 'text'
        },
        'lokiEnv' => {
            'type' => 'text'
        },
        'lokiInstance' => {
            'type' => 'text'
        },
        'lokiLabel' => {
            'type' => 'text'
        },
        'lokiService' => {
            'type' => 'text'
        },
        'lokiTenant' => {
            'type' => 'text'
        },
        'lokiTenantHeader' => {
            'type' => 'text'
        },
        'lokiUrl' => {
            'type' => 'text'
        },
        'lokiUserService' => {
            'type' => 'text'
        },
        'lwpOpts' => {
            'default' => {
                'timeout' => 10
            },
            'type' => 'keyTextContainer'
        },
        'lwpSslOpts' => {
            'type' => 'keyTextContainer'
        },
        'macros' => {
            'default'    => {},
            'keyMsgFail' => '__badMacroName__',
            'keyTest'    => qr/^[_a-zA-Z][a-zA-Z0-9_]*$/,
            'test'       => sub {
                return perlExpr(@_);
            },
            'type' => 'keyTextContainer'
        },
        'mail2fActivation' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'mail2fAuthnLevel' => {
            'type' => 'intOrNull'
        },
        'mail2fBody' => {
            'type' => 'longtext'
        },
        'mail2fCodeRegex' => {
            'default' => '\\d{6}',
            'type'    => 'pcre'
        },
        'mail2fLabel' => {
            'type' => 'text'
        },
        'mail2fLogo' => {
            'type' => 'text'
        },
        'mail2fResendInterval' => {
            'type' => 'text'
        },
        'mail2fSessionKey' => {
            'type' => 'text'
        },
        'mail2fSubject' => {
            'type' => 'text'
        },
        'mail2fTimeout' => {
            'type' => 'intOrNull'
        },
        'mailBody' => {
            'type' => 'longtext'
        },
        'mailCharset' => {
            'default' => 'utf-8',
            'type'    => 'text'
        },
        'mailConfirmBody' => {
            'type' => 'longtext'
        },
        'mailConfirmSubject' => {
            'type' => 'text'
        },
        'mailFrom' => {
            'default' => 'noreply@example.com',
            'type'    => 'text'
        },
        'mailLDAPFilter' => {
            'type' => 'text'
        },
        'mailOnPasswordChange' => {
            'default' => 0,

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

                },
                {
                    'k' => 'ES384',
                    'v' => 'ES384'
                },
                {
                    'k' => 'ES512',
                    'v' => 'ES512'
                },
                {
                    'k' => 'EdDSA',
                    'v' => 'EdDSA'
                }
            ],
            'type' => 'select'
        },
        'oidcOPMetaDataOptionsTooltip' => {
            'type' => 'text'
        },
        'oidcOPMetaDataOptionsUiLocales' => {
            'type' => 'text'
        },
        'oidcOPMetaDataOptionsUseNonce' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'oidcOPMetaDataOptionsUserAttribute' => {
            'type' => 'text'
        },
        'oidcOPMetaDataOptionsUserinfoSource' => {
            'default' => 'userinfo',
            'select'  => [ {
                    'k' => 'userinfo',
                    'v' => 'Userinfo endpoint'
                },
                {
                    'k' => 'id_token',
                    'v' => 'ID Token'
                },
                {
                    'k' => 'access_token',
                    'v' => 'Access Token'
                }
            ],
            'type' => 'select'
        },
        'oidcRPCallbackGetParam' => {
            'default' => 'openidconnectcallback',
            'type'    => 'text'
        },
        'oidcRPMetaDataExportedVars' => {
            'default' => {
                'email'              => 'mail',
                'name'               => 'cn',
                'preferred_username' => 'uid'
            },
            'keyTest' => qr/\w/,
            'test'    => qr/\w/,
            'type'    => 'oidcAttributeContainer'
        },
        'oidcRPMetaDataMacros' => {
            'default' => {},
            'test'    => {
                'keyMsgFail' => '__badMacroName__',
                'keyTest'    => qr/^[_a-zA-Z][a-zA-Z0-9_]*$/,
                'test'       => sub {
                    return perlExpr(@_);
                }
            },
            'type' => 'keyTextContainer'
        },
        'oidcRPMetaDataNodes' => {
            'type' => 'oidcRPMetaDataNodeContainer'
        },
        'oidcRPMetaDataOptions' => {
            'type' => 'subContainer'
        },
        'oidcRPMetaDataOptionsAccessTokenClaims' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'oidcRPMetaDataOptionsAccessTokenEncContentEncAlg' => {
            'default' => 'A256GCM',
            'select'  => [ {
                    'k' => 'A256CBC-HS512',
                    'v' => 'A256CBC-HS512'
                },
                {
                    'k' => 'A256GCM',
                    'v' => 'A256GCM'
                },
                {
                    'k' => 'A192CBC-HS384',
                    'v' => 'A192CBC-HS384'
                },
                {
                    'k' => 'A192GCM',
                    'v' => 'A192GCM'
                },
                {
                    'k' => 'A128CBC-HS256',
                    'v' => 'A128CBC-HS256'
                },
                {
                    'k' => 'A128GCM',
                    'v' => 'A128GCM'
                }
            ],
            'type' => 'select'
        },
        'oidcRPMetaDataOptionsAccessTokenEncKeyMgtAlg' => {
            'select' => [ {
                    'k' => '',
                    'v' => 'None'
                },
                {
                    'k' => 'RSA-OAEP',
                    'v' => 'RSA-OAEP'
                },
                {
                    'k' => 'RSA-OAEP-256',
                    'v' => 'RSA-OAEP-256'
                },
                {

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

                    'v' => 'JWT/None'
                },
                {
                    'k' => 'HS256',
                    'v' => 'JWT/HS256'
                },
                {
                    'k' => 'HS384',
                    'v' => 'JWT/HS384'
                },
                {
                    'k' => 'HS512',
                    'v' => 'JWT/HS512'
                },
                {
                    'k' => 'RS256',
                    'v' => 'JWT/RS256'
                },
                {
                    'k' => 'RS384',
                    'v' => 'JWT/RS384'
                },
                {
                    'k' => 'RS512',
                    'v' => 'JWT/RS512'
                },
                {
                    'k' => 'PS256',
                    'v' => 'JWT/PS256'
                },
                {
                    'k' => 'PS384',
                    'v' => 'JWT/PS384'
                },
                {
                    'k' => 'PS512',
                    'v' => 'JWT/PS512'
                },
                {
                    'k' => 'ES256',
                    'v' => 'JWT/ES256'
                },
                {
                    'k' => 'ES384',
                    'v' => 'JWT/ES384'
                },
                {
                    'k' => 'ES512',
                    'v' => 'JWT/ES512'
                },
                {
                    'k' => 'EdDSA',
                    'v' => 'JWT/EdDSA'
                }
            ],
            'type' => 'select'
        },
        'oidcRPMetaDataScopeRules' => {
            'default' => {},
            'test'    => {
                'keyMsgFail' => '__badMacroName__',
                'keyTest'    => qr/^[\x21\x23-\x5B\x5D-\x7E]+$/,
                'test'       => sub {
                    return perlExpr(@_);
                }
            },
            'type' => 'keyTextContainer'
        },
        'oidcRPStateTimeout' => {
            'default' => 600,
            'type'    => 'int'
        },
        'oidcServiceAccessTokenExpiration' => {
            'default' => 3600,
            'type'    => 'int'
        },
        'oidcServiceAllowAuthorizationCodeFlow' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'oidcServiceAllowDynamicRegistration' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'oidcServiceAllowHybridFlow' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'oidcServiceAllowImplicitFlow' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'oidcServiceAllowOnlyDeclaredScopes' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'oidcServiceAuthorizationCodeExpiration' => {
            'default' => 60,
            'type'    => 'int'
        },
        'oidcServiceDynamicRegistrationExportedVars' => {
            'type' => 'keyTextContainer'
        },
        'oidcServiceDynamicRegistrationExtraClaims' => {
            'keyTest' => qr/^[\x21\x23-\x5B\x5D-\x7E]+$/,
            'type'    => 'keyTextContainer'
        },
        'oidcServiceEncAlgorithmAlg' => {
            'default' => 'RSA-OAEP',
            'select'  => [ {
                    'k' => 'RSA-OAEP',
                    'v' => 'RSA-OAEP'
                },
                {
                    'k' => 'RSA-OAEP-256',
                    'v' => 'RSA-OAEP-256'
                },
                {
                    'k' => 'RSA1_5',
                    'v' => 'RSA1_5'
                },

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

        },
        'oidcStorageOptions' => {
            'type' => 'keyTextContainer'
        },
        'okta2fActivation' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'okta2fAdminURL' => {
            'type' => 'url'
        },
        'okta2fApiKey' => {
            'type' => 'text'
        },
        'okta2fAuthnLevel' => {
            'type' => 'intOrNull'
        },
        'okta2fLabel' => {
            'type' => 'text'
        },
        'okta2fLoginAttribute' => {
            'type' => 'text'
        },
        'okta2fLogo' => {
            'type' => 'text'
        },
        'oldNotifFormat' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'openIdAttr' => {
            'type' => 'text'
        },
        'openIdAuthnLevel' => {
            'default' => 1,
            'type'    => 'int'
        },
        'openIdExportedVars' => {
            'default'    => {},
            'keyMsgFail' => '__badVariableName__',
            'keyTest'    => qr/^!?[a-zA-Z][a-zA-Z0-9_-]*$/,
            'msgFail'    => '__badValue__',
            'test'       => qr/^[a-zA-Z][a-zA-Z0-9_:\-]*$/,
            'type'       => 'keyTextContainer'
        },
        'openIdIDPList' => {
            'default' => '0;',
            'type'    => 'blackWhiteList'
        },
        'openIdIssuerSecret' => {
            'type' => 'text'
        },
        'openIdSecret' => {
            'type' => 'text'
        },
        'openIdSPList' => {
            'default' => '0;',
            'type'    => 'blackWhiteList'
        },
        'openIdSreg_country' => {
            'type' => 'lmAttrOrMacro'
        },
        'openIdSreg_dob' => {
            'type' => 'lmAttrOrMacro'
        },
        'openIdSreg_email' => {
            'default' => 'mail',
            'type'    => 'lmAttrOrMacro'
        },
        'openIdSreg_fullname' => {
            'default' => 'cn',
            'type'    => 'lmAttrOrMacro'
        },
        'openIdSreg_gender' => {
            'type' => 'lmAttrOrMacro'
        },
        'openIdSreg_language' => {
            'type' => 'lmAttrOrMacro'
        },
        'openIdSreg_nickname' => {
            'default' => 'uid',
            'type'    => 'lmAttrOrMacro'
        },
        'openIdSreg_postcode' => {
            'type' => 'lmAttrOrMacro'
        },
        'openIdSreg_timezone' => {
            'default' => '_timezone',
            'type'    => 'lmAttrOrMacro'
        },
        'pamAuthnLevel' => {
            'default' => 2,
            'type'    => 'int'
        },
        'pamService' => {
            'default' => 'login',
            'type'    => 'text'
        },
        'password2fActivation' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'password2fAuthnLevel' => {
            'type' => 'intOrNull'
        },
        'password2fLabel' => {
            'type' => 'text'
        },
        'password2fLogo' => {
            'type' => 'text'
        },
        'password2fSelfRegistration' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'password2fTTL' => {
            'type' => 'intOrNull'
        },
        'password2fUserCanRemoveKey' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'passwordDB' => {
            'default' => 'Demo',
            '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'
                },
                {

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

        'samlServicePrivateKeyEnc' => {
            'default' => '',
            'type'    => 'RSAPrivateKey'
        },
        'samlServicePrivateKeyEncPwd' => {
            'type' => 'password'
        },
        'samlServicePrivateKeySig' => {
            'default' => '',
            'type'    => 'RSAPrivateKey'
        },
        'samlServicePrivateKeySigPwd' => {
            'default' => '',
            'type'    => 'password'
        },
        'samlServicePublicKeyEnc' => {
            'default' => '',
            'type'    => 'RSAPublicKeyOrCertificate'
        },
        'samlServicePublicKeySig' => {
            'default' => '',
            'type'    => 'RSAPublicKeyOrCertificate'
        },
        'samlServiceSignatureKey' => {
            'default' => 'default-saml-sig',
            'type'    => 'text'
        },
        'samlServiceSignatureMethod' => {
            'default' => 'RSA_SHA256',
            'select'  => [ {
                    'k' => 'RSA_SHA1',
                    'v' => 'RSA SHA1'
                },
                {
                    'k' => 'RSA_SHA256',
                    'v' => 'RSA SHA256'
                },
                {
                    'k' => 'RSA_SHA384',
                    'v' => 'RSA SHA384'
                },
                {
                    'k' => 'RSA_SHA512',
                    'v' => 'RSA SHA512'
                }
            ],
            'type' => 'select'
        },
        'samlServiceUseCertificateInResponse' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'samlSPMetaDataExportedAttributes' => {
            'default'    => {},
            'keyMsgFail' => '__badMetadataName__',
            'keyTest'    => qr/^[a-zA-Z](?:[a-zA-Z0-9_\-\.]*\w)?$/,
            'msgFail'    => '__badValue__',
            'test'       => qr/\w/,
            'type'       => 'samlAttributeContainer'
        },
        'samlSPMetaDataMacros' => {
            'default' => {},
            'test'    => {
                'keyMsgFail' => '__badMacroName__',
                'keyTest'    => qr/^[_a-zA-Z][a-zA-Z0-9_]*$/,
                'test'       => sub {
                    return perlExpr(@_);
                }
            },
            'type' => 'keyTextContainer'
        },
        'samlSPMetaDataNodes' => {
            'type' => 'samlSPMetaDataNodeContainer'
        },
        'samlSPMetaDataOptions' => {
            'keyMsgFail' => '__badMetadataName__',
            'keyTest'    => qr/^[a-zA-Z](?:[a-zA-Z0-9_\-\.]*\w)?$/,
            'type'       => 'keyTextContainer'
        },
        'samlSPMetaDataOptionsAuthnLevel' => {
            'test' => sub {
                return perlExpr(@_);
            },
            'type' => 'text'
        },
        'samlSPMetaDataOptionsCheckSLOMessageSignature' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'samlSPMetaDataOptionsCheckSSOMessageSignature' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'samlSPMetaDataOptionsComment' => {
            'type' => 'longtext'
        },
        'samlSPMetaDataOptionsEnableIDPInitiatedURL' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'samlSPMetaDataOptionsEncryptionMode' => {
            'default' => 'none',
            'select'  => [ {
                    'k' => 'none',
                    'v' => 'None'
                },
                {
                    'k' => 'nameid',
                    'v' => 'Name ID'
                },
                {
                    'k' => 'assertion',
                    'v' => 'Assertion'
                }
            ],
            'type' => 'select'
        },
        'samlSPMetaDataOptionsFederationEntityID' => {
            'type' => 'text'
        },
        'samlSPMetaDataOptionsFederationOptionalAttributes' => {
            'default' => '',
            'select'  => [ {
                    'k' => '',

lib/Lemonldap/NG/Manager/Attributes.pm  view on Meta::CPAN

            'default' => 1,
            'type'    => 'bool'
        },
        'webauthn2fUserVerification' => {
            'default' => 'preferred',
            'select'  => [ {
                    'k' => 'discouraged',
                    'v' => 'Discouraged'
                },
                {
                    'k' => 'preferred',
                    'v' => 'Preferred'
                },
                {
                    'k' => 'required',
                    'v' => 'Required'
                }
            ],
            'type' => 'select'
        },
        'webauthnAppId' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'webauthnAuthnLevel' => {
            'default' => 3,
            'type'    => 'int'
        },
        'webauthnDefaultTransports' => {
            'type' => 'text'
        },
        'webauthnDisplayNameAttr' => {
            'type' => 'text'
        },
        'webauthnRpId' => {
            'type' => 'text'
        },
        'webauthnRpName' => {
            'type' => 'text'
        },
        'webCronSecret' => {
            'type' => 'text'
        },
        'webIDAuthnLevel' => {
            'default' => 1,
            'type'    => 'int'
        },
        'webIDExportedVars' => {
            'default'    => {},
            'keyMsgFail' => '__badVariableName__',
            'keyTest'    => qr/^!?[a-zA-Z][a-zA-Z0-9_-]*$/,
            'msgFail'    => '__badValue__',
            'test'       => qr/^[a-zA-Z][a-zA-Z0-9_:\-]*$/,
            'type'       => 'keyTextContainer'
        },
        'webIDWhitelist' => {
            'type' => 'text'
        },
        'whatToTrace' => {
            'default' => 'uid',
            'type'    => 'lmAttrOrMacro'
        },
        'wsdlServer' => {
            'default' => 0,
            'type'    => 'bool'
        },
        'yubikey2fActivation' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'yubikey2fAuthnLevel' => {
            'type' => 'intOrNull'
        },
        'yubikey2fClientID' => {
            'type' => 'text'
        },
        'yubikey2fFromSessionAttribute' => {
            'type' => 'text'
        },
        'yubikey2fLabel' => {
            'type' => 'text'
        },
        'yubikey2fLogo' => {
            'type' => 'text'
        },
        'yubikey2fNonce' => {
            'type' => 'text'
        },
        'yubikey2fPublicIDSize' => {
            'default' => 12,
            'type'    => 'int'
        },
        'yubikey2fSecretKey' => {
            'type' => 'text'
        },
        'yubikey2fSelfRegistration' => {
            'default' => 0,
            'type'    => 'boolOrExpr'
        },
        'yubikey2fTTL' => {
            'type' => 'intOrNull'
        },
        'yubikey2fUrl' => {
            'type' => 'url'
        },
        'yubikey2fUserCanRemoveKey' => {
            'default' => 1,
            'type'    => 'bool'
        },
        'zimbraAccountKey' => {
            'type' => 'text'
        },
        'zimbraBy' => {
            'type' => 'text'
        },
        'zimbraPreAuthKey' => {
            'type' => 'text'
        },
        'zimbraSsoUrl' => {
            'type' => 'text'
        },



( run in 1.223 second using v1.01-cache-2.11-cpan-39bf76dae61 )