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 8a02e44472 Atualização da versão do sanctum e PHP 10 months ago
resources/images Initial commit 10 months ago
src Initial commit 10 months ago
.gitignore Initial commit 10 months ago
README.md Link para o repositorio 10 months ago
composer.json Atualização da versão do sanctum e PHP 10 months ago
composer.lock Atualização da versão do sanctum e PHP 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": "https://github.com/Pablo304/auth"
    }
  ]
}


  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();