【平臺(tái)介紹】
誠(chéng)信通是阿里巴巴為從事中國(guó)國(guó)內(nèi)貿(mào)易的中小企業(yè)推出的會(huì)員制網(wǎng)上貿(mào)易服務(wù)。主要用以解決網(wǎng)絡(luò)貿(mào)易信用問(wèn)題,是建立在阿里巴巴上的攤位。
通過(guò)這個(gè)攤位可直接銷售產(chǎn)品,并宣傳企業(yè)和產(chǎn)品。
【授權(quán)說(shuō)明】
誠(chéng)信通是授權(quán)型平臺(tái)。
appKey:商家ID
appSecret:秘鑰
access_token:授權(quán)碼
【獲取方式】
阿里巴巴開(kāi)放平臺(tái)應(yīng)用接入文檔
一、注冊(cè)開(kāi)發(fā)者身份,需同時(shí)具備以下兩個(gè)條件:
1、具備一個(gè)阿里巴巴中國(guó)站帳號(hào);
2、必須綁定了通過(guò)個(gè)人實(shí)名(公司企業(yè))認(rèn)證的支付寶帳號(hào);個(gè)人開(kāi)發(fā)者必須綁定通過(guò)個(gè)人實(shí)名認(rèn)證的支付寶賬號(hào),企業(yè)開(kāi)發(fā)者必須綁定通過(guò)商家認(rèn)證的支付寶賬號(hào);
二、開(kāi)發(fā)者身份綁定的支付寶賬戶用于產(chǎn)品分成結(jié)算的收款賬戶。因此為了確認(rèn)您的身份和安全考慮,必須通過(guò)支付寶認(rèn)證。
三、支付寶實(shí)名認(rèn)證流程請(qǐng)參考:支付寶認(rèn)證手冊(cè)
四、已經(jīng)注冊(cè)為開(kāi)發(fā)者后,需要更改支付寶,請(qǐng)線下提交申請(qǐng),具體審核流程請(qǐng)參考如下流程:
五、獲取證書
1)什么是應(yīng)用證書:證書指的是開(kāi)發(fā)者在阿里巴巴開(kāi)放平臺(tái)創(chuàng)建應(yīng)用是默認(rèn)給開(kāi)發(fā)者的應(yīng)用開(kāi)發(fā)證書。證書包含四個(gè)內(nèi)容:
證書編號(hào):App Key
證書密鑰:App Secret
接口權(quán)限:開(kāi)發(fā)者可以調(diào)用的API權(quán)限,包含基礎(chǔ)開(kāi)放與增值包
證書流量:應(yīng)用可以調(diào)用API的流量限制
也就是“權(quán)限+流量+appkey+app secret=證書”,每個(gè)應(yīng)用都有對(duì)應(yīng)的應(yīng)用開(kāi)發(fā)證書,在應(yīng)用創(chuàng)建時(shí)開(kāi)發(fā)者獲得證書。
2)什么是App Key?
App Key是應(yīng)用的唯一標(biāo)識(shí),阿里巴巴開(kāi)放平臺(tái)通過(guò)App Key來(lái)鑒別應(yīng)用的身份。
3)什么是App Secret?
AppSecret是阿里巴巴開(kāi)放平臺(tái)給應(yīng)用分配的密鑰,開(kāi)發(fā)者需要妥善保存這個(gè)密鑰,這個(gè)密鑰用來(lái)保證應(yīng)用來(lái)源的可靠性,防止被偽造。
應(yīng)用程序可通過(guò)調(diào)用開(kāi)放平臺(tái)提供的API獲取到阿里巴巴的會(huì)員、交易等數(shù)據(jù),因?yàn)樯婕皵?shù)據(jù)隱私,所以在使用前必須獲得阿里巴巴會(huì)員的授權(quán),才可以調(diào)用API(公開(kāi)數(shù)據(jù)除外)。而Access_token則做為用戶唯一的授權(quán)標(biāo)識(shí)。
阿里巴巴開(kāi)放平臺(tái)采用OAuth 2.0作為授權(quán)協(xié)議,授權(quán)流程可以簡(jiǎn)單歸納為:
(1)獲取臨時(shí)令牌;
(2)用臨時(shí)令牌換取長(zhǎng)時(shí)令牌以及訪問(wèn)令牌;
(3)訪問(wèn)令牌過(guò)期后用長(zhǎng)時(shí)令牌刷新訪問(wèn)令牌。
關(guān)于臨時(shí)令牌、訪問(wèn)令牌以及長(zhǎng)時(shí)令牌的介紹請(qǐng)參考下一節(jié)概念介紹
授權(quán)分類
1)托管式授權(quán)
第三方開(kāi)發(fā)者提供的app會(huì)托管在應(yīng)用市場(chǎng)進(jìn)行售賣,用戶要通過(guò)應(yīng)用市場(chǎng)訪問(wèn)app,那么這樣的app就要采用托管式授權(quán)方式。
2)WEB端授權(quán)
第三方開(kāi)發(fā)者提供的app屬于網(wǎng)頁(yè)應(yīng)用,但是不在應(yīng)用市場(chǎng)售賣,可以自用或者自行售賣,用戶直接在瀏覽器中輸入app入口地址即可訪問(wèn),
那么這樣的app就要采用WEB授權(quán)方式。
3)客戶端授權(quán)
第三方開(kāi)發(fā)者提供的app屬于客戶端應(yīng)用,用戶需要下載應(yīng)用到本地客戶端才能使用,那么這樣的app就要采用客戶端授權(quán)方式。
托管式授權(quán)流程詳解
第三方開(kāi)發(fā)者提供的app會(huì)托管在應(yīng)用市場(chǎng)進(jìn)行售賣,用戶要通過(guò)應(yīng)用市場(chǎng)訪問(wèn)app,那么這樣的app就要采用托管式授權(quán)方式。
授權(quán)及使用授權(quán)時(shí)序圖
托管式授權(quán)是指將授權(quán)托管給應(yīng)用市場(chǎng),由應(yīng)用市場(chǎng)發(fā)出授權(quán)請(qǐng)求的方式。
1) 用戶通過(guò)應(yīng)用市場(chǎng)使用app
2) 應(yīng)用市場(chǎng)向1688開(kāi)放平臺(tái)發(fā)起授權(quán)請(qǐng)求
3) 如果用戶沒(méi)有授權(quán)或者授權(quán)過(guò)期,需要輸入用戶名密碼,并確認(rèn)授權(quán);否則跳到下一步
4) 應(yīng)用市場(chǎng)獲得臨時(shí)令牌code,并302跳轉(zhuǎn)到app入口地址,同時(shí)帶入?yún)?shù)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接口參數(shù)說(shuō)明:
a) grant_type為授權(quán)類型,使用authorization_code即可
b) need_refresh_token為是否需要返回refresh_token,如果返回了refresh_token,原來(lái)獲取的refresh_token也不會(huì)失效,除非超過(guò)半年有效期
c) client_id為app唯一標(biāo)識(shí),即appKey
d) client_secret為app密鑰
e) redirect_uri為app入口地址
f) code為授權(quán)完成后返回的一次性令牌
g) 調(diào)用getToken接口不需要簽名 注:如果超過(guò)code有效期(2分鐘)或者已經(jīng)使用code獲取了一次令牌,code都將失效,需要返回第二步重新獲取code
6) 返回令牌
getToken 返回結(jié)果 :{"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"}
說(shuō)明:resource_owner為登錄id,memberId為會(huì)員接口id,aliId為阿里巴巴集團(tuán)統(tǒng)一的id,refresh_token_timeout表示refreshToken的過(guò)期時(shí)間
7) 使用令牌訪問(wèn)用戶隱私數(shù)據(jù)
例如訪問(wèn)以下api : http://gw.open.1688.com/openapi/param2/1/cn.alibaba.open/member.get/1?memberId=xxx&access_token=ACCESS_TOKEN&_aop_signature=SIGENATURE 簽名示例見(jiàn) API簽名規(guī)則