上一篇是站在巨人的肩膀上去研究OAuth2.0,須要JAVA Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼 一零三八七七四六二六,也是爲了快速幫助你們認識OAuth2.0,閒話少說,我根據框架中OAuth2.0的使用總結,畫了一個簡單的流程圖(根據用戶名+密碼實現OAuth2.0的登陸認證):java
上面的圖很清楚的描述了當前登陸login的流程,如今咱們針對於login作成相關的微服務,解析以下:web
請求方式:POST 服務URL: http://localhost:8080/user/login 參數類型:application/jsonjson
Headers: Content-Type: application/json
Authorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0=
Body:{
"userName":"admin", ---也能夠是手機號碼等
"password": "e10adc3949ba59abbe56e057f20f883e"
}
複製代碼
返回值類型: application/jsonbash
返回的結果集:app
{
"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單點登陸之間如何實現服務認證和鑑權。java B2B2C Springcloud電子商城系統工具