thinkphp,结合七牛,简单代码生成token

浏览:5221 发布日期:2017/01/30 分类:技术分享 关键字: 七牛,token,js-sdk
用七牛的js-sdk,结合七牛上传token,快速搭建前端上传模块,避免通过服务器上传到七牛,把压力转移到前端,大大减少服务器的压力
下面分享token生成的方法,private function createScope(){
        $scopeData["scope"]="my_backupname";
        $scopeData["deadline"]=time()+3600;
        return json_encode($scopeData);
    }
    
    private function base64_urlSafeEncode($data){
        $find = array('+', '/');
        $replace = array('-', '_');
        return str_replace($find, $replace, base64_encode($data));
    }
    
    private function encodedPutPolicy(){
        return $this->base64_urlSafeEncode($this->createScope());
    }
    
    private function encodedSign(){
        $hmac = hash_hmac('sha1', $this->encodedPutPolicy(), C("QINIU_SK"), true);
        return $this->base64_urlSafeEncode($hmac);
    }
    
    public function uptokens(){
        //hidejson();
        header("Content-type: text/json; charset=utf-8"); 
        $tokenData["success"]=true;
        $tokenData["code"]=200;
        $tokenData["msg"]="操作成功";
        $tokenData["obj"]=null;
        $tokenData["map"]["expire"]="3600";
        $tokenData["map"]["token"] = C("QINIU_AK") . ':' . $this->encodedSign() . ':' . $this->encodedPutPolicy();
        $tokenData["list"]=null;
        echo json_encode($tokenData);
        exit();
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>