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

上面的圖很清楚的描述了當(dāng)前登錄login的流程,現(xiàn)在我們針對于login做成相關(guān)的微服務(wù),解析如下:
請求方式:POST
服務(wù)URL
參數(shù)類型:application/json
Headers:
Content-Type:application/json
Authorization:Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0=Body:{
"userName":"admin", ?---也可以是手機號碼等
"password": "e10adc3949ba59abbe56e057f20f883e"
}返回值類型:application/json
返回的結(jié)果集: {
"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工具進行測試
框架設(shè)計思想: 提供獨立的commonservice-sso的微服務(wù)、提供
component-sso的依賴組件、提供針對于用戶登錄的微服務(wù)客戶端user-service微服務(wù)接口。
整個執(zhí)行的流程如下:
user-service ?--->commonservice-sso ?--->component-sso
這里還沒有講解到服務(wù)網(wǎng)關(guān),后面會涉及到服務(wù)網(wǎng)關(guān)和sso單點登錄之間如何實現(xiàn)服務(wù)認證和鑒權(quán)。
從現(xiàn)在開始,我這邊會將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運用于企業(yè)項目。源碼來源