由于是自己使用,我的token是直接在客户端用JavaScript生成,但在使用过程中,发现有时生成的token可以用,有时生成的token在上传的时候提示:
客户端认证授权失败。请重试或提交反馈。(401:bad token)
有谁知道是咋回事不?
生成token的代码:
function get_token(){
var deadlinetime=Math.round(new Date().getTime() / 1000) + 1 * 3600
var PutPolicyjson=getPutPolicy(deadlinetime);
PutPolicyjson=JSON.stringify(PutPolicyjson);
var encoded = base64encode(utf16to8(PutPolicyjson));
var hash = CryptoJS.HmacSHA1(encoded, my_api_secret);
var encoded_signed = hash.toString(CryptoJS.enc.Base64);
var myuptoken=my_key+":"+encoded_signed+":"+encoded;
return myuptoken;
}
七牛的技术已经解决了, 验证过,已经解决
客户支持 (七牛客户支持)
3月12日 18:24
您好,可能是这个原因
URL安全的Base64编码适用于以URL方式传递Base64编码结果的场景。该编码方式的基本过程是先将内容以Base64格式编码为字符串,然后检查该结果字符串,将字符串中的加号+换成中划线-,并且将斜杠/换成下划线_,同时尾部保持填充等号=。
参考:
http://developer.qiniu.com/docs/v6/api/overview/appendix.html#urlsafe-base64