mautic / app /config /security.php
chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
$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);