搭建一个已有用户体系的云盘系统
本文档介绍如何基于PDS搭建一个拥有已有用户体系的云盘系统。云盘系统将使用已有的用户登录界面,适用于已有用户体系的应用对接。
1. 准备工作
开通网盘与相册服务。如果没有开通,请到产品详情页面开通。
产品授权。第一次登录控制台: https://pds.console.aliyun.com, 会弹出授权提示,需要同意授权。如果已经授权过,请忽略。
2. 创建域
域(domain):是一个独立的资源空间,比如一个分发系统或一个网盘系统。
2.1登录PDS官网控制台,创建一个域。
点击”创建域”按钮, 打开创建域面板

数据存储方式,选择“标准模式”。
初始化云盘: 启用初始化云盘设置后。用户登录后可自动拥有云盘空间。
3. 服务端调用管理接口接入
服务端有两种方式获取最终用户的access_token: 通过阿里云AccessKey方式通过JWT方式
3.1 AccessKey方式:
3.1.1 创建子用户生成AccessKey并授权
RAM 控制台 https://ram.console.aliyun.com 创建用户,并创建AK,并授予相关权限( GetToken权限 )。

点击创建用户按钮

勾选OpenAPI调用访问。

创建好后注意保存AccessKeyID和AccessKeySecret,只出现一次。
3.1.2 给子用户授权
在用户列表找到刚才创建的用户,添加权限。

搜索找到 AliyunPDSFullAccess,添加。

至此,该用户已经拥有调用 PDS 接口的所有权限。
注意:生产环境下建议使用自定义的权限策略,尽量缩小权限的范围,只保留调用需要的接口的权限,遵循最小权限原则。
最后调用接口获取最终用户access_token:AccessKey获取用户token
3.2 JWT方式:
3.2.1 创建应用
进入域详情,在应用列表界面,创建一个应用:

3.2.2 设置公钥
应用创建好后,点击”设置公钥”:

生成公私钥:
生成公私钥后,记得复制私钥,自己保存。然后点确定即可。

最后调用接口获取最终用户access_token:JWT获取用户token
4. 集成 SDK
4.1 方式一:使用自己开发的云盘应用界面

接入步骤:
用户先通过业务系统自己的登录页面认证。
认证成功后,服务端通过内部的UserID获取到最终用户在PDS的access_token。
服务端将access_token返回给客户端。客户端通过AccessToken 访问 PDS的业务API。
4.2方式二:使用官方PDSBasicUI应用
如果使用官方 BasicUI 应用, 需要先允许 BasicUI 访问您的域:

然后需要以超级管理员登入一次,以同步数据:

用例图:

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