You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Pablo 2811122cfa Initial commit 10 months ago
resources/images Initial commit 10 months ago
src Initial commit 10 months ago
.gitignore Initial commit 10 months ago
README.md Initial commit 10 months ago
composer.json Initial commit 10 months ago
composer.lock Initial commit 10 months ago

README.md

A&3 Logo

Ae3 Auth

Esta lib padroniza o processo de autenticação e gerência de senhas utilizados na Ae3

Requisitos

  • PHP >= 8.1
  • Laravel >= 10.*
  • Composer >= v2

Como configurar o projeto?

  1. Adicione este repositório à lista de repositórios do composer em seu projeto laravel.
{
  "repositories": [
    {
      "type": "git",
      "url": ""
    }
  ]
}


  1. Execute o comando a seguir para baixar esta lib ao vendor do seu projeto.
composer require pablo/ae3auth
  1. Configure as variáveis abaixo no .env do seu projeto.
USERS_TABLE="Nome da tabela de usuários | users"
MIN_PASSWORD_LENGTH="Tamanho mínimo da senha | 8"
PASSWORD_HISTORY_TABLE="Nome da tabela de senhas a serem mantidas na base de dados | password_histories"
MAX_STORE_PASSWORDS="Quantidade máxima de senhas | 3"
USERNAME_COLUMN="Nome da coluna de usuário | username"
FORCE_CHANGE_COLUMN_NAME="Nome da coluna de alteração | force_change_password"
EXPIRES_PASSWORD_COLUMN_NAME="Nome da coluna de expiração | password_expires_at"
USER_MODEL="Modelo de usuário | App\\Models\\User"
PASSWORD_COLUMN="Nome da coluna de senha | password"
  1. Execute o comando abaixo para criar a tabela de usuários e a tabela de senhas.
php artisan ae3auth:publish
  1. Execute o comando abaixo para criar as tabelas de usuários e senhas.
php artisan migrate
  1. Validação de senhas

Para validar a nova senha do usuário, no FormRequest, adicione a seguinte regra:

use Pablo\Ae3auth\app\Rules\CheckUsedPasswordRule;

public function rules(): array
{
    return [
        '<campo_username' => '<rules>',
        'password' => [
            Password::defaults(),
            new CheckUsedPasswordRule()
        ],
    ];
}
  1. Invalidando senhas expiradas

Para invalidar as senhas expiradas, execute o comando abaixo:

php artisan ae3auth:invalidate-expired-passwords

Ou adicione a chamada para o comando no arquivo de schedule do seu projeto para ser executado pelo cron do sistema.

Versão 10.*: Adicione ao arquivo app\Console\Kernel.php:

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        ...
        $schedule->command('ae3auth:invalidate-expired-passwords')->daily();
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

Versão >= 11.*: Adicione ao arquivo routes/console.php:

...
use \Illuminate\Support\Facades\Schedule;

...
Schedule::call('ae3auth:invalidate-expired-passwords')->daily();