日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

來自:杜亦舒 性能與架構

3種基礎的REST 安全機制,大家用了嗎?

 

安全是 RESTful web service 的基石,我們主要討論以下3種主要的方法:

  • Basic authentication
  • Oauth 2.0
  • Oauth 2.0 + JWT

1. Basic authentication

這是最古老、最簡單的方法。

形式

username + password + Base64。

工作機制

假設一個用戶要登錄 Facebook 賬號,查看:feed 流、消息、好友、組,這4個服務都是獨立的。

用戶提交用戶名密碼之后,系統驗證后允許進入,然而系統是不知道其角色和權限的,例如什么服務允許訪問。

所以,每次用戶訪問任何服務時,系統需要再次驗證是否允許此次操作,這意味著需要一次對授權服務器的額外調用。例如上面的4個服務,那么每個用戶就會有4次額外調用。

現在想象每秒我們有 3000 個用戶訪問,乘以4個服務,結果就是每秒 12000 次授權服務器調用。

3種基礎的REST 安全機制,大家用了嗎?

 

結論

可擴展性差,有大量的沒有商業價值的額外調用,顯著增加了服務器的壓力。

2. Oauth 2.0

形式

username + password + access token + expiration token

工作機制

用戶使用用戶名密碼登錄系統之后,會收到一對 token,一個 access token 和一個 refresh token。

access token 用于訪問所有服務,過期時,使用 refresh token 產生一對新的 token。

如果一個用戶每天都進入系統,token 會每天更新,不必每次使用用戶名密碼登錄。

refresh token 也有過期周期,過期后需要再次使用用戶名密碼登錄。

Oauth 2.0 用來替換 Basic authentication,有其明顯的優勢,例如用戶不必每次都提交用戶名密碼,然而,系統仍然需要調用授權服務器,來檢查 token 所屬用戶能做的操作。

假設過期時間是一天,可以大大減少登錄服務器的負載,因為一個用戶一天只需要登錄驗證一次,而不是每次進入系統時都需要。

但是,系統仍然需要去存儲狀態的地方去驗證每個 token,查看用戶的角色。

所以,最后還是需要多次調用授權服務器。

3種基礎的REST 安全機制,大家用了嗎?

 

結論

和 Basic authentication 有同樣的問題,擴展性差,授權服務器會有大量負載。

OAuth 2 + Json Web Tokens

形式

username + password + JSON map + Base64 + private key + expiration date

工作機制

用戶第一次使用用戶名密碼登錄系統后,系統不僅返回一個 access token,而且還有一個 JSON map,其中包含所有的用戶信息,例如角色和權限,這些信息是使用 Base64 編碼的,并使用私鑰加密。

3種基礎的REST 安全機制,大家用了嗎?

 

在 token 中存儲了狀態信息,使服務是無狀態的。

用戶自己拿著自己的信息,所有信息都在 token 里面,所以就不需要額外的調用了。

這對減少服務器的負載起到了巨大的作用,現在這個方法在世界范圍內被廣泛使用。

結論

擴展性好,非常適合微服務。

亞馬遜的做法

在用戶創建亞馬遜賬號的時候,會生成一個永久的、超級安全的 access token,需要用戶保護好。

當用戶需要請求亞馬遜的時候,需要使用這個私有的 token 對 HTTP header 數據進行簽名,并添加到 header 中一起發送過去。

服務器端,亞馬遜也有用戶的這個私有 token,接收到用戶的請求后,同樣對 header 進行簽名,然后和用戶的簽名進行比較,如何相同,則允許訪問。

最大的好處就是只需要發送一次用戶名密碼,用于獲取 token,而且使用簽名機制非常安全,不在乎消息被攔截。

3種基礎的REST 安全機制,大家用了嗎?

 

翻譯自:

https://medium.com/@yellow/rest-security-basics-f59013850c4e

分享到:
標簽:REST
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定