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 
  • 相关阅读:
    Pycharm使用
    解决TortoiseGit下载代码每次要输入用户名、密码
    GitLab创建项目
    【编码格式错误】SyntaxError: Non-UTF-8 code starting with
    C 位段,位域
    跳跃表 -- 随机平衡原理
    PHP 中的新语法 new static 是个啥意思?
    位运算之——按位与(&)操作——(快速取模算法)
    Redis Scan迭代器遍历操作原理(一)
    Redis Scan迭代器遍历操作原理(二)
  • 原文地址:https://www.cnblogs.com/agang-php/p/10468509.html
Copyright © 2011-2022 走看看