OAuth2圖解

一 OAuth2解決什麼問題

1 開放系統間授權

照片擁有者想要在雲沖印服務上打印照片,雲沖印服務需要訪問雲存儲服務上的資源。

2 圖例

資源擁有者:照片擁有者

客戶應用:雲沖印

受保護的資源:照片

3 方式一:用戶名密碼複製

用戶將自己的"雲存儲"服務的用戶名和密碼,告訴"雲沖印",(即資源服務器的用戶名和密碼存儲在客戶應用服務器上)後者就可以讀取用戶的照片了。這樣的做法有以下幾個嚴重的缺點。

a "雲沖印"爲了後續的服務,會保存用戶的密碼,這樣很不安全。

b Google不得不部署密碼登錄,而我們知道,單純的密碼登錄並不安全。

c "雲沖印"擁有了獲取用戶儲存在Google所有資料的權力,用戶沒法限制"雲沖印"獲得授權的範圍和有效期。

d 用戶只有修改密碼,才能收回賦予"雲沖印"的權力。但是這樣做,會使得其他所有獲得用戶授權的第三方應用程序全部失效。

e 只要有一個第三方應用程序被破解,就會導致用戶密碼泄漏,以及所有被密碼保護的數據泄漏。

總結:

將受保護的資源中的用戶名和密碼存儲在客戶應用的服務器上,使用時直接使用這個用戶名和密碼登錄

適用於同一公司內部的多個系統,不適用於不受信的第三方應用

4 方式二:通用開發者key

key是事先在"雲存儲"服務和"雲沖印"服務間約定好的,適用於合作商或者授信的不同業務部門之間

5 方式三:頒發令牌

需要考慮如何管理令牌、頒發令牌、吊銷令牌,需要統一的申請令牌和頒發令牌的協議。

二 OAuth2簡介

1 OAuth主要角色

2 最簡嚮導

川崎高彥:OAuth2領域專家,開發了一個OAuth2 sass服務,OAuth2 as Service,並且做成了一個公司

在融資的過程中爲了向投資人解釋OAuth2是什麼,於是寫了一篇文章,《OAuth2最簡嚮導》

三 OAuth2的應用

1 微服務安全

現代微服務中系統微服務化以及應用的形態和設備類型增多,不能用傳統的登錄方式

核心的技術不是用戶名和密碼,而是token,由AuthServer頒發token,用戶使用token進行登錄

2 社交登錄

四 OAuth2.0最簡嚮導核心圖解

1 RFC 6749, OAuth 2.0授權框架

2 校驗Access Token具有訪問用戶數據的權限

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