Spaces:
No application file
No application file
$firewalls = [ | |
'install' => [ | |
'pattern' => '^/installer', | |
'anonymous' => 'lazy', | |
'context' => 'mautic', | |
'security' => false, | |
], | |
'dev' => [ | |
'pattern' => '^/(_(profiler|wdt)|css|images|js)/', | |
'security' => true, | |
'anonymous' => 'lazy', | |
], | |
'login' => [ | |
'pattern' => '^/s/login$', | |
'anonymous' => 'lazy', | |
'context' => 'mautic', | |
], | |
'sso_login' => [ | |
'pattern' => '^/s/sso_login', | |
'anonymous' => 'lazy', | |
'mautic_plugin_auth' => true, | |
'context' => 'mautic', | |
], | |
'saml_login' => [ | |
'pattern' => '^/s/saml/login$', | |
'anonymous' => 'lazy', | |
'context' => 'mautic', | |
], | |
'saml_discovery' => [ | |
'pattern' => '^/saml/discovery$', | |
'anonymous' => 'lazy', | |
'context' => 'mautic', | |
], | |
'oauth2_token' => [ | |
'pattern' => '^/oauth/v2/token', | |
'security' => false, | |
], | |
'oauth2_area' => [ | |
'pattern' => '^/oauth/v2/authorize', | |
'form_login' => [ | |
'provider' => 'user_provider', | |
'check_path' => '/oauth/v2/authorize_login_check', | |
'login_path' => '/oauth/v2/authorize_login', | |
], | |
'anonymous' => 'lazy', | |
], | |
'api' => [ | |
'pattern' => '^/api', | |
'fos_oauth' => true, | |
'mautic_plugin_auth' => true, | |
'stateless' => true, | |
'http_basic' => true, | |
], | |
'main' => [ | |
'pattern' => '^/(s/|elfinder|efconnect)', | |
'light_saml_sp' => [ | |
'provider' => 'user_provider', | |
'success_handler' => 'mautic.security.authentication_handler', | |
'failure_handler' => 'mautic.security.authentication_handler', | |
'user_creator' => 'mautic.security.saml.user_creator', | |
'username_mapper' => 'mautic.security.saml.username_mapper', | |
// Environment variables will overwrite these with the standard login URLs if SAML is disabled | |
'login_path' => '%env(MAUTIC_SAML_LOGIN_PATH)%', // '/s/saml/login',, | |
'check_path' => '%env(MAUTIC_SAML_LOGIN_CHECK_PATH)%', // '/s/saml/login_check', | |
], | |
'form_login' => [ | |
'csrf_token_generator' => 'security.csrf.token_manager', | |
'success_handler' => 'mautic.security.authentication_handler', | |
'failure_handler' => 'mautic.security.authentication_handler', | |
'login_path' => '/s/login', | |
'check_path' => '/s/login_check', | |
], | |
'logout' => [ | |
'path' => '/s/logout', | |
'target' => '/s/login', | |
], | |
'remember_me' => [ | |
'secret' => '%mautic.rememberme_key%', | |
'lifetime' => '%mautic.rememberme_lifetime%', | |
'path' => '%mautic.rememberme_path%', | |
'domain' => '%mautic.rememberme_domain%', | |
'samesite' => 'lax', | |
], | |
'guard' => [ | |
'authenticators' => [ | |
'mautic.user.form_guard_authenticator', | |
], | |
], | |
'fos_oauth' => true, | |
'context' => 'mautic', | |
], | |
'public' => [ | |
'pattern' => '^/', | |
'anonymous' => 'lazy', | |
'context' => 'mautic', | |
], | |
]; | |
if (!$container->getParameter('mautic.famework.csrf_protection')) { | |
unset($firewalls['main']['simple_form']['csrf_token_generator']); | |
} | |
$container->loadFromExtension( | |
'security', | |
[ | |
'providers' => [ | |
'user_provider' => [ | |
'id' => 'mautic.user.provider', | |
], | |
], | |
'encoders' => [ | |
Symfony\Component\Security\Core\User\User::class => [ | |
'algorithm' => 'bcrypt', | |
'iterations' => 12, | |
], | |
Mautic\UserBundle\Entity\User::class => [ | |
'algorithm' => 'bcrypt', | |
'iterations' => 12, | |
], | |
], | |
'role_hierarchy' => [ | |
'ROLE_ADMIN' => 'ROLE_USER', | |
], | |
'firewalls' => $firewalls, | |
'access_control' => [ | |
['path' => '^/api', 'roles' => 'IS_AUTHENTICATED_FULLY'], | |
], | |
] | |
); | |
$container->setParameter('mautic.saml_idp_entity_id', '%env(MAUTIC_SAML_ENTITY_ID)%'); | |
$container->loadFromExtension( | |
'light_saml_symfony_bridge', | |
[ | |
'own' => [ | |
'entity_id' => '%mautic.saml_idp_entity_id%', | |
], | |
'store' => [ | |
'id_state' => 'mautic.security.saml.id_store', | |
], | |
] | |
); | |
$this->import('security_api.php'); | |
// List config keys we do not want the user to change via the config UI | |
$restrictedConfigFields = [ | |
'db_driver', | |
'db_host', | |
'db_table_prefix', | |
'db_name', | |
'db_user', | |
'db_password', | |
'db_path', | |
'db_port', | |
'secret_key', | |
]; | |
// List config keys that are dev mode only | |
if ('prod' == $container->getParameter('kernel.environment')) { | |
$restrictedConfigFields = array_merge($restrictedConfigFields, ['transifex_username', 'transifex_password']); | |
} | |
$container->setParameter('mautic.security.restrictedConfigFields', $restrictedConfigFields); | |
$container->setParameter('mautic.security.restrictedConfigFields.displayMode', Mautic\ConfigBundle\Form\Helper\RestrictionHelper::MODE_REMOVE); | |
/* | |
* Optional security parameters | |
* mautic.security.disableUpdates = disables remote checks for updates | |
* mautic.security.restrictedConfigFields.displayMode = accepts either remove or mask; mask will disable the input with a "Set by system" message | |
*/ | |
$container->setParameter('mautic.security.disableUpdates', false); | |