安装 JWT
composer require tymon/jwt-auth
发布配置
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
执行此命令会在 app/config 下生成 jwt.php 的配置文件。
在此请注意一个地方,在 jwt.php 中有个配置项:
'ttl' => env('JWT_TTL', 60),
这里代表的意思是 token 过期的时间,默认为一小时。一般情况下不建议进行更改,因为 token 的时间越长,危险系数就越高。如果是测试的话,可以根据实际情况进行更改。一个小时的时间明显是无法满足实际使用需求,尤其是给微信端做 api 接口。因此,不更改过期时间,需要做 token 刷新。
生成密钥
执行:php artisan jwt:secret
提示:
jwt-auth secret [CHZqhRMbuoUjkQ4iiZIhazbcRLmIsqL5QmYxeIGpWaMuJoaf7ip0v1uteuqiUAbW] set successfully.
配置到.env
JWT_SECRET=CHZqhRMbuoUjkQ4iiZIhazbcRLmIsqL5QmYxeIGpWaMuJoaf7ip0v1uteuqiUAbW
<?php
namespace App\Models;
use Tymon\JWTAuth\Contracts\JWTSubject;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable i