laravel JWT/jwt安装使用

本文详细介绍了Laravel中JWT(JSON Web Token)的安装过程,包括在`composer.json`中添加依赖并执行`composer install`。在使用部分,讲解了如何全局定义错误处理,设置用户模型关联,以及如何通过token获取用户、生成token。还涵盖了登录、退出、刷新token和返回用户信息的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://learnku.com/articles/10885/full-use-of-jwt

安装

composer.json的require中加入下面的包,composer install

"tymon/jwt-auth": "1.0.0-rc4.1"
在 config/app.php 中provider中添加

Tymon\JWTAuth\Providers\LaravelServiceProvider::class,  
在 config/app.php 中aliases中添加

'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,
发布配置文件
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"


生成密钥
php artisan jwt:secret

使用

先引入下面内容:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
config/auth.php
api->driver=>'token',修改为'jwt'
'api' => [
    'drive
laravel lcobucci/jwt是一个用于生成和验证JSON Web Tokens(JWT)的Laravel扩展包。它提供了一组方法和类,可以方便地创建和解析JWT,并提供了一些参数来定义JWT的属性。 安装lcobucci/jwt的步骤如下: 1. 在composer.json文件中添加"lcobucci/jwt": "^3.4"的版本依赖项,并运行composer install命令进行安装。 2. 安装OpenSSL扩展以支持JWT的加密和解密功能。 lcobucci/jwt提供了一些参数来定义JWT的属性: - iss(issuer):JWT的签发人,可以是发布者的URL地址。 - sub(subject):JWT所面向的用户,用于处理特定应用。 - aud(audience):受众人,可以是客户端的URL地址,用于验证是否是指定的人或URL。 - exp(expiration):JWT的过期时间,以UNIX时间戳表示。 - nbf(not before):JWT的可用时间不能早于该时间,以UNIX时间戳表示。 - iat(issued at):JWT的发布时间,以UNIX时间戳表示。 - jti(JWT ID):JWT的唯一ID编号。 在使用lcobucci/jwt时,你可以创建和解析JWT,以及验证JWT的有效性。以下是一个在Laravel控制器中使用lcobucci/jwt的示例代码: ```php <?php namespace App\Http\Controllers; use App\Tools\Service; use Illuminate\Http\Request; class TestController extends Controller { public function token() { // 生成token $token = Service::createToken(); // 解析token // $parse = Service::parseToken($token); // 验证token try { Service::validationToken($token); $json = [ "code" => 200, "message" => "Token验证通过", "sucess" => "ok" ]; return $json; } catch (\Exception $exception) { var_dump($exception->getMessage()); } } } ``` 以上示例代码展示了如何在TestController控制器中使用lcobucci/jwt来生成、解析和验证JWT。 总结来说,laravel lcobucci/jwt是一个用于生成和验证JSON Web Tokens的Laravel扩展包,它提供了一组方法和类来方便地创建和解析JWT,并提供了一些参数来定义JWT的属性。你可以在Laravel控制器中使用lcobucci/jwt来处理JWT相关的操作。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [badaso:Laravel无头CMS(SPA仪表板+ CRUD + API生成器等)](https://download.youkuaiyun.com/download/weixin_42118770/15836642)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [laravel包lcobucci/jwt](https://blog.youkuaiyun.com/weiguang102/article/details/120169317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值