`
springcloud关注者
  • 浏览: 311909 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
12d8ea3d-4199-3941-8a17-acd5024729b8
Spring_Cloud构...
浏览量:251158
文章分类
社区版块
存档分类
最新评论

(十一) 整合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": "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架构的搭建过程及如何运用于企业项目。
扫描体验:
在这里插入图片描述

 

  • 大小: 69.1 KB
8
0
分享到:
评论
4 楼 springcloud关注者 2017-10-19  
hunky 写道
经典之作,学习了!

过奖了,有问题请留言
3 楼 springcloud关注者 2017-10-19  
jxgaly 写道
不错,总结得挺好的。希望大神后续继续更新文章

会的,一起学习,有问题可以给我留言
2 楼 jxgaly 2017-10-19  
不错,总结得挺好的。希望大神后续继续更新文章
1 楼 hunky 2017-10-19  
经典之作,学习了!

相关推荐

Global site tag (gtag.js) - Google Analytics