shadoll/lupinus

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

This package is auto-updated.

Last update: 2024-09-14 18:09:50 UTC


README

Latest Stable Version pipeline status License

文档

文档

文档

文档

配置(用于laravel)

关闭Api请求

  1. 连接提供者
    // config/app.php

    /*
     * Application Service Providers...
     */
    // ...
    Lupinus\Lara\AuthServiceProvider::class,
    
  1. 发布配置文件 php artisan vendor:publish --provider="Lupinus\Lara\AuthServiceProvider"

    • 配置文件(这涉及到将服务器 keycloak 上的 OIDC 表(在json中)复制到变量 $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. 添加必要的路由中间件


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

Admin keycloak

要作为管理员与 keycloak 一起工作,需要定义环境变量 LUPINUS_AUTH_USERNAMELUPINUS_AUTH_PASSWORD

对于 关闭Api请求,管理员不是必需的(除非需要角色)

关闭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 方法:(因为将通过中间件进行身份验证)
    // ...

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

    // ...