Laravel8 + JWT auth 多表登录

本文介绍了如何使用 Laravel8 和 JWT 进行多表API认证,包括安装JWT库、注册服务提供者、配置多模型区分认证、生成数据表、创建路由、控制器、中间件和测试接口等步骤。
摘要由CSDN通过智能技术生成

使用 JWT 方式来实现 API 多用户多表认证

1、先使用 composer 安装 jwt-auth 执行下面命令

composer require tymon/jwt-auth

2、 注册服务提供者 config/app.php

'providers' => [
    .../
    Tymon\JWTAuth\Providers\LaravelServiceProvider::class,
]

'aliases' => [
    .../
    'JWTAuth' => 'Tymon\JWTAuth\Facades\JWTAuth',
    'JWTFactory' => 'Tymon\JWTAuth\Facades\JWTFactory',
]

3、发布生成配置文件

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

4、使用以下命令生成密钥

php artisan jwt:secret

5、配置多 guard 来区分认证 打开 config/auth.php

    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'jwt',  // 默认是 token
            'provider' => 'users',
        ],
        // 新增admins 模块
        'admin' => [
            'driver' => 'jwt',
            'provider' => 'admins',
        ]
    ],


    'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Admin::class,
    ]
],

6、生成相应的数据表 执行下面命令 php artisan make:model Models/Admin -m 生成 model 与对应的表

Schema::create('admins', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('mobile')->unique();
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });

7、执行 php artisan migrate 生成表结构,执行下面 sql 语句生成数据

# users 表
insert into `users` ( `name`,  `mobile`,`email`, `password`, `remember_token`, `crea
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值