为了更加灵活的对淘宝开放平台开放的数据进行安全管控, 降低用户数据泄露或者被恶意修改的风险。淘宝开放平台对API或者API字段打了R1,R2,W1,W2四类安全级别的标记,和对开发者的应用打了0,1,2,3四种安全级别的标记。 与R1,R2,W1,W2对应的是在session key(access token)颁发时增加了4个过期时间:r1_expires_in、r2_expires_in、w1_expires_in、w2_expires_in。这4个值分别用来表示此sessionkey调用各级别API或字段的有效期。?原来的短授权方式已经停止使用,请大家不用再加“&scope=”参数进行短授权了。用户授权请参考《用户授权介绍》。
关于订单接口R2字段出现用户隐私数据(包括收货人联系方式、收货地址等) *** 模糊化字段的情况,和应用安全等级没有关系,是开放平台为了保护用户隐私数据信息安全所做的调整。如果您的应用是商家后台系统,想要获取该类明文数据,请按照文档完成聚石塔入驻流程,入驻完成后使用 塔内IP 发起调用,即可获取明文数据。如果您的应用是ERP类目,或者商家后台系统从聚石塔 塔内IP 调用API,但返回的数据还是模糊化带*的,可以 提交工单 申请R2去模糊化。注意:appkey非自研商家应用&非erp商家应用,不支持R2数据去模糊化,请使用自研应用或者erp应用获取订单数据。?
不需要修改程序升级的情况:
第一种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中没有W2或者R2打标;
第二种情况:APPKEY的安全等级为3。
需要修改程序升级的情况:
第一种情况:APPKEY的安全等级为0;
第二种情况:APPKEY的安全等级为1,2,并且访问的API或者字段中有W2或者R2打标。
TOP开放的全部API中,有部分API(或API中的部分字段)由于涉及读取/操作用户敏感性数据。
根据API(或API Field)所涉及的私密等级,以及风险的严重程度,将API(或API Field)为为以下等级:
R1:普通用户信息的读操作;
R2:敏感用户信息的读操作,例如用户手机号码、详细地址等;
W1:普通用户或用户关联信息的写操作,例如商品的一般属性等;
W2:高危用户或用户关联信息的写操作,例如商品的价格属性等;
应用访问策略:只允许自己访问,小部分人访问,所有人访问。
请重点关注被TOP定义为W2级(Write Level 2)的API,在调用这些API的授权时长将单独计算,并且相对普通授权时间大幅缩短。它们是:
API安全等级 |
API |
API类型 |
涉及字段 |
字段说明 |
W2 |
开放 |
整个API |
||
增值 |
整个API |
|||
增值 |
整个API |
|||
增值 |
整个API |
|||
增值 |
整个API |
|||
增值 |
整个API |
|||
增值 |
整个API |
|||
增值 |
整个API |
|||
开放 |
整个API |
TOP对于每一个APPKEY,都会认定其应用安全级别,共分为0,1,2,3四级,APPKEY的安全等级,决定了其访问R2、W2 API的授权时长。计算方式:
可登录【开放平台控制台】-【应用管理】- 【概览】-【APP证书】管理页面查看:
APPKEY安全等级 |
API和字段安全等级 |
session时长 |
是否可刷新 |
refresh时长 |
3级 |
R1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
上架应用与订购时长一致,非上架应用与当前设置的时长一致 |
R2 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
||
W1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
||
W2 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
||
2级 |
R1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
上架应用与订购时长一致,非上架应用默认24小时 |
R2 |
3天 |
是 |
||
W1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
||
W2 |
30分钟 |
否 |
||
1级 |
R1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
上架应用与订购时长一致,非上架应用默认24小时 |
R2 |
1天 |
否 |
||
W1 |
上架应用与订购时长一致,非上架应用默认24小时 |
是 |
||
W2 |
5分钟 |
否 |
||
0级 |
R1 |
30分钟 |
否 |
0分钟 |
R2 |
0分钟 |
否 |
||
W1 |
30分钟 |
否 |
||
W2 |
0分钟 |
否 |
例如一个安全等级为2级的应用,在用户授权后颁发一个session key(access token),同时会返回4个过期时间:r1_expires_in=2160000(单位秒,下同)、r2_expires_in=259200、w1_expires_in=2160000、w2_expires_in=1800。
这些时长的含义如下:
(1)session key颁发后1800秒内,APP可以使用这个session key调用w2级别的API或字段。另外3个过期时间含义相同。
(2)session key颁发后超过1800秒,APP不可以再使用这个session key调用w2级别的API或字段。另外3个过期时间含义相同。
(3)对于本例来说如果R2级别的授权过期了,可以使用refresh token刷新一下R2的授权时长。刷新后使用新返回的session key(access token)又可以重新调用R2级别的API或字段。
(4)对于本例来说如果w2级别的授权过期了,如上表格所示w2级别的授权是不能刷新的。所以APP需要引导用户到授权页面重新授权 。
标签名称 |
正式测试环境 |
上线运行中 |
备注 |
IT工具类 |
24小时 |
订购时长绑定 |
|
无线买家应用 |
24小时 |
24小时 |
已停止接入 |
xTao合作网站 |
24小时 |
24小时 |
已停止接入 |
商家后台系统 |
24小时 |
1年 |
|
店铺模块前台 |
无session |
无session |
已停止接入 |
店铺模块后台 |
24小时 |
订购时长绑定 |
已停止接入 |
新业务 |
24小时 |
1个月 |
授权使用文档:用户授权介绍。
1. 首先确认应用是否处于影响范围内。
判断方式, 我的应用有无调用(在报表中心查看我的应用调用记录)API安全等级中定义的R2、W2 级别的API(详细列表:如上介绍),如果应用有调用,则需要根据新的规则,对应用进行一定改造以免影响基本功能。举例:应用A有使用taobao.promotion.coupon.add中的创建店铺优惠券功能(此API安全等级为W2),则A应用需要进行一定改造。
2. 查看当前应用所处的应用安全等级。
3. ISV需要根据实际使用场景修改应用或者升级应用的安全等级。
提高安全等级有3个方法,服务器托管报备、设置IP白名单、设置小部分人使用(主要)。方法分别如下:
登录开放平台控制台 --【开发】--【我的应用】-【应用管理】-【安全中心】- 【IP白名单设置】页面设置,如下。
如果您的应用已经使用托管服务器,请点击【确认已托管】按钮。
报备成功后,您的应用的安全等级会被提升,并请在IP白名单中设置您的托管服务器的IP地址。
如果您的应用未使用托管服务器,请点击【取消】按钮。
登录开放平台控制台 --【开发】--【我的应用】-【应用管理】-【安全中心】- 【IP白名单设置】页面设置,如下。
IP白名单是您用来调用API的服务器IP地址,设置后可以防止您的AppKey被其他服务器盗用,查看更多。
设置IP白名单会影响您的应用安全指数, 查看更多。
仅第三方应用、非自用型应用、在线订购等应用可以设置小部分人使用,商家自研系统需要做授权报备处理。 具体点击查看。
1. 我们的应用,现在加了IP白名单,然后没有主机托管万网, 也就是 安全等级=1?
答:加了IP白名单或者主机托管安全等级为1,如果既加入了IP白名单又托管了万网,安全等级为2。
2. 安全等级=1,访问R2数据,session时长=1天,如果在 第23个小时,我们用该session调用了一次API,这个session时长会顺延1天吗?还是说 自用户授权后? 只管1天, 跟我们调用不调用没关系?
答:安全等级为1的时候,必须要用户重新登录,R2的session才会延长一天。当安全等级为2的时候,需要开发者在3天内,通过access token重新refresh一下,才会顺延三天,不需要用户登录。
注:现在top协议和Oauth2.0两种登录授权方式都是支持refresh token的。
3. 手机客户端无法绑定IP,是否能够得到R2,W2这些安全等级高的数据?
答:目前官方提供了IOS版的SDK,可以来保证从IOS请求过来的数据安全性,通过IOS SDK调用API会有与应用安全等级为2的APPKEY享有相同的敏感数据授权时长。
安全等级为2的授权时长:参见上面的应用对应的授权时长规则。
4. 安全等级授权过期会返回以下几个错误:
R1字段过期返回:Insufficient security level:R1 security authorize invalid。
R2字段过期返回:Insufficient security level:R2 security authorize invalid。
W1字段过期返回:Insufficient security level:W1 security authorize invalid。
W2字段过期返回:Insufficient security level:W2 security authorize invalid。
答:解决办法为重新top登录授权或者oauth2.0登录授权一次,延长授权时长。
5. 为什么全部都进行设置安全等级还是2级?
答:【非自研】使用的应用,【部分应用】的安全等级【最高只能到2级】。