Skip to content

Latest commit

 

History

History
104 lines (74 loc) · 3.25 KB

token.md

File metadata and controls

104 lines (74 loc) · 3.25 KB

简介

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

格式

qshell token qbox [--access-key <AccessKey> --secret-key <SecretKey>] [--http-body <Body>] [--content-type <Type>] <Url>
qshell token qiniu [--access-key <AccessKey> --secret-key <SecretKey>] [--http-body <Body>] [--content-type <Type>] [--method <Method>] <Url>
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]
}

上传策略的各个参数详解

例子

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

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

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

$ qshell b64encode "tonypublic:test.mov"

得到dG9ueXB1YmxpYzp0ZXN0Lm1vdg==

第二步, 计算, 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的信息:

$ url '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}

二.计算上传token

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

{
    "scope": "tonypublic"
}

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

$ qshell token upload upload.conf

得到UpToken 3-pH6WfqAXTwzgG2s3FNMUW0NtkUu5cJLQCfU3Hd:EYUNznmCcnlhFU5a126AKwmoHgE=:eyJzY29wZSI6InRvbnlwdWJsaWMiLCJkZWFkbGluZSI6MTU0NDQzMjY5MH0=