(十一)Java B2B2C o2o多用户商城 springcloud架构- SSO单点登录之OAuth2.0登录流程(2)...

news/2024/5/19 21:06:01

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

clipboard.png

上面的图很清楚的描述了当前登录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架构的搭建过程及如何运用于企业项目。
Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 一零叁八七七四六贰六


http://www.niftyadmin.cn/n/4110990.html

相关文章

基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

NextQRCode ZXing开源库的精简版 基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能 原文博客 附源码下载地址 与原ZXingMini项目对比 NextQRCode做了重大架构修改,原ZXingMini项目与当前NextQRCode不兼容 dependencies {compile com.github.…

matlab-双摆仿真

matlab-双摆仿真 在物理学和数学中,在动力系统领域,双摆是一个摆锤,另一个摆锤连接在其末端,是一个简单的物理系统,具有丰富的动态特性,对初始条件具有很强的敏感性。双摆的运动由一组耦合的常微分方程控制…

怎么样快速修改HOSTS文件?让火绒等小工具来帮忙

在工作中我们经常会遇到修改HOSTS的情形。今天小编就告诉大家如何快速修改HOSTS文件。 先来看看,什么是HOSTS? 什么是HOSTS文件? Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址…

Vue.js常用指令:v-show和v-if

一、v-show指令 v-show指令可以用来动态的控制DOM元素的显示或隐藏。v-show后面跟的是判断条件,语法如下: v-show"判断变量" 例如: v-show"true",表示显示DOM元素。 v-show"false", 表…

facebook文件系统_Facebook Messenger v4更新后在哪里可以找到请求文件夹

facebook文件系统When you get messages from non-friends on Facebook Messenger, they go to a “requests” folder. The thing is, this folder isn’t really easy to find, especially after Messenger’s recent update to version 4. 当您从Facebook Messenger上的非朋…

SQL SERVER 查询第一个数字和最后一个数字的位置

我们在实际开发中,有时候需要得到字符串中的数字位置,然后对字符串做处理。获取位置我们用PATINDEX方法,因为PATINDEX是支持正则表达式的,可以匹配数字,而类似CHARINDEX这种函数,只能查询匹配固定的字符串。…

php中 instanceof有什么作用

php中 instanceof有什么作用 作用:(1)判断一个对象是否是某个类的实例,(2)判断一个对象是否实现了某个接口。

学习Node.js笔记(一)

从最简单的一个node服务器开始说起 nodejs最常用的就是搭建服务器,今天就从0开始搭建自己的服务器,要想使用node来进行搭建服务器首先肯定是得下载node,直接百度一下node,从官网下载。下载完成后,直接安装软件就可以了…