素材牛VIP会员
自己尝试生成七牛云的accessToken,但一直返回{"error":"bad token"}
 问***m  分类:Node.js  人气:2045  回帖:1  发布于6年前 收藏

这是我写的请求代码

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()
  );
};
 标签:node.js

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv5 码农
青***1 JAVA开发工程师 6年前#1
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取