七牛返回 key doesn't match with scope问题出在哪?

我使用了七牛提供的GO SDK,想使用前缀key来上传文件。通过后台生成token,并把scope、token返回给前台以调用。现在我使用不了,返回403。报文如下:

------WebKitFormBoundaryZzki5eh3EmZUghAk
Content-Disposition: form-data; name="token"

drSjyXqBRKIi_Obksj6lKBa-m1fNe2CSHBBdxwqm:WdNoSM3ZZGR9W2GDGw1q68rVrAI=:eyJzY29wZSI6ImJhY2tncm91bmRtYW5hZ2U6dGVzdCIsImRlYWRsaW5lIjoxNTAxODQ0NDg5LCJpc1ByZWZpeGFsU2NvcGUiOjF9
------WebKitFormBoundaryZzki5eh3EmZUghAk
Content-Disposition: form-data; name="key"

backgroundmanage:test
------WebKitFormBoundaryZzki5eh3EmZUghAk
Content-Disposition: form-data; name="file"; filename="1469664186665521.jpg"
Content-Type: image/jpeg


------WebKitFormBoundaryZzki5eh3EmZUghAk--

在报文中,key我使用了backgroundmanage:test,在token中,最后一节经过base64解码后json为:

{"scope":"backgroundmanage:test","deadline":1501844489,"isPrefixalScope":1}

而七牛返回给我的报文如下:(httpCode:403)

{"error":"key doesn't match with scope"}
阅读 6.9k
评论 2017-08-04 提问
    2 个回答
    xuzhuo
    • 128

    您好,key doesn't match with scope 报错大部分原因是由于您在上传token中指定的key 与上传方法中设置的不一致导致的。

    评论 赞赏

      楼上xuzhuo已经说出错误原因

      python解决方法:

      1.生成token哪一步需要提前写入key值
      2.前台上传的时候需要填入key值和token值
      
      第二种方法:
      1. 生成token时,key=None 就可以

      具体参考:http://www.chenxm.cc/post/288...

      评论 赞赏
        撰写回答

        登录后参与交流、获取后续更新提醒

        七牛云存储问答
        合作问答

        七牛云存储 联合 SegmentFault 共同推出技术问答专区,为开发者们提供社区支持和帮助。在这里,你将直接...