使用Object接口一直返回bad token

接口文档如下:

GET /list?bucket=<Bucket>&marker=<Marker>&limit=<Limit>&prefix=<UrlEncodedPrefix>&delimiter=<UrlEncodedDelimiter> HTTP/1.1
Host:           rsf.qbox.me
Content-Type:   application/x-www-form-urlencoded
Authorization:  QBox <AccessToken>

我在服务端调用该接口的过程中,通过加密管理凭证的算法将AccessToken添加在了Authorization头部中(采用nodeJS),在使用中间件进行请求的过程中一直返回bad token,算法的运算有验证过文档中给的例子,得到的encodedSign是正确的

let signingStr = '/list?bucket=bucketName\n'
let encodedSign = crypto.HmacSHA1(signingStr, secretKey).toString(crypto.enc.Base64)
let AccessToken = `${accessKey}:${encodedSign}`
request({
  url: 'http://rsf.qbox.me/list?bucket=bucketName',
  method: 'GET',
  header: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Authorization': `QBox ${AccessToken}`
  }
}

所以到底一次正常的接口请求是怎样的?

阅读 2.9k
1 个回答

只看这部分代码,base64那里有一点问题,需要safe_base64编码,可以改下这里看看。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
七牛云问答
子站问答
访问
宣传栏