PHP code example of lghs / laravel-keycloak-guard

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

    

lghs / laravel-keycloak-guard example snippets


'redirect_url' => '/admin',

'redirect_guest' => 'hello',

'routes' => [
    'login' => 'login',
    'logout' => 'logout',
    'register' => 'register',
    'callback' => 'callback',
]

'guards' => [
    'web' => [
        'driver' => 'keycloak',
        'provider' => 'users',
    ],

    // ...
],

'providers' => [
    'users' => [
        'driver' => 'keycloak-users',
        'model' => Lghs\KeycloakGuard\Models\User::class,
    ],

    // ...
]

if (Gate::denies('keycloak', 'manage-account')) {
  return abort(403);
}

if (Gate::denies('keycloak', ['manage-account'])) {
  return abort(403);
}

if (Gate::denies('keycloak', 'manage-account', 'another-resource')) {
  return abort(403);
}

$this->middleware('keycloak-roles:manage-something-cool');

// For multiple roles, separate with '|'
$this->middleware('keycloak-roles:manage-something-cool|manage-something-nice|manage-my-application');

// On RouteServiceProvider.php for example

Route::prefix('admin')
  ->middleware('keycloak')
  ->namespace($this->namespace)
  ->group(base_path('routes/web.php'));

// Or with Route facade in another place

Route::group(['middleware' => 'keycloak'], function () {
    Route::get('/admin', 'Controller@admin');
});

// On your EncryptCookies middleware

class EncryptCookies extends Middleware
{
    protected $except = [];

    public function __construct(EncrypterContract $encrypter)
    {
        parent::__construct($encrypter);

        /**
         * This will disable in runtime.
         *
         * If you have a "session.cookie" option or don't care about changing the app name
         * (in another environment, for example), you can only add it to "$except" array on top
         */
        $this->disableFor(config('session.cookie'));
    }
}


php artisan vendor:publish  --provider="Lghs\KeycloakGuard\KeycloakServiceProvider"