2.OAuth2.0实战案例

简介: 本案例详解OAuth2.0四种授权模式实战:通过创建资源与授权模块,配置Spring Security与OAuth2,依次实现授权码、简化、密码及客户端模式的令牌申请与资源访问,完成全流程安全认证集成。

2.OAuth2.0实战案例
1.创建父工程
2.创建资源模块
2.1 创建工程并导入依赖
2.2 创建配置文件
2.3 创建启动类
2.4 创建处理器
3.创建授权模块
3.1 创建工程并导入依赖
3.2 创建配置文件
3.3 创建启动类
3.4 创建配置类
3.5 创建OAuth2授权配置类
4.测试
4.1 授权码模式测试
在地址栏访问地址
http://localhost:9001/oauth/authorize?response_type=code&client_id=heima_one
跳转到SpringSecurity默认认证页面,提示用户登录个人账户【这里是sys_user表中的数据】
登录成功后询问用户是否给予操作资源的权限,具体给什么权限。Approve是授权,Deny是拒绝。
这里我们选择read和write都给予Approve。
点击Authorize后跳转到回调地址并获取授权码
使用授权码到服务器申请通行令牌token
重启资源服务器,然后携带通行令牌再次去访问资源服务器,大功告成!
4.2 简化模式测试
在地址栏访问地址
http://localhost:9001/oauth/authorize?response_type=token&client_id=heima_one
由于上面用户已经登录过了,所以无需再次登录,其实和上面是有登录步骤的,这时,浏览器直接返回了token
直接访问资源服务器
4.3 密码模式测试
申请token
访问资源服务器
4.4 客户端模式测试
申请token
访问资源服务

相关文章
|
数据可视化 Java Nacos
OpenFeign + Sentinel 实现微服务熔断限流实战
本文介绍如何在Spring Cloud微服务架构中,结合OpenFeign与阿里巴巴开源组件Sentinel,实现服务调用的熔断、降级与限流。通过实战步骤搭建user-service与order-service,集成Nacos注册中心与Sentinel Dashboard,演示服务异常熔断、QPS限流控制,并支持自定义限流响应。借助Fallback降级机制与可视化规则配置,提升系统稳定性与高可用性,助力构建健壮的分布式应用。
445 155
|
1天前
|
存储 缓存 Java
SpringBoot自动装配机制
SpringBoot通过@SpringBootApplication实现自动装配,其核心为@AutoConfigurationPackage与@AutoConfigurationImportSelector。前者注册主包路径,后者加载spring.factories中配置的自动配置类,结合@ComponentScan与过滤机制,实现Bean的自动扫描、去重与注入,简化开发配置。
22 1
|
9天前
|
Java Nacos Sentinel
SpringCloud 微服务解决方案:企业级架构实战
全面介绍 SpringCloud 微服务解决方案,涵盖服务注册发现、网关路由、熔断限流、分布式事务等企业级实践
|
24天前
|
架构师 微服务
【架构师】微服务的拆分有哪些原则?
微服务拆分需遵循七大原则:职责单一、围绕业务、中台化公共模块、按系统保障级别分离、技术栈解耦、避免循环依赖,并遵循康威定律使架构与组织匹配,提升可维护性与协作效率。
120 4
|
29天前
|
缓存 监控 Java
用 Spring Boot 3 构建高性能 RESTful API 的 10 个关键技巧
本文介绍使用 Spring Boot 3 构建高性能 RESTful API 的 10 大关键技巧,涵盖启动优化、数据库连接池、缓存策略、异步处理、分页查询、限流熔断、日志监控等方面。通过合理配置与代码优化,显著提升响应速度、并发能力与系统稳定性,助力打造高效云原生应用。
383 3
|
2月前
|
消息中间件 运维 监控
《聊聊分布式》分布式最终一致性方案:从理论到实践的完整指南
最终一致性是分布式系统中平衡性能、可用性与一致性的关键策略,通过异步处理与容错设计,在保证数据最终一致的前提下提升系统扩展性与可靠性。
|
26天前
|
消息中间件 安全 Java
java消费消息且保证消息不丢失
本文介绍Java中如何安全消费消息并防止消息丢失或篡改,涵盖Kafka与RabbitMQ的消息持久化、手动确认机制及偏移量控制,强调事务处理与元数据保留,确保消息完整性与可靠性。
92 0
|
消息中间件 存储 缓存
Kafka 架构和原理机制 (图文全面详解)
一文了解掌握 Kafka 的基本架构、原理、特性、应用场景,以及Zookeeper 在 kafka 的作用。
Kafka 架构和原理机制 (图文全面详解)
|
1月前
|
消息中间件 缓存 NoSQL
Redis + Java 架构实战:从锁机制到消息队列的整合
本文深入解析Redis与Java的整合实践,涵盖分布式锁、消息队列、缓存策略、高性能数据结构及容错机制。结合电商场景,助力构建高并发、高可用的分布式系统。
109 8
|
23天前
|
缓存 监控 Java
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
本课程以母婴电商重构为背景,系统讲解微服务架构落地实践。涵盖服务拆分、Nacos治理、分布式缓存、事务、限流熔断等核心问题,结合Spring Cloud Alibaba技术栈,提供完整项目代码与40小时实战视频,助力开发者掌握从单体到分布式架构的演进能力。
104 14