自己尝试生成七牛云的accessToken,但一直返回{"error":"bad token"}

这是我写的请求代码

var utils = require('./common/utils');
var http = require('http');


// var str = crypto.createHmac('sha1', 'qRLm5sjVOQmzdIRsx1mF9G8gseXC1r4BXZas3E8WY51z')
//     .update('/buckets').digest().toString('base64');

var token = utils.encodeSign('/buckets', 'qRLm5sjVOQmzdIRsx1mF9G8gseXC1r4BXZas3E8WY51z');

console.log(token);

var option = {
    host: 'rs.qbox.me',
    path: '/buckets',
    header: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': `QBox 2H2hsnPVgPEHVumhuIstl7YEB6wsJ8sOkLvsLhLM5Ug:${token}`
    }
};

http.get(option, function (res) {
    var datastore = '';

    res.on('data', function (chunk) {
        datastore += chunk;
    });

    res.on('end', function (error)  {
        if (error) console.log(error);

        console.log(datastore);
    });
});

我尝试使用了七牛云的 uitls.js 来生成 accessToken,但还是失败了

var crypto = require('crypto');
var fs = require('fs');

var utils = exports;

utils.safeEncode = function(str) {
  var encoded = new Buffer(str).toString('base64');
  var rtn = encoded.replace(/\//g, '_').replace(/\+/g, '-');

  return rtn;
};

utils.encodeSign = function(str, key) {
  return utils.safeEncode(
    crypto
      .createHmac('sha1', key)
      .update(str)
      .digest()
  );
};
阅读 2.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题