上一篇是站在巨人的肩膀上去研究OAuth2.0,也是爲了快速幫助你們認識OAuth2.0,閒話少說,我根據框架中OAuth2.0的使用總結,畫了一個簡單的流程圖(根據用戶名+密碼實現OAuth2.0的登陸認證):html
上面的圖很清楚的描述了當前登陸login的流程,如今咱們針對於login作成相關的微服務,解析以下:java
請求方式:POST
服務URL: http://localhost:8080/user/login
參數類型:application/jsonweb
Headers: Content-Type: application/json Authorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0= Body:{ "userName":"admin", ---也能夠是手機號碼等 "password": "e10adc3949ba59abbe56e057f20f883e" }
返回值類型: application/jsonspring
返回的結果集:json
{ "code": "200", "message": "Success", "version": "v1.0", "data": { "userInfo": { "userId": "00001", "pwd": "e10adc3949ba59abbe56e057f20f883e", "userName": "admin", "mobile": "15875500000", "telephone": "", "wechat": "", "email": "xxx@qq.com", "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架構的搭建過程及如何運用於企業項目。源碼來源app