伺服器端的資料儲存方案
表2 authorize 授權關係儲存表
客戶端與資源擁有者是「多對多」的關係,如下表
表3 access_token 訪問令牌儲存表
字段 備註
access_token 訪問令牌
addtime 新增時間
伺服器端需要提供的介面和頁面
伺服器端需要提供兩個介面和兩個頁面:兩個接
口,乙個是用來獲取訪問許可的介面,乙個是用來獲
取access token 的介面;然後再提供乙個登入頁面和
乙個授權頁面。
獲取訪問許可(authorization code)介面
客戶端從資源擁有者(終端使用者)那裡請求授權。授權請求直接傳送給資源擁有者,如果資源擁有者為該客戶端授權, 則給客戶端傳送乙個訪問許可(authorization code):
返回資訊:
未登入、未授權:跳轉到登入頁面;
已經登入、未授權:跳轉到授權頁面;
已經登入、已經授權:跳轉到傳入的callback_url頁面,並返回乙個訪問許可。
登入頁面
這個頁面展示給資源擁有者,輸入使用者名稱、密碼,登入成功之後,如果未授權,則跳轉到授權頁面;如果已經授權,直接跳轉到callback_url 頁面,並返回乙個訪問許可。
授權頁面
這個頁面也是展示給資源擁有者,如果使用者已經授權:則直接跳轉到callback_url 頁面,並返回乙個訪問許可;如果使用者未授權:出現授權頁面,授權成功之後,跳到callback_url 頁面,並返回乙個訪問許可。
獲取access token 介面
客戶端向授權伺服器出示自己的私有證書和上一步拿到的訪問許可,來請求乙個訪問令牌(accesstoken);授權伺服器驗證客戶端的私有證書和訪問許可的有效性,如果驗證有效,則向客戶端傳送乙個訪問令牌,訪問令牌包括許可的作用域、有效時間和一些其他屬性資訊:
Oauth2 0學習記錄
幾乎每個系統,都不開身份驗證,驗證的方式也很多,oauth2.0,sso,還有最近新接觸到的jwt,傻傻搞不清楚,他們之間到底是什麼關係呢?先簡單整理一下oauth2.0的內容,接下來繼續學習sso和jwt,繼續完善,奧利給 什麼是oauth2.0?一種允許通過簡單,標準的方法從web,移動和桌面應...
OAuth系列之簡單理解OAuth 2 0(二)
oauth 2.0 是目前最流行的授權機制,用來授權第三方應用,獲取使用者資料。例如 大型的居民小區 小區有門禁系統 進入的時候需要輸入密碼,那麼問題來了 有沒有一種辦法,讓快遞員能夠自由進入小區,又不必知道小區居民的密碼,而且他的唯一許可權就是送貨,其他需要密碼的場合,他都沒有許可權?於是,需要設...
oAuth 2 0協議解析
部落格 完整的oauth 2.0協議流包括4個主體,6個步驟。4個主體分別是 資源擁有者 可以是人,負責授權工作。對open api來說,即發布方。發布方審批呼叫者的申請,通過後,即完成授權,體現為資料庫中的記錄。客戶端 一般是第三方應用程式。對於open api來說,即呼叫者。授權伺服器 負責完成...