利用Redis單點登入跨伺服器的方法

SmallForest發表於2019-02-16
  1. 登入的時候,獲取userid對應的oldtoken刪除掉,再設定新的token,Redis設定

    $userid = 20;//登入成功獲取ID
    $oldtoken = $redis->get($userid);
    if($oldtoken){//存在舊的直接刪除
        $redis->del($oldtoken);
    }
    $access_token = rand(10000,99999);//舉例子
    $redis->set($userid,$access_token);//如果想限制時間就填寫第三個引數timeout
    $redis->set($access_token,$userid);//如果想限制時間就填寫第三個引數timeout
  2. 請求資料的時候獲取userid對應的token,判斷token的值的內容,獲取不到資料就不返回資料

    //解密校驗串獲取access_token
    $access_token = 12348;//請求方不攜帶
    if($redis->get($access_token){
        //驗證通過
    }else{
        return false;
    }

這個不能規避安全性問題,需要每次請求的時候攜帶校驗串【非對稱加密】

相關文章