第一步的“生成待签名的原始字符串:”看不懂啊,
抽取请求URL中《path》或《path》?《query》的部分与请求内容部分(即HTTP Body),用“\n”连接起来。
如无请求内容,该部分必须为空字符串。
注意:当Content-Type为application/x-www-form-urlencoded时,签名内容必须包括请求内容(即HTTP Body)。
如例子给的
假设有如下的管理请求:
AccessKey = "MY_ACCESS_KEY"
SecretKey = "MY_SECRET_KEY"
url = "http://rs.qiniu.com/move/bmV3ZG9jczpmaW5kX21hbi50eHQ=/bmV3ZG9jczpmaW5kLm1hbi50eHQ="
则待签名的原始字符串是:
signingStr = "/move/bmV3ZG9jczpmaW5kX21hbi50eHQ=/bmV3ZG9jczpmaW5kLm1hbi50eHQ=\n"
这里的signingStr我没看到"?"的存在啊,还有为什么url中有两个bmV3ZG9jczpmaW5kX21hbi50eHQ=这是什么意思啊,还有\n是在这里表示什么啊,是换行标识吗,还是就是\n 例如我要拼接url的字符串时是这样+"\n",还是这样+"\\n",
啊 请原谅我的菜 谢谢啦。
签名的例子,是对move接口的签名,签名的字符串本质上是move接口处理操作,
\n
是分割签名字符串url和body的分隔符,其中move操作引文没有body,所以这里的\n
后面没有实际的内容;签名凭证本质上并不硬性需要开发者去实现,七牛的服务端的SDK,所有需要管理凭证的操作都会直接分装在具体的操作接口中,所以如果要使用类似资源管理操作或者持久化处理操作,直接调用接口就可以,签名方法在接口中都已经实现。