记 laravel dingo/api  JSON Web Tokens (JWT) 更改默认 auth guard

本文档记录了如何在 Laravel 项目中使用 Dingo/API 和 JSON Web Tokens (JWT) 修改默认的 auth guard。主要内容包括路由定义和中间件的设置,旨在实现 JWT 认证的自定义配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

记 laravel dingo/api  JSON Web Tokens (JWT) 更改默认 auth guard

 

路由定义

$api = app('Dingo\Api\Routing\Router');

$api->version('v1', function ($api) {
    $api->group([
        'as'        => 'api.sys',
        'prefix'    => 'sys',
        'namespace' => "App\\Api\\Controllers\\Sys"
    ], function ($api) {
        //账户密码登录生成token
        $api->post('authorizations', 'AuthorizationsController@store')
            ->name('.authorizations');

        $api->group([
            'middleware' => [
                'auth:apiSys', #################### 本文重点 #### auth认证要写在中间件前面,中间件中才会根据指定的 guard 进行处理
                'api.sys'
            ]
        ], function ($api) {

            // 刷新token
            $api->put('authorizations/current', 'AuthorizationsController@update')
                ->name('.authorizations.update');
            // 删除token
            $api->delete('authorizations/current', 'AuthorizationsController@destroy')
                ->name('.authorizations.destroy');
        });
    });
});

 

中间件

use Tymon\JWTAuth\Http\Middleware\BaseMiddleware;

class SysJWTAuth extends BaseMiddleware
{

    //
    //request > auth config > router auth: > middleware 
    public function handle($request, Closure $next)
    {
        $this->authenticate($request);

        return $next($request);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值