PHP code example of mevisoft / auth-accounts-luisml

1. Go to this page and download the library: Download mevisoft/auth-accounts-luisml library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

mevisoft / auth-accounts-luisml example snippets


   Route::middleware(['auth', 'accounts.access', 'accounts.activity'])->group(function () {
       // rutas protegidas
   });
   

use LuisML\AccountsClient\Concerns\HasAccountsRoles;
use LuisML\AccountsClient\Roles;

class User extends Authenticatable
{
    use HasAccountsRoles; // columna accounts_roles (la añade la migración del paquete)
}

$user->hasAccountsRole(Roles::ADMIN);

'user_resolver' => App\Actions\Accounts\ResolveAccountsUser::class,

public function __invoke(Identity $identity): ?Authenticatable
{
    $user = ($this->resolveModelUser)($identity); // LuisML\AccountsClient\Actions\ResolveModelUser

    if ($user?->wasRecentlyCreated) {
        // crear equipo personal, asignar rol por defecto, etc.
    }

    return $user;
}

public function actingAs(Authenticatable $user, $guard = null): static
{
    return parent::actingAs($user, $guard)->withSession(['accounts.session' => [
        'subject' => 'test-subject',
        'access_token' => Crypt::encryptString('access-token'),
        'refresh_token' => Crypt::encryptString('refresh-token'),
        'access_expires_at' => now()->addHour()->getTimestamp(),
        'validated_until' => now()->addMinute()->getTimestamp(),
        'session_expires_at' => null,
        'last_report_at' => now()->getTimestamp(),
    ]]);
}
bash
   php artisan accounts:install --migrate