Laravel6.0 使用 Jwt-auth 实现多用户接口认证

本文详细介绍了如何在Laravel6.0中使用Jwt-auth为后台管理员(admins)、商户后台(merchants)及小程序前端用户(users)分别实现接口认证。涉及数据库表创建、路由设置、模型创建、Auth guard配置、中间件使用以及第三方包安装和配置等步骤。
摘要由CSDN通过智能技术生成

后台管理员认证 (admins表)

首先创建数据库和表(admins),在 routes/api.php 中,写上如下路由并创建对应控制器和方法。

Route::namespace('Api')->group(function () {
   
    /***
     * 管理员后台接口路由
     */
    Route::prefix('admin')->namespace('Admin')->group(function () {
   
        Route::post('register', 'AdminController@register');
        Route::post('login', 'AdminController@login');
    });
    Route::prefix('admin')->namespace('Admin')->group(function () {
   
        Route::get('/', 'HomeController@index'); //后台首页
    });
});

1、安装 jwt-auth

composer require tymon/jwt-auth:dev-develop

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

Tymon\JWTAuth\Providers\LaravelServiceProvider::class,

3、生成配置文件

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

此命令会在 config 目录下生成一个 jwt.php 配置文件

4、生成密钥

php artisan jwt:secret

此命令会在你的 .env 文件中新增一行 JWT_SECRET=secret

5、创建 admins 表迁移文件

php artisan make:migration create_admins_table

添加如下代码:

public function up()
{
   
    Schema::create('admins', function (Blueprint $table) {
   
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

执行迁移:

php artisan migrate

此时查看数据库,对应的 admins 表已生成。

6、创建模型

由于我们这里后台管理员设置的是 admins 表,所以需创建对应模型,执行如下命令:

php artisan make:model Models/Admin

里面添加如下代码:

<?php

namespace App\Models;

use Tymon\JWTAuth\Contracts\JWTSubject;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class Admin extends Authenticatable implements JWTSubject
{
   
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值