japostulo/middleware-passport

提供中间件以集成到laravel passport进行用户信息检查的包

v1.1.2 2022-12-28 09:05 UTC

This package is auto-updated.

Last update: 2024-09-28 13:30:23 UTC


README

License

要求

  • Laravel >= 8.0
  • 具有两个端点的API SSO实现
    • introspect - 返回用户信息的端点
    • authenticate - 仅返回布尔值(异常将被处理)的端点

快速安装

composer require japostulo/middleware-passport

配置

在.env文件中需要添加您的SSO URI

SSO_URL=https://:8000

插件提供了两个中间件,可以用于用户信息检查或仅用于授权访问受保护的端点。需要在app/Http/Kernel.php文件中注册,例如:

protected $routeMiddleware = [
        'sso.client' => \Japostulo\MiddlewarePassport\Middlewares\ClientAuthenticate::class,
        'sso.password' => \Japostulo\MiddlewarePassport\Middlewares\PasswordAuthenticate::class,
    ];

如果您需要访问用户数据(Auth::user()$request->user()),则需要使用PasswordAuthenticate中间件,您的app\Models\User.php类将通过门面返回new User实例

快速测试

routes/api.php

Route::middleware('sso.client')->get('/test-authenticated', function () {
        return response()->json("I'm authenticated");
});

Route::middleware('sso.password')->get('/test-introspect', function () {
    return response()->json(Auth::user());
});