整合spring cloud雲架構 - SSO單點登錄之OAuth2.0登錄流程(2

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是爲了快速幫助大家認識OAuth2.0,閒話少說,我根據框架中OAuth2.0的使用總結,畫了一個簡單的流程圖(根據用戶名+密碼實現OAuth2.0的登錄認證):

上面的圖很清楚的描述了當前登錄login的流程,現在我們針對於login做成相關的微服務,解析如下:

請求方式:POST
服務URL: http://localhost:8080/user/login
參數類型:application/json
Headers: Content-Type: application/json
Authorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0=
Body:{
"userName":"admin", ---也可以是手機號碼等

  "password": "e10adc3949ba59abbe56e057f20f883e" 

}

返回值類型: application/json
返回的結果集: {

"code": "200",

"message": "Success",

"version": "v1.0",

"data": {

"userInfo": {

 "userId": "00001",

 "pwd": "e10adc3949ba59abbe56e057f20f883e",

 "userName": "admin",

 "mobile": "15875500000",

 "telephone": "",

 "wechat": "",

 "email": "[email protected]",

 "status": "1",

 "createTime": "2017-06-26"

},

"roleIds": "100",

"tokenInfo": {

 "accessToken":"4de55a69-e372-4766-acd3-1c419d6f2fda",

 "tokenType": "bearer",

 "webTokent":"uHSLjfJoQwU4t4PAqCzH1SN0fp7PUWKluPNS+x1dZ8R9Gx+NJkBI7w==",

 "refreshToken":"d3d71594-5c3f-4a68-a7e5-b8d21c4fa73b",

 "expiresIn": 34644,

 "scope": "read write"

}

}

}
備註: 可以使用Postman工具進行測試
框架設計思想: 提供獨立的commonservice-sso的微服務、提供component-sso的依賴組件、提供針對於用戶登錄的微服務客戶端user-service微服務接口。

整個執行的流程如下:user-service ---> commonservice-sso ---> component-sso
這裏還沒有講解到服務網關,後面會涉及到服務網關和sso單點登錄之間如何實現服務認證和鑑權。

從現在開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,有spring cloud b2b2c電子商務需求的朋友可以加企鵝求求;一零三八七七四六二六 , 大家來一起探討spring cloud架構的搭建過程及如何運用於企業項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章