【平台介绍】
诚信通是阿里巴巴为从事中国国内贸易的中小企业推出的会员制网上贸易服务。主要用以解决网络贸易信用问题,是建立在阿里巴巴上的摊位。
通过这个摊位可直接销售产品,并宣传企业和产品。
【授权说明】
诚信通是授权型平台。
appKey:商家ID
appSecret:秘钥
access_token:授权码
【获取方式】
一、注册开发者身份,需同时具备以下两个条件:
1、具备一个阿里巴巴中国站帐号;
2、必须绑定了通过个人实名(公司企业)认证的支付宝帐号;个人开发者必须绑定通过个人实名认证的支付宝账号,企业开发者必须绑定通过商家认证的支付宝账号;
二、开发者身份绑定的支付宝账户用于产品分成结算的收款账户。因此为了确认您的身份和安全考虑,必须通过支付宝认证。
三、支付宝实名认证流程请参考:支付宝认证手册
四、已经注册为开发者后,需要更改支付宝,请线下提交申请,具体审核流程请参考如下流程:
五、获取证书
1)什么是应用证书:证书指的是开发者在阿里巴巴开放平台创建应用是默认给开发者的应用开发证书。证书包含四个内容:
证书编号:App Key
证书密钥:App Secret
接口权限:开发者可以调用的API权限,包含基础开放与增值包
证书流量:应用可以调用API的流量限制
也就是“权限+流量+appkey+app secret=证书”,每个应用都有对应的应用开发证书,在应用创建时开发者获得证书。
2)什么是App Key?
App Key是应用的唯一标识,阿里巴巴开放平台通过App Key来鉴别应用的身份。
3)什么是App Secret?
AppSecret是阿里巴巴开放平台给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的可靠性,防止被伪造。
应用程序可通过调用开放平台提供的API获取到阿里巴巴的会员、交易等数据,因为涉及数据隐私,所以在使用前必须获得阿里巴巴会员的授权,才可以调用API(公开数据除外)。而Access_token则做为用户唯一的授权标识。
阿里巴巴开放平台采用OAuth 2.0作为授权协议,授权流程可以简单归纳为:
(1)获取临时令牌;
(2)用临时令牌换取长时令牌以及访问令牌;
(3)访问令牌过期后用长时令牌刷新访问令牌。
关于临时令牌、访问令牌以及长时令牌的介绍请参考下一节概念介绍
授权分类
1)托管式授权
第三方开发者提供的app会托管在应用市场进行售卖,用户要通过应用市场访问app,那么这样的app就要采用托管式授权方式。
2)WEB端授权
第三方开发者提供的app属于网页应用,但是不在应用市场售卖,可以自用或者自行售卖,用户直接在浏览器中输入app入口地址即可访问,
那么这样的app就要采用WEB授权方式。
3)客户端授权
第三方开发者提供的app属于客户端应用,用户需要下载应用到本地客户端才能使用,那么这样的app就要采用客户端授权方式。
托管式授权流程详解
第三方开发者提供的app会托管在应用市场进行售卖,用户要通过应用市场访问app,那么这样的app就要采用托管式授权方式。
授权及使用授权时序图
托管式授权是指将授权托管给应用市场,由应用市场发出授权请求的方式。
1) 用户通过应用市场使用app
2) 应用市场向1688开放平台发起授权请求
3) 如果用户没有授权或者授权过期,需要输入用户名密码,并确认授权;否则跳到下一步
4) 应用市场获得临时令牌code,并302跳转到app入口地址,同时带入参数code
5) app使用code换取access_token
https://gw.open.1688.com/openapi/http/1/system.oauth2/getToken/YOUR_APPKEY?grant_type=authorization_code&need_refresh_token=true&client_id= YOUR_APPKEY&client_secret= YOUR_APPSECRET&redirect_uri=YOUR_REDIRECT_URI&code=CODE
注:此接口必须使用POST方法提交;必须使用httpsgetToken接口参数说明:
a) grant_type为授权类型,使用authorization_code即可
b) need_refresh_token为是否需要返回refresh_token,如果返回了refresh_token,原来获取的refresh_token也不会失效,除非超过半年有效期
c) client_id为app唯一标识,即appKey
d) client_secret为app密钥
e) redirect_uri为app入口地址
f) code为授权完成后返回的一次性令牌
g) 调用getToken接口不需要签名 注:如果超过code有效期(2分钟)或者已经使用code获取了一次令牌,code都将失效,需要返回第二步重新获取code
6) 返回令牌
getToken 返回结果 :{"aliId":"8888888888","resource_owner":"xxx","memberId":"xxxxxxx","expires_in":"36000","refresh_token":"479f9564-1049-456e-ab62-29d3e82277d9","access_token":"f14da3b8-b0b1-4f73-a5de-9bed637e0188","refresh_token_timeout":"20121222222222+0800"}
说明:resource_owner为登录id,memberId为会员接口id,aliId为阿里巴巴集团统一的id,refresh_token_timeout表示refreshToken的过期时间
7) 使用令牌访问用户隐私数据
例如访问以下api : http://gw.open.1688.com/openapi/param2/1/cn.alibaba.open/member.get/1?memberId=xxx&access_token=ACCESS_TOKEN&_aop_signature=SIGENATURE 签名示例见 API签名规则