本文档介绍如何基于PDS搭建一个拥有已有用户体系的云盘系统。云盘系统将使用已有的用户登录界面,适用于已有用户体系的应用对接。
1. 准备工作
-
开通网盘与相册服务。如果没有开通,请到产品详情页面开通。
-
产品授权。第一次登录控制台: https://pds.console.aliyun.com, 会弹出授权提示,需要同意授权。如果已经授权过,请忽略。
2. 创建域
域(domain):是一个独立的资源空间,比如一个分发系统或一个网盘系统。
2.1登录PDS官网控制台,创建一个域。
点击”创建域”按钮, 打开创建域面板
在名称中填写云盘Demo,默认个人空间大小选择自定义大小并设置为10 GB,单击确认完成创建。
数据存储方式,选择“标准模式”。
用户个人空间: 启用用户个人空间设置后。用户第一次登录成功后,系统会自动为其创建一个云盘空间。
3. 服务端调用管理接口接入
服务端有两种方式获取最终用户的 access_token: 通过阿里云AccessKey方式通过JWT方式
3.1 AccessKey方式:
3.1.1 创建子用户生成AccessKey并授权
RAM 控制台 https://ram.console.aliyun.com 创建用户,并创建AK,并授予相关权限( GetToken权限 )。
点击创建用户按钮
在创建用户页面,填写登录名称和显示名称。
勾选使用永久 AccessKey 访问。
创建好后注意保存AccessKeyID和AccessKeySecret,只出现一次。
3.1.2 给子用户授权
在用户列表找到刚才创建的用户,添加权限。
搜索找到 AliyunPDSFullAccess,添加。
在新增授权页面,将资源范围设置为账号级别,在权限策略区域搜索并勾选 AliyunPDSFullAccess 系统策略后单击确定。
至此,该用户已经拥有调用 PDS 接口的所有权限。
注意:生产环境下建议使用自定义的权限策略,尽量缩小权限的范围,只保留调用需要的接口的权限,遵循最小权限原则。
最后调用接口获取最终用户AccessToken: AccessKey调接口接入
3.2 JWT方式:
3.2.1 创建应用
进入域详情,在应用列表界面,创建一个应用:
选择应用访问方式为以应用身份访问,类型选择以JWT鉴权方式访问,填写应用名称(例如 Demo云盘)。权限范围选择自定义,勾选所需权限(如 DRIVE.ALL、SHARE.ALL、FILE.ALL、USER.ALL、STORAGE.ALL、STORAGEFILE.LIST、ACCOUNT.ALL、BATCH),单击确定。
3.2.2 设置公钥
应用创建好后,点击”设置公钥”:
生成公私钥:在弹出的设置公钥对话框中,单击没有公私钥对,点此生成公私钥对链接生成公私钥对,并将生成的公钥填入公钥PEM输入框。
生成公私钥后,记得复制私钥,自己保存。然后点确定即可。
最后调用接口获取最终用户 AccessToken:JWT应用接入
4. 集成 SDK
4.1 方式一:使用自己开发的云盘应用界面

接入步骤:
-
用户先通过业务系统自己的登录页面认证。
-
认证成功后,服务端通过内部的UserID获取到最终用户在PDS的
AccessToken。 -
服务端将
AccessToken返回给客户端。客户端通过AccessToken访问 API概览。
4.2方式二:使用官方PDSBasicUI应用
如果使用官方 BasicUI 应用, 需要先允许 BasicUI 访问您的域:
在域详情页面单击应用列表 Tab,在官方应用列表中找到 BasicUI,单击其操作列的允许访问。
然后需要以超级管理员登入一次,以同步数据:
在域详情页选择应用列表 Tab,在官方应用列表中找到 BasicUI,单击其操作列的进入管理。
用例图:

-
用户先通过已有的登录页面登录。
-
需要打开官方 BasicUI 应用界面的时候,登录后界面
window.open('https://'+domainId+'.apps.aliyunpds.com/accesstoken?origin='+location.origin)。 -
登录后界面等待 BasicUI postMessage 回来表示 Ready。
-
登录后界面请求服务端使用 “JWT应用接入” 签发 AccessToken。
-
登录后界面拿到 AccessToken 后,postMessage 给BasicUI。
-
BasicUI 拿到 AccessToken 后,通过AccessToken 访问 API概览。