shadoll/lupinus

v2.3.2 2020-05-28 16:35 UTC

This package is auto-updated.

Last update: 2024-10-14 18:21:09 UTC


README

Latest Stable Version pipeline status License

doc

doc

doc

doc

Настройка (для laravel)

Закрытие Api запросов

  1. Подключить провайдер
    // config/app.php

    /*
     * Application Service Providers...
     */
    // ...
    Lupinus\Lara\AuthServiceProvider::class,
    
  1. Опубликовать конфиг файл php artisan vendor:publish --provider="Lupinus\Lara\AuthServiceProvider"

    • Настроить файл (это сводится к копированию OIDC таблицы (в json) с сервера keycloak) в переменную $OIDC_JSON
  2. В конфиге config/auth.php

     // config/auth.php
    
     'guards' => [
         'web' => [
             'driver' => 'session',
             'provider' => 'users',
         ],
    
         'api' => [
             'driver' => 'keycloak', // <- set to keycloak
             'provider' => 'users',
             'hash' => false,
         ],
     ],
    
  3. Добавить в нужный роут middleware


    Route::prefix('api/v1')
        ->middleware('auth:api') // <-
        ->...;

Admin keycloak

Для работы с keycloak в роли администратора необходимо определить переменные окружения LUPINUS_AUTH_USERNAME и LUPINUS_AUTH_PASSWORD

Для Закрытие Api запросов admin не нужен (только в случае если понадобятся роли)

Закрытие Horizon

Необходим Admin keycloak

  1. В App\Http\Kernel в секцию $routeMiddleware добавить 'horizon.auth' => \Lupinus\Lara\HorizonAuth::class,

  2. В конфиг файле horizon.php добавить


    'middleware' => ['web', 'horizon.auth'], // <- к существующему web добавить horizon.auth

    'roles' => ['horizon'], // <- добавить роли (по необходимости)
  1. В App\Providers\HorizonServiceProvider переопределить метод authorization: (так как авторизация будет проводится через Middleware)
    // ...

    protected function authorization()
    {
        Horizon::auth(function ($request) {
            return true;
        });
    }

    // ...