乐趣区

TP51验证Token和Electronvue头部携带Token

TP5.1 验证 Token 和 Electron-vue 头部携带 Token

博客阐明

文章所波及的材料来自互联网整顿和集体总结,意在于集体学习和教训汇总,如有什么中央侵权,请分割自己删除,谢谢!

介绍

在做一个 Electron-vue 的我的项目的时候须要应用到登录,应用 TP5.1 作为后盾框架,正规的流程是在 Electron-vue 中携带 Token 信息,在 TP5.1 中验证 Token 来判断是否过期

Electron-vue 头部携带 Token

在配置拦截器的时候配置申请头

// request 拦截器
service.interceptors.request.use(config => {if (store.getters.token) {config.headers['Authorization'] = store.getters.token// 让每个申请携带自定义 token 请依据理论状况自行批改
  }
  return config
}, error => {
  // Do something with request error
  console.log(error) // for debug
  Promise.reject(error)
})

留神这个 Authorization 必须是在后端跨域的 Access-Control-Allow-Headers 参数中有的,比方

Access-Control-Allow-Origin:*
Access-Control-Allow-Methods:GET, POST, PATCH, PUT, DELETE
Access-Control-Allow-Headers:Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With

TP5.1 验证 Token

首先在路由的时候设置中间件

而后咱们的验证就写在这个中间件外面

public function handle($request, \Closure $next)
    {
        // 获取头部信息
        $param = $request->header();
        // 不含 token
        if (!array_key_exists('authorization', $param)) TApiException('非法 token,禁止操作', 20003, 200);
        // 以后用户 token 是否存在(是否登录)$token = $param['authorization'];
        $user = Cache::get($token);
        // 验证失败(未登录或已过期)if (!$user) TApiException('非法 token,请从新登录', 20003, 200);
        // 将 token 和 userid 这类罕用参数放在 request 中
        $request->userToken = $token;
        return $next($request);
    }

这样通过配置过的路由都会验证 Token,以此来判断用户是否登录

感激

万能的网络

以及勤奋的本人

退出移动版