Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • v2.3.2
  • v2.3.1
  • v2.3.0
  • v2.2.0
  • v2.1.2
  • v2.1.1
  • v2.1.0
  • v2.0.0
  • v0.1.0
10 results

lupinus

  • Clone with SSH
  • Clone with HTTPS
  • Status

    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,
            ],
        ],
    1. Добавить в нужный роут 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;
            });
        }
    
        // ...