Laravel5 JWT

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cc2415/article/details/80107452

在使用laravel集成的JWT的过程中遇到的坑

laravel官方的集成简介

环境:laravel5.3+window+phpstudy

正常的使用方式

//设置token
$user = User::first();
//在这里会把user表中的所有字段都会添加进去payload中,在上一行代码使用User::select('id','name')->first()还是没有用,还是一样会把所有的字段都添加了
$token = JWTAuth::fromUser($user);


//获取token
//在请求中加上header,这个按照文档来
$user = JWTAuth::parseToken()->authenticate();
//这样可以拿到用户的信息了

//如果想要自定义字段信息,就有可能遇下面问题

自定义数据

如果你按照官网的代码直接输入以上的代码,会提示异常:JWT payload does not contain the required claims,这是因为在config\jwt.php 中有一个参数jwt.php
这里设置必须要有的payload,可以去掉

当你自定义完了数据了,没有文档说怎么取。通过查看vender发现在目录\vendor\tymon\jwt-auth\src\Providers\JWT\NamshiAdapter.php这个文件下有decode,他返回的是Payload对象继续寻找源码\vendor/tymon/jwt-auth/src/Payload.php文件中有get方法,这个获得自定义的claim 最终这样
获取解析

>如果有不对的地方欢迎指正

欢迎关注我的简书

猜你喜欢

转载自blog.csdn.net/cc2415/article/details/80107452