php jwt 实例,Laravel框架JWT-auth使用实例

0x01 安装composer require tymon/jwt-auth 0.5.*

0x02 配置

安装完成后,需要在config/app.php中注册相应的服务提供者:

providers下:Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,

aliases下:'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class

'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class

然后发布相应配置文件:php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"

生成密钥:php artisan jwt:generate

修改API验证方式:

config/auth.php中的'api' => [

'driver' => 'jwt',//原来是token

'provider' => 'users',

],

修改Appuser.php<?php

namespace App;

use Illuminate\Notifications\Notifiable;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable

{

use Notifiable;

/**

* 白名单 $fillable 属性指定了哪些字段支持批量赋值

* @var array

*/

protected $fillable = ['guid', 'username', 'tel', 'password', 'pic', 'balance', 'status', 'addtime'];

/**

* 模型所使用的数据库表

* @var string

*/

protected $table = 'data_users';//改为你的用户表

/**

* 自定义主键

*/

protected $primaryKey = 'guid';//改为你的主键

/**

* 关闭 递增

*/

public $incrementing = false;

/**

* 关闭 创建时间 与 更新时间的自动维护

*/

public $timestamps = false;

/**

* The attributes that should be hidden for arrays.

*

* @var array

*/

protected $hidden = [

'password', 'remember_token',

];

}

路由:Route::group(['namespace' => 'Home','middleware' => ['api','response']],function (){

//商品列表+详情

Route::resource('/goodslist','GoodsController');

//商品分类

Route::resource('/class','ClassController');

//需要登陆才能查看的接口

Route::group(['middleware' => ['jwt.auth']],function (){

//购物车

Route::resource('/cart','CartController');

});

});

0x03 创建token需要引入的:

use App\user;

use JWTAuth;

//查询一条数据,并输出token$user = User::first();

$token = JWTAuth::fromUser($user);

0x04 获取tokenpublic function index(Response $response)

{

//获取用户信息

$user = JWTAuth::toUser(Input::get('token'));

//获取购物车信息

$cart = self::$cartService->getCart($user->id);

//判断是否有值

if (empty($cart) || ($cart->count() <= 0)){

return $response->setStatusCode(404);

}

return $cart;

}

0x05 总结不知道是我打开方式不对还是什么情况,其中有很多地方我都不小心踩过坑。。。哎。如有问题或者不同的建议,请点击上方的关于我,联系!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值