Skip to content

Latest commit

 

History

History
122 lines (92 loc) · 4.12 KB

README.md

File metadata and controls

122 lines (92 loc) · 4.12 KB

MultipleLocalAuth

Plugin que implementa um método de autenticação local para o Mapas Culturais, em conjunto com login via redes sociais.

Instalação e Configuração

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:

  1. Ativar o plugin
  2. Configurar MultipleLocalAuth como seu Provider de autenticação
  3. 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', 
        ),
    ]
],