Plugin que implementa um método de autenticação local para o Mapas Culturais, em conjunto com login via redes sociais.
Faça download ou um clone do plugin na pasta src/plugins
do Mapas Culturais.
Para clonar o plugin, utilize o comando:
git clone git@github.com:mapasculturais/plugin-SaaSMultipleLocalAuth.git -d MultipleLocalAuth
No arquivo de configuração do Mapas Culturais, config.php, você deve:
- Ativar o plugin
- Configurar MultipleLocalAuth como seu Provider de autenticação
- Configurar as chaves das redes sociais
Para ativar o plugin, adicione na sua array de Plugins:
'plugins' => [
// ... outros plugins
'MultipleLocalAuth' => [
'namespace' => 'MultipleLocalAuth',
],
],
Para definir este plugin como seu método de autenticação, defina a configuraço auth.provider:
'auth.provider' => '\MultipleLocalAuth\Provider',
Finalmente, defina a configuração auth.config para definir as estratégias utilizadas e as chaves dos serviços:
'auth.config' => [
//SALT da senha do usuario
'salt' => 'LT_SECURITY_SALT_SECURITY_SALT_SECURITY_SALT_SECURITY_SALT_SECU',
'timeout' => '24 hours',
//url de suporte por chat para ser enviado nos emails
'urlSupportChat' => 'https://www.google.com',
//url de suporte por email para ser enviado nos emails
'urlSupportEmail' => 'https://www.google.com',
//url do site de suporte para ser enviado nos emails
'urlSupportSite' => 'https://www.google.com',
//url dos termos de uso para utilizar a plataforma
'urlTermsOfUse' => 'https://www.google.com',
//url de uma imagem para ser enviado como plano de fundo nos emails
'urlImageToUseInEmails' => 'https://mapacultural.juazeiro.ce.gov.br/files/project/1561/file/963893/blob-3d922310b0a1eb1c16791a06023f56df.png',
//Habilita registro e login através do CPF
'enableLoginByCPF' => true,
//apelido do metadata que será salvo o campo CPF
'metadataFieldCPF' => 'documento',
//Regra para saber se o usuario deve ou não confiar o email para poder utilizar o sistema
'userMustConfirmEmailToUseTheSystem' => false,
//Regra de força de senha - Ter no mínimo 1 letra maiúscula
'passwordMustHaveCapitalLetters' => true,
//Regra de força de senha - Ter no mínimo 1 letra minúscula
'passwordMustHaveLowercaseLetters' => true,
//Regra de força de senha - Ter no mínimo 1 caractere especial
'passwordMustHaveSpecialCharacters' => true,
//Regra de força de senha - Ter no mínimo 1 caractere numérico
'passwordMustHaveNumbers' => true,
//Regra de força de senha - Ter no mínimo n caracteres
'minimumPasswordLength' => 6,
//Configuração de GOOGLE Recaptcha
'google-recaptcha-secret' => '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe',
'google-recaptcha-sitekey' => '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',
//Tempo da sessao do usuario em segundos
'sessionTime' => 7200,
//Limite de tentativas não sucedidas de login antes de bloquear o usuario por X minutos
'numberloginAttemp' => '5',
//Tempo de bloqueio do usuario em segundos, após romper limites de tentativas não sucedidas
'timeBlockedloginAttemp' => '900',
//Estratégias de autenticação
'strategies' => [
'Facebook' => array(
'app_id' => 'SUA_APP_ID',
'app_secret' => 'SUA_APP_SECRET',
'scope' => 'email'
),
'LinkedIn' => array(
'api_key' => 'SUA_API_KEY',
'secret_key' => 'SUA_SECRET_KEY',
'redirect_uri' => URL_DO_SEU_SITE . '/autenticacao/linkedin/oauth2callback',
'scope' => 'r_emailaddress'
),
'Google' => array(
'client_id' => 'SEU_CLIENT_ID',
'client_secret' => 'SEU_CLIENT_SECRET',
'redirect_uri' => URL_DO_SEU_SITE . '/autenticacao/google/oauth2callback',
'scope' => 'email'
),
'Twitter' => array(
'app_id' => 'SUA_APP_ID',
'app_secret' => 'SUA_APP_SECRET',
),
]
],