當前位置:編程學習大全網 - 源碼下載 - java開發 Rest 接口怎樣設計api_key 也就是我的api怎樣才能不被自由訪問,需要在header加入驗證

java開發 Rest 接口怎樣設計api_key 也就是我的api怎樣才能不被自由訪問,需要在header加入驗證

以下僅供參考:

如果rest端要自己維護api_key,類似存儲在數據庫裏,就分發(授權)給客戶端某個api_key,然後客戶端用api_key和壹些其他條件如時間戳+簽名去rest端換取壹個token,最後客戶端用這個token和rest端進行交互,可以參考下微信的oauth鑒權.

如果rest端不維護api_key,也就省去分發(授權)客戶端api_key的工作,此時客戶端用傳遞的參數和其他條件如時間戳+簽名去rest端換取壹個token..同上

上述所說的token都是唯壹的,對於同壹個客戶端的請求而言,下次刷取token的時候,之前產生的token作廢;

token本身應該要維持在rest端,也應該有壹個過期的限制;

(參數)+(api_key)+時間戳 通過加密算法(如sha2)生成簽名,rest端同邏輯校驗簽名是否合法壹般就能卡掉壹大部分的訪問,

至於api_key或者token放在哪裏,壹般無狀態訪問比較常見是在head裏(常見如angularjs項目),這裏我覺得隨意,因為只要被攔截都可見,只是head可以放比較多的東西用來障目就是了.

當然,如果正在用的token被攔截,同樣也是可以隨意訪問的,因此可能要求https協議加證書應該會更牢固點(沒試過);

壹般就這樣,再高的我也不懂了,如果陳述有什麽問題,者有什麽看法,也還請不吝賜教~

  • 上一篇:比亞迪智能車身控制系統雲輦登場,聚齊四大自主專利召喚神獸
  • 下一篇:應用源代碼
  • copyright 2024編程學習大全網