授權認證中心:OAuth2

來源
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
《微服務架構實戰160講》

OAuth2授權認證中心

1 解決的問題

資源擁有者將資源存儲在雲服務上,需要通過第三方應用來訪問此資源進行一些操作,怎麼做?

  • 密碼用戶名複製
    在這裏插入圖片描述
    適合公司內部使用,開發系統間不太安全

  • 萬能鑰匙
    在這裏插入圖片描述
    協商一個developerKey,也是不太安全

  • 特殊令牌
    在這裏插入圖片描述
    這種跟OAuth2就很接近了

2 簡易流程

獲取數據的流程:
在這裏插入圖片描述
OAuth2的體現:
在這裏插入圖片描述

3 四種典型模式

授權碼模式、簡化模式、密碼模式、客戶端模式(docker拉取鏡像):http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

簡化模式:C中獲取到token,直接發起請求即可

選型:
在這裏插入圖片描述

4 刷新令牌

在這裏插入圖片描述
A中使用的就是四種典型模式 之一獲取的token,如授權碼模式

5 JWT令牌

屬於自包含令牌,由授權服務器頒發的令牌,包含關於用戶或者客戶的元數據和聲明(claims)
通過檢查簽名,期望的頒發者(issuer) (issuer) (issuer),期望的接收人 aud(audience),或者 scope , 資源服務器可以在本地校驗令牌通常實現爲簽名的 JSON Web Tokens(JWT)。不需要去授權服務器校驗

分爲三部分:Header標識類型爲JWT,使用了什麼算法進行簽名;Claims提供了額外的信息,資源服務器拿到這些信息可以做相應的授權等操作;Signature就是簽名
在這裏插入圖片描述

6 OpenID Connect

基於 OAuth2之上構建的簡單身份認證層:
在這裏插入圖片描述

7 微服務安全架構

方案一:token+jwt
在這裏插入圖片描述
方案二:jwt;減少授權服務器的壓力,但是少了靈活性,如無法集中到授權服務器吊銷,只能等待自然過期
在這裏插入圖片描述
方案三:token+jwt+redis;這樣授權服務器壓力也小,也靈活
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章