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

在尝试使用JavaScript生成七牛云的accessToken时遇到问题,返回错误{'error': 'bad token'}。代码中使用了crypto库进行HMAC-SHA1签名,并通过七牛云的utils.js进行Base64编码,但操作仍失败。检查点包括签名算法、密钥使用和编码过程。
摘要由CSDN通过智能技术生成

这是我写的请求代码

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()

);

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值