認證方式
關於認證:
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頒發給客戶端使用
