<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 授權說明 應用程序可通過調用速賣通開放平臺提供的API獲取到速賣通的會員、交易等數據,因為涉及隱私,在使用前必須獲得速賣通會員的授權,方可調用API(公開數據除外),而access_token則做為用戶唯一的授權標識。 速賣通開放平臺采用OAuth 2.0作為授權協議,授權流程可以簡單歸納為:? (1)獲取臨時令牌;? (2)用臨時令牌換取長時令牌以及訪問令牌;? (3)訪問令牌過期后用長時令牌刷新訪問令牌。? 關于**臨時令牌**、**訪問令牌**以及**長時令牌**的介紹請參考下一節 ### 概念介紹展開 ### 授權分類 注意:請根據自己APP的情況選擇對應的授權方式,如果使用了錯誤的授權方式可能給您APP的使用帶來不便 **1、WEB端授權** 第三方開發者提供的app屬于網頁應用,可以自用或者自行售賣,用戶直接在瀏覽器中輸入app入口地址即可訪問,那么這樣的app就要采用WEB授權方式。 **2、客戶端授權** 第三方開發者提供的app屬于客戶端應用,用戶需要下載應用到本地客戶端才能使用,那么這樣的app就要采用客戶端授權方式。 ### WEB端授權流程詳解隱藏 授權及使用授權時序圖 ![](http://gw.api.alibaba.com/image/cn/serverAuthProcess.png) 授權流程 如果已經授權并且得到refreshToken,那么可以參考[refreshToken換取accessToken流程詳解](http://gw.api.alibaba.com/dev/doc/intl/sys_auth.htm?ns=aliexpress.open#exchangeAccessToken)一節;如果是首次授權,那么授權流程如下: **1) 用戶使用app,訪問在速賣通的隱私數據** **2) app發起授權請求** ~~~ http://authhz.alibaba.com/auth/authorize.htm?client_id=xxx&site=aliexpress&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_PARM&_aop_signature=SIGENATURE a) client_id:app注冊時,分配給app的唯一標示,又稱appKey b) site:site參數標識當前授權的站點,直接填寫aliexpress c) redirect_uri: app的入口地址,授權臨時令牌會以queryString的形式跟在該url后返回 d) state:可選,app自定義參數,回跳到redirect_uri時,會原樣返回 e) aop_signature:簽名 參數簽名(_aop_signature)為所有參數key + value 字符串拼接后排序,把排序結果拼接為字符串data后通過bytesToHexString(HAMC-RSA1(data, appSecret))計算簽名。 驗證簽名的方式為對參數執行同樣的簽名,比較傳入的簽名結果和計算的結果是否一致,一致為驗簽通過。 注:只有客戶端和WEB端授權流程發起授權請求這一步使用參數簽名串組裝規則,只用url請求參數作為簽名因子;其他簽名均需加入urlPath作為額外因子(見API簽名串組裝規則)。 ~~~ **3) 用戶輸入用戶名密碼,并確認授權** **4) 返回臨時授權碼code給app**? 具體返回方式,參照redirect_uri說明 **5) 使用code獲取令牌** ~~~ https://gw.api.alibaba.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方法提交;必須使用https getToken接口參數說明: 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","resourceOwner":"xxx","expires_in":"36000","access_token":"8795258a-6c8f-43a5-b8d0-763631edb610","refresh_token":"8795258a-6c8f-43a5-b8d0-763631edb610","refresh_token_timeout":"20121222222222+0800"}? 說明:resource_owner為登錄id,aliId為阿里巴巴集團統一的id,refresh_token_timeout表示refreshToken的過期時間 **7) 使用令牌訪問用戶隱私數據**? 例如訪問以下api:http://gw.api.alibaba.com/openapi/param2/1/aliexpress.open/api.findAeProductById/1?productId=xxx&access_token=ACCESS_TOKEN&_aop_signature=SIGENATURE? 簽名示例見[API簽名規則](http://gw.api.alibaba.com/dev/doc/intl/sys_signature.htm?ns=aliexpress.open#apiRule) ### refreshToken換取accessToken流程詳解隱藏 換取accessToken流程 如果refreshToken有效并且accessToken已經過期(超過10小時),那么可以使用refresh_token換取access_token,不用重新進行授權,然后訪問用戶隱私數據。 注意:如果refreshToken已經超過了半年的有效期,用戶修改密碼,用戶訂購到期或者用戶通過[取消授權工具](http://authhz.alibaba.com/auth/intl/my.htm)取消了對app的授權,那么都需要用戶重新授權獲取refreshToken ~~~ 換取accessToken的url示例如下: https://gw.api.alibaba.com/openapi/param2/1/system.oauth2/getToken/YOUR_APPKEY 請求參數如下: grant_type=refresh_token&client_id=YOUR_APPKEY&client_secret=YOUR_APPSECRET&refresh_token=REFRESH_TOKEN 注:此接口必須使用POST方法提交;必須使用https a) 此處grant_type參數必須為refresh_token,表示通過refreshToken換取accessToken,而不是通過臨時code換取 b) 調用getToken接口時不需要簽名 ~~~ ### 換取新的refreshToken流程詳解隱藏 換取refreshToken流程 如果當前時間離refreshToken過期時間在30天以內,那么可以調用postponeToken接口換取新的refreshToken;否則會報錯。 注意:有自動功能的應用(用戶不進入應用主頁也能使用第三方應用,因為在應用后臺可以自動調用api處理用戶數據,如自動重發類的應用)才需要調用此接口。如果沒有自動功能,那么不需要調用,因為用戶必須在應用主頁操作才能獲取以及修改用戶數據,所以即使refreshToken過期了,用戶再次通過應用市場進入應用主頁時授權一次即可 ~~~ 換取refreshToken的url示例如下: https://gw.api.alibaba.com/openapi/param2/1/system.oauth2/postponeToken/YOUR_APPKEY 請求參數如下: client_id=YOUR_APPKEY&client_secret=YOUR_APPSECRET&refresh_token=REFRESH_TOKEN&access_token=ACCESS_TOKEN 返回結果類似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"} 注:此接口必須使用https,get和post都行 a) 調用postponeToken接口需要授權,所以必須帶上access_token參數 b) 調用postponeToken接口時不需要簽名 c) refresh_token參數表示當前使用的refreshToken,如果refreshToken的有效期和當前時間的差值小于30天,那么調用此接口后當前使用的refreshToken失效,返回一個新的refreshToken ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看