對OAuth協議的認識

2021-09-24 20:14:11 字數 1093 閱讀 4667

一. oauth是什麼

oauth 是open authorization的簡寫。oauth 協議為使用者資源的授權提供了乙個安全的、開放而又簡易的標準。

通俗地說,就是當我們想把自己系統的某些功能暴露給第三方系統進行呼叫,並且需要對第三方系統的呼叫設定一定的訪問許可權。

這樣一來這兩個系統的開發人員之間就得做系統的對接,

但如果本方系統按照oauth協議的標準進行了相應的實現,那麼這個對接的過程就不需要雙方進行額外溝通。呼叫方只要按照標準的實現進行對接就可以了。

oauth協義有兩個版本1.0 和 2.0 ,2.0 相對比較簡潔是目前比較流行的做法。oauth具體的實現細節大致如下:

1. 由本方系統向第三方系統提供公鑰和clientid

2. 第三方系統的某次訪問以http形式攜帶公鑰和clientid訪問本方系統的oauth授權中心

3.授權中心將對合法的請求返回乙個授權code

4.第三方再攜帶code再次訪問授權中心用code去換取令牌,這個過程應走https的加密通道

5. 獲得令牌後,就可以攜帶令牌訪問本方系統開放給第三方系統的api服務了

二. oauth和sso單點登入的區別

甚至也可以用oauth2實現(雖然不是很好),比如oauth中的服務提供方可以充當sso認證中心,oauth中的第三方應用也可以是sso中的子系統。

三.在微服務中何時可以考慮使用oauth認證

除非要把自己系統的功能暴露給第三方訪問(即暴露自己的註冊中心),且不需要雙方進行額外溝通,本方才需要實現oauth2授權

五. oauth應用的場景

1. 有的系統希望第三方系統的使用者也可以訪問他的系統,以提公升訪問流量。

2. 不同的系統之間的功能協作

例如:乙個使用者同時是兩個系統(系統a和系統b)的使用者,現在a系統有乙個功能,希望是呼叫b系統某個功能來協助完成的。比如有乙個"雲沖印"的**,可以將使用者儲存在google的**,沖印出來。使用者為了使用該服務,必須讓"雲沖印"讀取自己儲存在google上的**。

對OAuth1 0協議的理解

oauth 開放授權 是乙個 開放標準 密碼提供給第三方應用。協議位址為 研究的是oauth1.0,因為2.0褒貶不一,連創始人都宣布脫離關係了。而1.0基本各個大 都支援的不錯 具體舉個例子 oauth consumer key 0685bd9184jfhq22 oauth token ad180...

對TCP UDP協議的初步認識

要認識並理解tcp udp協議首先要知曉什麼是協議。協議 協議,顧名思義,意思是共同計議 協商。而在計算機學科概念中,協議,是網路協議的簡稱,網路協議是通訊計算機雙方必須共同遵從的一組約定。就好比不同國家的語言不同就無法交流,只有統一了語言,交流才能正常進行,計算機也是如此。只有規定了如何連線,如何...

OAuth協議簡介

1 oauth協議是什麼 關於oauth,不在長篇大論的講了,以乙個例子說明。如何得到使用者的授權呢?傳統思想是跟使用者要賬號 密碼。這就存在問題了,首先使用者不願意給,再者即使給了也存在很多問題 2 使用者只有修改密碼,才能收回授權。3 密碼洩露的可能性大大提高。這個場景可以使用oauth來實現,...