下面分享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();
}
最佳答案
