JWTAuth 使用与常见错误

本文详细介绍了在Laravel 5.1环境下使用tymon/jwt-auth包实现JWT登录认证的过程,包括常见错误及解决方案,如配置缓存清理等。

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

首先,按照教程安装:https://laravel-china.org/articles/10885/full-use-of-jwt#ff18c5

然后,在使用JWTAuth时,一般情况下,按照官方的流程安装是不会出现问题的,但是,往往由于本地环境的问题,经常会遇到一些奇怪的错误。先介绍一下本文的案例:

环境:laravel5.1、tymon/jwt-auth =1.*@rc

目标:登陆时生成token,

,保存在session中,需登陆的接口必须通过路由中间件的校验,该中间件对token进行验证。

错误:

已经在postman导入token,仍然提示

由此可见是捕获到异常,下面就是对对应的异常进行分析:

然后postman打印:

毫无头绪,然后再对代码中if判断语句进行分析,看看是那边出错,由于handle方法是别人写的而且在其他项目里正常运行了,所以作者就ctrl+c了,结果发现是这边错了:

修改if中代码:

即可。但是问题还没有解决,在其他项目中这个方法是没有错误的,而在这边却报错,好在移除后对结果暂未发现影响,但原因还有待调查。

注意事项:

在使用JWTAuth时注意其User模型的命名空间,因为User模型在刚创建的项目中一般是在app目录下,而有多个模型时大家都习惯将其放入一个新建的Models文件夹中,命名空间会由原来的App\User;变为:App\Models\User;注意修改config/auth.php中model值。还有就是按照教程执行脚本生成的jwt.php中一般没有'user' => 'App\Models\User',,最好加上,以免报错。

 

好了下面说点本地开发中经常会遇到的问题,在我开发的过程中经常在修改配置文件后,输出依旧,这往往并不是由于错误,而是配置的缓存为销毁,缓存一般存在storage\framework\cache下,建议在项目根目录下执行脚本:php artisan cache:clear、php artisan config:cache、php artisan view:clear

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值