Skip to content

Latest commit

 

History

History
115 lines (96 loc) · 3.7 KB

token.md

File metadata and controls

115 lines (96 loc) · 3.7 KB

简介

token 是用来计算 Qbox token, Qiniu Token, Upload Token 的命令。

帮助文档

可以在命令行输入如下命令获取帮助文档:

// 简单描述
$ qshell token -h 

// 详细文档(此文档)
$ qshell token --doc

QBox token

QBox token 格式

qshell token qbox [--access-key <AccessKey> --secret-key <SecretKey>] [--http-body <Body>] [--content-type <Type>] <Url>

QBox token 示例

1 七牛的 stat 接口,可以获取一个 bucket 中的文件信息, 详细文档。 这个接口需要计算 QBox Token, 那么我们可以使用 qshell token qbox <Url> 这个命令来计算。 Url 的格式为: http://<Host>/<Path>

从接口文档,我们可以看到 Host 是 rs.qiniu.com, Path是 /stat/<EncodedEntryURI>, <EncodeEntryURI> 的计算方式参考 文档, 可以通过 qshell b64encode 来计算这个值。

假设我们需要拿到文件 test.mov 的信息, 这个文件存储在七牛的存储空间 tonypublic 中,那么, 第一步, 计算 <EncodeEntryURI>

$ qshell b64encode "tonypublic:test.mov"

得到 dG9ueXB1YmxpYzp0ZXN0Lm1vdg==

第二步, 计算 <Url>, URL = http://rs.qiniu.com/stat/dG9ueXB1YmxpYzp0ZXN0Lm1vdg==

第三步, 计算 Qbox Token:

$ qshell token qbox http://rs.qiniu.com/stat/dG9ueXB1YmxpYzp0ZXN0Lm1vdg==

得到 qbox token : QBox 3-pH6WfqAXTwzgG2s3FNMUW0NtkUu5cJLQCfU3Hd:d5rmqx_xsKILoNa61qDHMxUMtp8=

第四步, 通过 curl 发送 http 请求,拿到 test.mov 的信息:

$ curl 'http://rs.qiniu.com/stat/dG9ueXB1YmxpYzp0ZXN0Lm1vdg==' -H "Authorization: QBox 3-pH6WfqAXTwzgG2s3FNMUW0NtkUu5cJLQCfU3Hd:d5rmqx_xsKILoNa61qDHMxUMtp8="

得到该文件的信息如下:

{"fsize":94633760,"hash":"lhuYnUQEvCavdrNrrz82nEWSSqsB","md5":"LPkxXhSLb5fb9fxrLUghkA==","mimeType":"text/html","putTime":15289618585925391,"type":0}

Qiniu token

Qiniu token 格式

qshell token qiniu [--access-key <AccessKey> --secret-key <SecretKey>] [--http-body <Body>] [--content-type <Type>] [--method <Method>] <Url>

Qiniu token 示例

参考 QBox token

Upload token

用以上传接口的签名。

Upload token 格式

qshell token upload <PutPolicyConfigFile>

计算 upload token 需要上传策略配置文件, 配置文件支持的全部参数如下:

{
	"scope"                     : "",
	"deadline"                  : <Unix时间戳>,
	"isPrefixalScope"         : [1|0],
	"insertOnly"               : [1|0],
	"detectMime"               : [1|0],
	"fsizeLimit"               : <限制文件的大小>,
	"mimeLimit"                : <限制允许上传的文件MimeType>,
	"saveKey"                  : <自定义上传的资源名>,
	"callbackFetchKey"        : "",
	"callbackUrl"              : <回调地址>,
	"callbackHost"             : <回调Host>,
	"callbackBody"             : <回调Body>,
	"callbackBodyType"        : <回调ContentType>,
	"returnUrl"                : "",
	"returnBody"               : "",
	"persistentOps"            : "",
	"persistentNotifyUrl"     : "",
	"persistentPipeline"       : "",
	"endUser"                  : "",
	"deleteAfterDays"         : "",
	"fileType"                 : [1|0]
}

上传策略的各个参数 详解

Upload token 示例

上传策略配置文件 upload.conf 内容为:

{
    "scope": "tonypublic"
}

可以使用如下的命令计算:

$ qshell token upload upload.conf

得到

UpToken 3-pH6WfqAXTwzgG2s3FNMUW0NtkUu5cJLQCfU3Hd:EYUNznmCcnlhFU5a126AKwmoHgE=:eyJzY29wZSI6InRvbnlwdWJsaWMiLCJkZWFkbGluZSI6MTU0NDQzMjY5MH0=