下载凭证,上传凭证、管理凭证,它们都是在业务服务器生成的吗?客户端需要先访问业务服务器,得到相应的凭证后,才能向七牛云执行相应的操作?如果是怎样,客户端从业务服务器拿到相应的凭证后访问七牛云,七牛云是如何验证的?在验证凭证期间,七牛云需要与业务服务器进行交互吗?
另外,这些个凭证是不是只在将空间设置为私有时才用得到?
想问一下,当我按照文档介绍执行下载操作时,报错:{"error":"download token auth failed"}是什么原因,我觉得各个步骤都是按照说明来的。还有,开发文档里有没有关于纠错或典型错误说明的介绍?
具体的编程模型可以参考 http://developer.qiniu.com/docs/v6/api/overview/programming-model.html。
1. 三种凭证都是要求在服务端生成的,因为都需要accessKey和secretKey通过对不同的内容进行签名得到。
2. 上传中,客户端需要向业务服务器请求上传凭证,才能进行对七牛空间的上传操作;下载中,针对私有空间资源或者原图保护空间中不带数据处理样式的资源下载,需要向服务端请求下载凭证,拼接url之后进行下载;对空间进行管理操作的时候,客户端需要向服务端请求管理凭证,才能对空间资源进行管理操作。
3. 凭证的验证,七牛通过凭证中指定的明文accessKey对应检索到secretKey,然后执行和用户一致的签名动作,验证签名结果是否正确。
4. 在验证凭证期间不需要七牛和业务服务器进行交互。
5. 上传凭证和管理凭证,在任何对应操作的时候都需要生成,并经过七牛的验证才能操作成功;但是下载凭证只需要私有空间才有必要操作。