阿里百川授權(quán)

最近阿里百川SDK升級(jí),授權(quán)方式大改,以前的授權(quán)服務(wù)直接停了,導(dǎo)致未授權(quán)的 一直授權(quán)不成功,作為一個(gè)以前從來(lái)沒(méi)有使用過(guò)阿里百川的小白,大致的總結(jié)了一下處理步驟

一、以前的授權(quán)方式是:H5授權(quán)方式

image.png

大致說(shuō)下步驟 :就是客戶端需要自己組裝URL ,這個(gè)URL需要包含淘寶授權(quán)后的域名 組裝完了后 通過(guò) code 服務(wù)端去換 token 然后服務(wù)端回調(diào)我們是否授權(quán)成功

二、現(xiàn)在的方式:通過(guò) authorize4AppKey 方法后就可以了

image.png

阿里百川文檔中 只說(shuō)了 使用 authorize4AppKey 這個(gè)方法可以進(jìn)行新的授權(quán) ,但是找遍了所有地方 ,沒(méi)有任何地方有相關(guān)的使用說(shuō)明,demo里也完全沒(méi)有相關(guān)信息

其他的地方 基本和之前的一致

三、新的授權(quán)方式步驟

  1. 更新最新的SDK 文檔地址:
    https://aff-open.taobao.com/#!/document

    image.png

  2. 修改至工程沒(méi)有問(wèn)題

  3. 找到以前工程的授權(quán)的地方 openTradeUrl
    、、、
    /// 綁定
    /// - Parameters:
    /// - url: 授權(quán)鏈接
    /// - parentController: 父視圖
    func bind(url: String,
    parentController: UIViewController) {
    let showParam = AlibcTradeShowParams()
    showParam.isNeedOpenByAliApp = true
    showParam.isPushBCWebView = false
    showParam.failMode = self.configuration?.failedMode ?? .aliAppDownloadPage

     let taokeParam = AlibcTradeTaokeParams()
     taokeParam.pid = self.configuration?.pid
      AlibcTradeUltimateSDK.sharedInstance().tradeService().openTradeUrl(url, parentController: parentController, showParams: showParam, taoKeParams: taokeParam, trackParam: nil) { error,result in
         if let error = error {
             self.configuration?.bindFailed( error: error)
         }
     }
    

    }
    、、、

這個(gè)方法替換成新的方法
、、、
func startAuth(parentController: UIViewController,completion: @escaping (Bool) -> Void) {
self.logout()
self.loginAuth(parentController: parentController) {
AlibcTradeUltimateSDK.sharedInstance().tradeService().authorize4AppKey("和后端保持一致使用的APPKey", appName: nil, appLogo: nil, currentVC: parentController) { error, accessToken, expire in
if let accessTokenNew = accessToken,accessTokenNew.count > 0{
CPSJump.updateTaoBaoaAcessToken(accessToken: accessTokenNew) { isSuccess in
completion(isSuccess)
}
}else{
self.configuration?.bindFailed( error: error)
completion(false)
}
}
}
}

/// 登錄
func loginAuth(parentController: UIViewController,
success: @escaping SuccessHandler) {
if self.isLogin() {
success()
} else {
AlibcTradeUltimateSDK.sharedInstance().loginService().setH5Only(false)
AlibcTradeUltimateSDK.sharedInstance().loginService().auth(parentController) { _ in
success()
} failure: { (error) in
/// 登錄失敗
self.configuration?.loginFailed( error: error)
}
}
}

/// 退出
func logout() {
AlibcTradeUltimateSDK.sharedInstance().loginService().logout()
}
、、、

這個(gè)地方需要注意 在授權(quán)之前需要 logout() ,不然用戶有多個(gè)淘寶賬號(hào) ,如果有的淘寶號(hào)不能授權(quán),會(huì)出現(xiàn)使.authorize4AppKey 授權(quán)的時(shí)候 如果我APP不登出 第一次使用可以授權(quán)的淘寶賬號(hào)進(jìn)行授權(quán) 然后解綁 并且把淘寶賬號(hào)換成不可以授權(quán)的淘寶賬號(hào) 這個(gè)時(shí)候調(diào)用 authorize4AppKey 返回我這邊accessToken 還是上一個(gè)的

  1. 我們APP端通過(guò) authorize4AppKey 獲得了accessToken 后 ,這個(gè)時(shí)候需要后端配合處理,需要新加一個(gè)接口,我們把a(bǔ)ccessToken 傳給服務(wù)端 服務(wù)端 不用拿code 換token 然后授權(quán) ,現(xiàn)在就可以用我們獲得的 accessToken 直接去淘寶授權(quán) 然后返回客戶端結(jié)果 ,客戶端保持返回的信息然后 刷新數(shù)據(jù) 繼續(xù)做之前要走的步驟就可以了

總結(jié):
總的來(lái)說(shuō) ,此次的升級(jí) ,中間確實(shí)方便了不少 ,唯一不足就是文檔資料太少 希望百川文檔資料實(shí)時(shí)更新 demo實(shí)時(shí)更新 方法使用步驟可以簡(jiǎn)單易懂點(diǎn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容