上一篇是站在巨人的肩膀上去研究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电子商城系统工具