Skip to content

Commit

Permalink
doc(fix): fix file token docs;
Browse files Browse the repository at this point in the history
  • Loading branch information
maslow committed Jan 10, 2022
1 parent 635e931 commit 543e51a
Showing 1 changed file with 21 additions and 21 deletions.
42 changes: 21 additions & 21 deletions docs/guide/storage/token.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

### 文件访问令牌(Token)机制

Laf 提供基于 `bucket` (文件桶)方式管理的文件存储服务。
Expand All @@ -13,39 +12,40 @@ Laf 提供基于 `bucket` (文件桶)方式管理的文件存储服务。
云函数示例:生成可从`test` 桶中上传和下载的 token:

```ts
import cloud from '@/cloud'
import cloud from "@/cloud";

exports.main = async function (ctx) {
const payload = {
ns: 'test',
ops: 'rwdl',
ns: `${cloud.appid}_test`,
op: "rwdl",
// token 有效期为 24 小时,请务必提供此 `exp` 字段,详见 JWT 文档。
exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24,
}
exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24,
};

const file_token = cloud.getToken(payload)
console.log(file_token)
const file_token = cloud.getToken(payload);
console.log(file_token);

return file_token
}
return file_token;
};
```

### 使用文件令牌

只需在请求文件操作的 URL Query 中加个 `token` 字段即可:

```js
const token = 'xxxxx'
const url = `http://localhost:8000/file/public?token=${token}`
console.log(url)
const token = "xxxxx";
const url = `http://appid_public.fs.local-dev.host:8080/?token=${token}`;
console.log(url);
```

### 附:《文件令牌 Payload 结构》

```ts
{
ns: string, // 授权的文件桶名字,需要在前面拼上 `${appid}_`
ops: string[], // 授权的文件操作,可以是以下值之一或组合, 'create' | 'read' | 'delete' | 'list' (暂未支持 deletelist
fn?: string, // 可选的文件名,如果指定,则该 token 只能访问此文件名
exp: number // 过期时间,时间截
}
```
```ts
{
ns: string, // 授权的文件桶名字,需要在前面拼上 `${appid}_`
op: string[], // 授权的文件操作,可以是以下值之一或组合, 'r' | 'w' | 'd' | 'l' 分别对应 read、write、deletelist 操作
fn?: string, // 可选的文件名,如果指定,则该 token 只能访问此文件名
exp: number // 过期时间,时间截(秒)
}
```

0 comments on commit 543e51a

Please sign in to comment.