PHP code example of waventra / laravel-identity

1. Go to this page and download the library: Download waventra/laravel-identity 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/ */

    

waventra / laravel-identity example snippets


use Illuminate\Foundation\Auth\User as Authenticatable;
use Waventra\Identity\Traits\HasIdentity;
use Waventra\Jwt\Contracts\JwtSubject;

class User extends Authenticatable implements JwtSubject
{
    use HasIdentity;
}

'user' => [
    'model' => App\Models\User::class,
    'table' => 'users',
],

'guards' => [
    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
    ],
],

use Waventra\Identity\Facades\Identity;

$pair = Identity::attempt(['email' => $email, 'password' => $password], $request);
$pair = Identity::issue($user, $request);
Identity::refresh($refreshToken, $request);
Identity::logout($request->bearerToken(), $refreshToken, $request);
Identity::logoutAll($user);

Route::middleware(['jwt.auth', 'role:admin'])->get('/admin', ...);
Route::middleware(['jwt.auth', 'permission:users.create'])->post('/users', ...);

use Waventra\Identity\Facades\Identity;

Identity::createRole('admin');
Identity::createPermission('users.create');

$role = Identity::findRole('admin');
$role->givePermissionTo('users.create');

$user->assignRole('admin');
$user->givePermissionTo('users.delete');

$user->hasRole('admin');
$user->hasPermissionTo('users.create');
$user->hasAnyRole(['admin', 'editor']);
$user->hasAllPermissions(['users.create', 'users.delete']);

$user->can('users.create');

Route::get('/users', ...)->middleware('role:admin');
Route::post('/users', ...)->middleware('permission:users.create');
Route::get('/settings', ...)->middleware('role_or_permission:admin|settings.edit');

$team = $user->createTeam('Acme');

$team->addMember($other, 'admin');
$user->switchTeam($team);
$user->belongsToTeam($team);
$user->isOwnerOf($team);
$user->hasTeamRole($team, ['owner', 'admin']);

$invitation = $user->inviteToTeam($team, '[email protected]', 'member');
$jane->acceptTeamInvitation($invitation->token);

$user->assignRole('editor', $team);
$user->hasRole('editor', $team);

Identity::setTeam($team);
$user->hasPermissionTo('posts.publish');
Identity::forgetTeam();
bash
php artisan vendor:publish --tag=identity-config
php artisan migrate
bash
php artisan jwt:generate-keys