搭建 JWT

搭建 JWT

安装

composer require tymon/jwt-auth

发布配置文件

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

生成密钥

php artisan jwt:secret

配置 Auth guard

修改 config/auth.php

...
'guards' => [
    ...
    'api' => [
        'driver' => 'jwt',
        'provider' => 'users',
    ],
    ...
],
...

User Model 更改

修改 app/User.php

<?php
...
use Tymon\JWTAuth\Contracts\JWTSubject;

class User extends Authenticatable implements JWTSubject
{
    ...
    /**
     * Get the identifier that will be stored in the subject claim of the JWT.
     *
     * @return mixed
     */
    public function getJWTIdentifier()
    {
        return $this->getKey();
    }

    /**
     * Return a key value array, containing any custom claims to be added to the JWT.
     *
     * @return array
     */
    public function getJWTCustomClaims()
    {
        return [];
    }
}

implements JWTSubject 记得加

JWT 认证逻辑

内容是:GitHub 上的 app/Http/Controllers/V1/AuthController.php

无痛刷新 token

创建自定义中间件 RefreshToken

php artisan make:middleware RefreshToken

内容是:GitHub 上的 app/Http/Middleware/RefreshToken.php

注册自定义中间件。修改 app/Http/Kernel.php,添加:

    ...
    protected $routeMiddleware = [
        ...
        'refresh' => \App\Http\Middleware\RefreshToken::class,
    ];
    ...

参考

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
小李世界
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~