📜  Laravel 的 Jwt - PHP (1)

📅  最后修改于: 2023-12-03 15:02:37.950000             🧑  作者: Mango

Laravel 的 Jwt - PHP

什么是 Jwt?

Jwt 全称为 Json Web Token,是一种基于 JSON 格式的轻量级的授权和认证方式。

Laravel Jwt

Laravel Jwt 是一个第三方库,用于在 Laravel 应用程序中实现 Json Web Token(Jwt)。

安装

可以通过 Composer 包管理器安装 Laravel Jwt:

composer require tymon/jwt-auth
配置

1.添加 ServiceProvider 到 app.php

'providers' => [

        // ...

        Tymon\JWTAuth\Providers\LaravelServiceProvider::class,
]

2.添加 Facade 到 app.php

'aliases' => [

        // ...
        'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
        'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,
]

3.发布配置文件

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

执行上述命令后会在 config 目录下生成 jwt.php 文件,里面包含 Jwt 的相关配置。

使用

1. 生成 token

$user = User::find(1);
$token = JWTAuth::fromUser($user);

2. 验证 token

try {
    $payload = JWTAuth::parseToken()->getPayload();
} catch (JWTException $e) {
    // token 不合法
}

3. 刷新 token

$refreshedToken = JWTAuth::refresh($token);

更多用法可以参考官方文档:https://jwt-auth.readthedocs.io/en/develop/laravel-installation/

总结

Laravel Jwt 是一个方便实用的认证和授权的第三方库,对于需要实现 Jwt 的项目来说,可以极大的方便开发。

参考文献