fbkl/lupinus

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

This package is auto-updated.

Last update: 2024-09-14 17:53:43 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"

    • 配置文件(将 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. 添加必要的路由中间件


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

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

    // ...