受權碼模式

受權碼模式(authorization code)是OAuth 2.0定義的四種受權方式之一。是功能最完整、流程最嚴密的受權模式。它的特色就是經過客戶端的後臺服務器,與"服務提供商"的認證服務器進行互動。瀏覽器

名詞定義安全

(1)Resource Owner:資源全部者,本文中又稱"用戶"(user)。服務器

(2)User Agent:用戶代理,本文中就是指瀏覽器。代理

(3)Authorization server:認證服務器,即服務提供商專門用來處理認證的服務器。code

(4)Resource server:資源服務器,即服務提供商存放用戶生成的資源的服務器。它與認證服務器,能夠是同一臺服務器,也能夠是不一樣的服務器。cdn

受權碼模式執行步驟:server

(A)用戶訪問客戶端,後者將前者導向認證服務器。blog

(B)用戶選擇是否給予客戶端受權。token

(C)假設用戶給予受權,認證服務器將用戶導向客戶端事先指定的"重定向URI"(redirection URI),同時附上一個受權碼。資源

(D)客戶端收到受權碼,附上早先的"重定向URI",向認證服務器申請令牌。這一步是在客戶端的後臺的服務器上完成的,對用戶不可見。

(E)認證服務器覈對了受權碼和重定向URI,確認無誤後,向客戶端發送訪問令牌(access token)和更新令牌(refresh token)。

總的來講, OAuth能讓用戶的好比用戶名密碼等信息更加安全。第三方可以在不知道用戶帳號密碼的狀況下訪問,而且能限制收到令牌的客戶端的數據訪問期限和訪問地點。也只能本身使用,不可以轉讓或泄露密碼。可以隨時的廢除令牌,想要再次訪問就要從新申請。

相關文章
相關標籤/搜索