如何管理第三方接口token过期时间
背景:
隨著微服務(wù)的盛行,做開發(fā)時不可避免的要涉及第三方接口,安全起見,這些接口都會需要一個token參數(shù)。而token一般都會有一個過期時間,比如2小時或者30分鐘。那么如何在自己的應(yīng)用中存儲并管理這些token呢?
常見方案:
內(nèi)存緩存;第三方緩存
我們一般都會給每個第三方設(shè)置一個過期時間參數(shù),使用的時候判斷當(dāng)前token是否過期,如果過期則重新獲取。
個人建議的方案:
如果第三方不多(一般也不會很多,撐死了1000個第三方接口?),直接就把每次獲取的token放到一個HashMap中,根據(jù)第三方名稱獲取對應(yīng)的token直接請求對應(yīng)的接口,如果返回錯誤碼,而且錯誤碼標(biāo)志當(dāng)前token過期,則重新獲取token,并更新HashMap(注意加鎖),重新請求。這種方案不再需要判斷token是否過期,存儲token的時候不再需要記錄token獲取時間,也不需要過期參數(shù)。設(shè)置過期參數(shù)的缺點(diǎn)就是,如果第三方過期時間有修改,本身的應(yīng)用也需要重新配置參數(shù)、生效。從設(shè)計上來說,過期時間是由第三方接口管理的,我們自己的應(yīng)用就不要再判斷了。
當(dāng)然我的方案也是有前提的:第三方要返回token是否過期的錯誤碼。如果不返回token是否過期的錯誤碼,或者從錯誤消息無法判斷token是否過期,我相信無論哪種方案都是不可行的。畢竟如果token過期了,調(diào)用的時候卻判斷不出來,這樣的接口想想都不可思議。還是不要調(diào)用的好。
總結(jié)
以上是生活随笔為你收集整理的如何管理第三方接口token过期时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eyoucms
- 下一篇: Arcgis 中国区技术支持 官网