OAuth2實現原理

2022-02-14 21:04:19 字數 1835 閱讀 3708

oauth2是什麼

oauth(open authorization,開放授權)是為使用者資源的授權定義了乙個安全、開放及簡單的標準,第三方無需知道使用者的賬號及密碼,就可獲取到使用者的授權資訊

oauth在"客戶端"與"服務提供商"之間,設定了乙個授權層,"客戶端"不能直接登入"服務提供商",只能登入授權層,以此將使用者與客戶端區分開 來,"客戶端"登入授權層是使用令牌(token),"客戶端"登入授權層以後,"服務提供商"根據令牌的許可權範圍和有效期,向"客戶端"開放使用者儲存的 資料

oauth2的實現機制

在oauth2的授權機制中有4個核心物件

(1)resource owner(資源擁有者:使用者,只需要允許或拒絕第三方應用獲得授權)

(4)authorization server (認證伺服器,提供授權許可code、令牌token等)

(1)使用者在第三方應用上點選登入,應用向認證伺服器傳送請求,說有使用者希望進行授權操作,同時說明自己是誰、使用者授權完成後的**url

(2)認證伺服器展示給使用者自己的授權介面

(3)使用者進行授權操作,認證伺服器驗證成功後,生成乙個授權編碼code,並跳轉到第三方的**url

(4)第三方應用拿到code後,連同自己在平台上的身份資訊(id密碼)傳送給認證伺服器,再一次進行驗證請求,說明自己的身份正確,並且使用者也已經授權我了,來換取訪問使用者資源的許可權

(5)認證伺服器對請求資訊進行驗證,如果沒問題,就生成訪問資源伺服器的令牌access_token,交給第三方應用

(6)第三方應用使用access_token向資源伺服器請求資源

(7)資源伺服器驗證access_token成功後返回響應資源

*****************:

oauth2是什麼

oauth(open authorization,開放授權)是為使用者資源的授權定義了乙個安全、開放及簡單的標準,第三方無需知道使用者的賬號及密碼,就可獲取到使用者的授權資訊

oauth在"客戶端"與"服務提供商"之間,設定了乙個授權層,"客戶端"不能直接登入"服務提供商",只能登入授權層,以此將使用者與客戶端區分開 來,"客戶端"登入授權層是使用令牌(token),"客戶端"登入授權層以後,"服務提供商"根據令牌的許可權範圍和有效期,向"客戶端"開放使用者儲存的 資料

oauth2的實現機制

在oauth2的授權機制中有4個核心物件

(1)resource owner(資源擁有者:使用者,只需要允許或拒絕第三方應用獲得授權)

(4)authorization server (認證伺服器,提供授權許可code、令牌token等)

(1)使用者在第三方應用上點選登入,應用向認證伺服器傳送請求,說有使用者希望進行授權操作,同時說明自己是誰、使用者授權完成後的**url

(2)認證伺服器展示給使用者自己的授權介面

(3)使用者進行授權操作,認證伺服器驗證成功後,生成乙個授權編碼code,並跳轉到第三方的**url

(4)第三方應用拿到code後,連同自己在平台上的身份資訊(id密碼)傳送給認證伺服器,再一次進行驗證請求,說明自己的身份正確,並且使用者也已經授權我了,來換取訪問使用者資源的許可權

(5)認證伺服器對請求資訊進行驗證,如果沒問題,就生成訪問資源伺服器的令牌access_token,交給第三方應用

(6)第三方應用使用access_token向資源伺服器請求資源

(7)資源伺服器驗證access_token成功後返回響應資源

*****************:

springboot結合oauth2實現許可權認證

1.什麼是jwt json web token jwt 是為了在網路應用環境間傳遞宣告而執行的一種基於json的開放標準 rfc 7519 該token被設計為緊湊且安全的,特別適用於分布式站點的單點登入 sso 場景。jwt的宣告一般被用來在身份提供者和服務提供者間傳遞被認證的使用者身份資訊,以便...

OAuth2協議簡介

例如我在qq上有很多的,分別儲存在不同的資料夾中,現在有乙個第三方登入需要訪問我的其中某乙個檔案時ru我需要怎麼做呢?如果我直接將我qq的賬號 密碼直接給第三方應用,那它就可以訪問我的全部,但是有的我是不想給他的!而且如果我只是想讓他訪問一段時間,過了這個時間之後,我就不想讓第三方訪問了,這個時候那...

OAuth2 單點登入

簡介 oauth open authorization 是乙個開放標準,允許使用者授權第三方應用訪問他們儲存在另外的服務提供者上的資訊,而不需要將使用者名稱和密碼提供給第三方應用。oauth2是oauth協議的延續版本,oauth1已經被廢棄,現在oauth2是用於授權的行業標準協議。1.四個角色 ...