TP5.1驗證Token和Electron-vue頭部攜帶Token


TP5.1驗證Token和Electron-vue頭部攜帶Token

博客說明

文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗匯總,如有什么地方侵權,請聯系本人刪除,謝謝!

介紹

在做一個Electron-vue的項目的時候需要使用到登錄,使用TP5.1作為后台框架,正規的流程是在Electron-vue中攜帶Token信息,在TP5.1中驗證Token來判斷是否過期

Electron-vue頭部攜帶Token

在配置攔截器的時候配置請求頭

image-20200710130323399

// 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

首先在路由的時候設置中間件

image-20200710130712029

然后我們的驗證就寫在這個中間件里面

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,以此來判斷用戶是否登錄

感謝

萬能的網絡

以及勤勞的自己

關注公眾號: 歸子莫,獲取更多的資料,還有更長的學習計划


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM