zoukankan      html  css  js  c++  java
  • laravel 前后端分离 token

    由于自己开发的项目中用到了 JWT 技术,前端采用了 Vue.js 框架,后端采用了 CodeIgniter 框架,故作此文帮助使用相同技术栈的朋友们。

    具体思路如下:
    把后端生成的 JWT token 存入 localStorage,然后前端切换路由(刷新页面)的时候,通过 Ajax 请求的时候带上这个 token,提交给后端判断当前的 token 是否有效,后端返回结果。

    JWT 用处很多,可以用于后台权限的限制、接口安全性校验。

    https://segmentfault.com/a/1190000010444825

    https://blog.sakuradon.com/index.php/archives/349/

    https://jwt-auth.readthedocs.io/en/develop/quick-start/

    https://medium.com/employbl/build-authentication-into-your-laravel-api-with-json-web-tokens-jwt-cd223ace8d1a

    https://jwt.io/introduction/

    http://www.luohun.org/index.php/archives/27//www/wn-kiki-admin-server/app/User.php

        /**
         * 关闭 递增
         */
        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 Appuser;
    use JWTAuth;
    
    //查询一条数据,并输出token
    
     $user = User::first();
    
        $token = JWTAuth::fromUser($user);
    
    

    0x04 获取token

    
    
    
    public 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;
        }


    http://www.sunfengxiang.com/1097.html

    Json Web Token(JWT)简介



    https://learnku.com/articles/10885/full-use-of-jwt 
  • 相关阅读:
    对象形式传递
    解决DLNA方案的技术框架
    关于DLNA
    MAC配置Xcode的Cocos2d-x环境
    什么叫做双缓冲?
    Window7 Cocos2d-x配置开发环境
    Windows 8.1 Update 2更新了什么?
    微软发布Windows Phone 8.1 Update 和中文版Cortana“小娜”
    大开眼界 游览Facebook香港办公室
    小米的“假照片”危机
  • 原文地址:https://www.cnblogs.com/agang-php/p/10468509.html
Copyright © 2011-2022 走看看