<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      歡迎大家下載試用折桂單點登錄系統, https://www.zheguisoft.com

      OAuth 2.0 原理、流程、使用及解釋

      最近應客戶的要求,我們公司對客戶的原有系統,進行了升級,增加了 OAuth 2.0 的功能。

      開發過程中,搜索了網上的資料,發現都解釋不清。可能是相關作者,只熟悉前端、后端之一,說不清楚完整流程。我們邊理解、邊猜測、邊開發調試,終于完成了此系統的改造。

      之后,公司對本公司的軟件產品:折桂打印平臺系統/折桂上傳平臺系統、折桂單點登錄系統,均增加了 OAuth 2.0 功能,也有機會,同時開發 OAuth 2.0 使用方的軟件、 OAuth 2.0 服務提供方的軟件,完成之后,決定寫一遍這方面的流程文章,作為總結。

       

      網上的 OAuth 2.0 介紹,也有一些交互流程圖,但都比較簡單、概要,難以理解。

      這里整理一份詳細的 OAuth 2.0 authorization_code 模式的交互流程圖,如下:

       

      相關解釋如下:

      綠色寬箭頭,為用戶在 IE 瀏覽器的主動操作;

      藍色寬箭頭,為IE瀏覽器的自動跳轉,用戶能看到,但不是用戶的主動操作;

      紫色寬箭頭,兩個服務器之間的交互,用戶看不到;

       

      OAuth 詳細流程的步驟如下:

      1. 用戶使用瀏覽器,輸入網址,訪問 server_a 的某個網址。

      2.server_a 檢查用戶是否已登錄,如果沒有,則指示用戶瀏覽器,自動跳轉到 OAuth 登錄服務器 server_oauth,網址參數中,帶 redirect_uri ,也就是說,登錄完成后,還得到我這里來。

      3. OAuth 登錄服務器 server_oauth, 檢查用戶是否已登錄。請注意,同一個用戶 IE ,在 server_a 、server_oauth 兩臺服務器處,登錄狀態可以不一樣。

      4. 如果用戶未在登錄服務器 server_oauth 處登錄,則 server_oauth 顯示登錄頁面(網頁)

      5. 用戶錄入用戶名、密碼。此處可能有別的登錄方式,比如,掃描登錄,員工卡登錄,等等。

      6. 用戶勾選“允許應用 server_a 使用我的基本用戶信息(密碼除外)”。此步驟,按理是不能略過的。但有的 OAuth 登錄服務器 ,不顯示此選擇項,或者只以文字提示、用戶不用去勾選。孰優孰劣,一時也難以評說。

      7. 如果用戶登錄成功,則登錄服務器 server_oauth 標記此用戶為已登錄狀態,后臺可能記錄登錄時間、遠程 IP 地址等信息。

      8. 登錄服務器 server_oauth 指示用戶瀏覽器,自動跳轉到 server_a 服務器,此處網址為上述步驟 2 中的  redirect_uri 。

      9. 服務器 server_a ,在  redirect_uri 網址對應的后臺程序中,處理用戶的 OAuth 登錄過程。

      9.1 服務器 server_a 獲取網址參數中的 code, 這是 OAuth 技術中的"授權碼"。這個授權碼,有效期比較短。當然,不同的 OAuth 登錄服務器,配置不同,可能是幾秒鐘,可能是10分鐘。

      9.2  服務器 server_a 以"授權碼" 向 OAuth 登錄服務器 server_oauth 索取 token ,即 OAuth 技術中的"令牌"。這一步驟,用戶處 IE 瀏覽器看不到。令牌的有效期較長。同樣的,不同的 OAuth 登錄服務器,配置不同,可能是15分鐘,可能是幾天。這一步驟操作,一般是 HTTP GET 請求(request).

      9.2.1 OAuth 登錄服務器 server_oauth,以 json 字符串形式,返回 token 數據,作為 9.2 步驟的結果。這一步驟,是 HTTP GET 的結果(response)。

      9.2.2 服務器 server_a 解析得到的 token json 字符串,獲取 token 數值。

      9.3 服務器 server_a 以"token 數值" 向 OAuth 登錄服務器 server_oauth 索取用戶資源,此處一般只有用戶基本信息,比如登錄賬號、用戶全名、電子郵件、電話等,不涉及密碼。這一步驟操作,一般是 HTTP GET 請求(request).

      9.3.1 OAuth 登錄服務器 server_oauth,以 json 字符串形式,返回用戶基本信息數據,作為 9.5 步驟的結果。這一步驟,是 HTTP GET 的結果(response)。

      9.3.2 服務器 server_a 解析得到的 user info json 字符串,獲取用戶基本信息數據。

      9.4 服務器 server_a 保存用戶基本信息,并標記為已登錄用戶

      9.4.1 一般來說,服務器 server_a 會檢查此用戶登錄賬號(qq 號,或電子郵件,或域賬號...),是否為本地已存在的用戶。如果不是,則創建本地用戶。

      9.4.2 服務器 server_a 保存當前遠程 IE 用戶對應的信息,一般是后端保存用戶登錄賬號到 HTTP session。此步驟即標記當前用戶為已登錄狀態、并記住當前登錄用戶是誰。

      9.4.3 服務器 server_a 保存當前遠程 IE 用戶對應的 OAuth token,一般也是保存到 HTTP session。

      10. 服務器 server_a 指示用戶瀏覽器,自動跳轉到本服務器的另一個網址。此處不同的系統,實現的功能不同。一般是跳轉到“本系統里已登錄用戶的默認首頁”,也有的系統,會跳轉到以上步驟 1 的網址。

      11. 服務器 server_a 后端檢查用戶在本系統的網頁操作權限,各系統自行實現功能,此處不詳細描述。

       

      以上,即 OAuth 2.0 的完整交互過程。

       

      -------歡迎轉載,轉載請注明出處:http://www.rzrgm.cn/jacklondon/ 

      posted @ 2020-08-24 16:19  杰克倫敦塵  Views(2245)  Comments(0)    收藏  舉報
      歡迎大家下載試用折桂單點登錄系統, https://www.zheguisoft.com
      主站蜘蛛池模板: 色欲精品国产一区二区三区av | 免费人妻无码不卡中文字幕系| 国产中文字幕精品在线| 久久熟女| 日韩熟妇中文色在线视频| 欲乱人妻少妇邻居毛片| 特黄特色的大片观看免费视频| 精品国产精品午夜福利| 国产一区二区高清不卡| 国产免费久久精品44| 欧美日韩一线| 亚洲国产大胸一区二区三区| 国产中文三级全黄| 国产精品无遮挡猛进猛出| 97久久精品人人做人人爽| 国产精品自拍三级在线观看| 日韩人妻少妇一区二区三区| 精品国产综合成人亚洲区| 久久人人爽人人爽人人av| 国产在线无码不卡播放| 亚洲 中文 欧美 日韩 在线 | 亚洲欧洲av一区二区久久| 另类 专区 欧美 制服| 欧美人与禽2o2o性论交| 国产av亚洲精品ai换脸电影| 亚洲精品一区二区三区综合| 国产日韩精品一区在线不卡| 亚洲AV成人片不卡无码| 欧美午夜成人片在线观看| 国产精品高清视亚洲中文| 国产无吗一区二区三区在线欢| 日日碰狠狠添天天爽不卡| 国产精品无码无需播放器| 中文字幕av日韩有码| 日韩成人一区二区二十六区| 人人色在线视频播放| 亚洲中少妇久久中文字幕| 无码人妻aⅴ一区二区三区69岛| 亚洲av色在线播放一区| 色爱综合另类图片av| 国产精品中文字幕一区|