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