沈陽(yáng)APP開(kāi)發(fā)解決用戶賬號(hào)登錄過(guò)期的問(wèn)題
2024/8/16 11:47:47 瀏覽:1078
當(dāng)我們第一次下載市面上的APP到市場(chǎng)本地,然后按照系統(tǒng)提示安裝使用,大部分的APP第一步都會(huì)提示我們要登錄之后才能查看所有內(nèi)容,比如商城類APP,我們點(diǎn)擊購(gòu)物車的時(shí)候系統(tǒng)會(huì)提示我們必須登錄。我們成功登錄后會(huì)保存信息到服務(wù)端,即登錄憑證token,但是這里有一個(gè)問(wèn)題,大部分token都是有時(shí)間期限的,比如微信,那么當(dāng)token過(guò)期的時(shí)候要如何處理呢,今天就來(lái)為大家分享一個(gè)常用方法,我們先確定使用固定的網(wǎng)絡(luò)框架,比如本人使用的OKHTTP,我們配置好OKHTTP客戶端后,繼續(xù)設(shè)置Interceptor攔截器,我們通過(guò)攔截返回的數(shù)據(jù),判斷token是否過(guò)期,如果過(guò)期則進(jìn)行一次刷新token的操作。然后在實(shí)際APP開(kāi)發(fā)中,我們需要實(shí)現(xiàn)intercept方法,通過(guò)回調(diào)的Chain響應(yīng)信號(hào),獲得網(wǎng)絡(luò)請(qǐng)求Request,再通過(guò)proceed方法,獲取到響應(yīng)體Response,在響應(yīng)體中我們可以拿到響應(yīng)碼code,我們?cè)偻ㄟ^(guò)與服務(wù)端事先約定好的響應(yīng)碼,判斷token是否過(guò)期,如果響應(yīng)碼不匹配,代表token過(guò)期,這時(shí)我們就可以同步向服務(wù)端發(fā)送請(qǐng)求token的信號(hào),拿到新的token后,就可以向服務(wù)端發(fā)起新的登錄請(qǐng)求newRequest,最后調(diào)用proceed方法,通過(guò)newRequest就可以實(shí)現(xiàn)登錄token過(guò)期后自動(dòng)重新登錄的功能。