上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证):

 


\"\"
 上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下:

请求方式:POST
服务URL: http://localhost:8080/user/login
参数类型:application/json

Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 贰一四七七七五六叁叁

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架构的搭建过程及如何运用于企业项目。来源Java B2B2C o2o多用户商城 springcloud架构

收藏 打印