(十一) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

简介: (十一) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程(2) 上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.

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

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架构的搭建过程及如何运用于企业项目。

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

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

目录
相关文章
|
IDE Java 应用服务中间件
spring boot 启动流程
Spring Boot 启动流程简介: 在使用 Spring Boot 之前,启动 Java Web 应用需要配置 Web 容器(如 Tomcat),并将应用打包放入容器目录。而使用 Spring Boot,只需运行 main() 方法即可启动 Web 应用。Spring Boot 的核心启动方法是 SpringApplication.run(),它负责初始化和启动应用上下文。 主要步骤包括: 1. **应用启动计时**:使用 StopWatch 记录启动时间。 2. **打印 Banner**:显示 Spring Boot 的 LOGO。 3. **创建上下文实例**:通过反射创建
975 5
|
缓存 安全 Java
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
2984 26
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
|
JSON 前端开发 JavaScript
优雅!Spring Boot 3.3 实现职责链模式,轻松应对电商订单流程
本文介绍如何使用 Spring Boot 3.3 实现职责链模式,优化电商订单处理流程。通过将订单处理的各个环节(如库存校验、优惠券核验、支付处理等)封装为独立的处理器,并通过职责链将这些处理器串联起来,实现了代码的解耦和灵活扩展。具体实现包括订单请求类 `OrderRequest`、抽象处理器类 `OrderHandler`、具体处理器实现(如 `OrderValidationHandler`、`VerifyCouponHandler` 等)、以及初始化职责链的配置类 `OrderChainConfig`。
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
2061 2
|
Java 持续交付 Maven
Spring Boot程序的打包与运行:构建高效部署流程
构建高效的Spring Boot部署流程对于保障应用的快速、稳定上线至关重要。通过采用上述策略,您可以确保部署过程的自动化、可靠性和高效性,从而将专注点放在开发上面。无论是通过Maven的生命周期命令进行打包,还是通过容器技术对部署过程进行优化,选择正确的工具与实践是成功实现这一目标的关键。
767 2
|
安全 Java 开发者
如何在Spring Boot中实现OAuth2.0和OpenID Connect
如何在Spring Boot中实现OAuth2.0和OpenID Connect
1791 1
|
安全 Java Spring
教程:在Spring Boot应用中集成OAuth 2.0认证
教程:在Spring Boot应用中集成OAuth 2.0认证
|
安全 NoSQL Java
记录spring security执行流程
Spring Security登录授权流程简述: 1. 实现UserDetailsService,从DB加载用户信息。 2. 创建UserDetails实现类,封装用户详情。 3. 配置WebSecurityConfigurerAdapter,用BCryptPasswordEncoder加密。 4. 设定登录接口为匿名访问。 5. 注入AuthenticationManager,用其authenticate方法认证用户
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1500 0
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
1445 0