認證方式
關於認證:
https://www.cnblogs.com/badboyh2o/p/11068779.html
https://www.cnblogs.com/badboyh2o/p/11069470.html
https://segmentfault.com/a/1190000013010835
https://www.cnblogs.com/xiangkejin/archive/2018/05/08/9011119.html
基本認證
- 用戶輸入賬號、密碼提交給服務端認證
 
Token認證
- 用途:用戶輸入賬號、密碼通過基本認證后,服務端認頒發授權token(包含用戶ID等基本信息)用作認證令牌
 - 原理:任何請求,都附帶token;服務端根據token判斷請求是否合法。
 - 缺點:如果報文在中途被劫持,那么token就泄露了,這時(token有效期內)黑客就可以構造任意的請求了。
 
AK/SK的認證
- 用途:一般用於后台程序執行API調用時的服務端認證;AK標識用戶,SK作為對稱加密通信的秘鑰。?
 - 原理:
 
  客戶端:
    構建http請求(包含 access key);
    使用請求內容和 使用secret access key計算的簽名(signature);
    發送請求到服務端。
  服務端:
    根據發送的access key 查找數據庫得到對應的secret-key;
    使用同樣的算法將請求內容和 secret-key一起計算簽名(signature),和步驟2一樣;
    對比用戶發送的簽名和服務端計算的簽名,兩者相同則認證通過,否則失敗。
 
        - 其他使用場景:AK/SK認證通過后,服務端再生成token頒發給客戶端使用
 
