taneryener/laravel-jwt-validate

0.0.2 2023-03-14 04:35 UTC

This package is not auto-updated.

Last update: 2024-09-24 11:31:24 UTC


README

本包旨在用于具有多个Laravel应用程序协同工作的架构中,其中一个应用程序使用通过非对称加密算法(目前为RS256)生成的密钥签发JWT。这主要是为了在服务导向架构中使用Laravel Passport令牌,其中可能只有Auth服务能够访问所有认证数据。

JWT Validate将使用您主安装的公钥检查传入认证令牌的完整性。它还将使用您JWT中编码的数据填充用户模型,并通过常规的Auth::user()使其可用。

请注意,Passport Validate不应在已使用Laravel Passport的项目中使用。此包仅适用于可能无法访问OAuth私钥、Passport数据库表或其他Laravel Passport所需元素的应用程序。

安装

通过Composer安装

composer require jobilla/laravel-jwt-validate

添加认证配置

要启用保护器,请将以下内容添加到您的config/auth.php

<?php

return [
    // ...

    'guards' => [
        // ...
        
        'jwt' => [
            'driver' => 'jwt-validate',
            'public_key_path' => storage_path('oauth-public.key'),
            'hydrator' => function (array $claims, \Illuminate\Http\Request $request) {
                return new App\User(['id' => $claims['sub']]);
            },
        ]
    ]
];

您可以选择使用此作为默认保护器,并可能用此替换默认的api保护器。