Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

简介: Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2) 请求方式:POST 服务URL: http://localhost:8080/user/login 参数类型:application/json 完整项目的源码来源 技术支持1791743380

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

image

上面的图很清楚的描述了当前登录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架构的搭建过程及如何运用于企业项目。完整项目的源码来源 技术支持1791743380

目录
相关文章
|
2月前
|
监控 负载均衡 Java
深入理解Spring Cloud中的服务网关
深入理解Spring Cloud中的服务网关
|
5天前
|
缓存 安全 Java
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
|
2月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14604 24
|
2月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
288 15
|
2月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
59 3
|
2月前
|
JSON 前端开发 Java
SpringCloud怎么搭建GateWay网关&统一登录模块
本文来分享一下,最近我在自己的项目中实现的认证服务,目前比较简单,就是可以提供一个公共的服务,专门来处理登录请求,然后我还在API网关处实现了登录拦截的效果,因为在一个博客系统中,有一些地址是可以不登录的,比方说首页;也有一些是必须登录的,比如发布文章、评论等。所以,在网关处可以支持自定义一些不需要登录的地址,一些需要登录的地址,也可以在网关处进行校验,如果未登录,可以返回JSON格式的出参,前端可以进行相关处理,比如跳转到登录页面等。
|
1月前
|
缓存 Java Maven
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。
|
2月前
|
Java 持续交付 Maven
Spring Boot程序的打包与运行:构建高效部署流程
构建高效的Spring Boot部署流程对于保障应用的快速、稳定上线至关重要。通过采用上述策略,您可以确保部署过程的自动化、可靠性和高效性,从而将专注点放在开发上面。无论是通过Maven的生命周期命令进行打包,还是通过容器技术对部署过程进行优化,选择正确的工具与实践是成功实现这一目标的关键。
87 2
|
2月前
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
145 5