2.OAuth2.0实战案例

简介: 本教程介绍OAuth2四大授权模式实现:创建父工程及资源、授权模块,配置启动类与处理器;通过授权码、简化、密码及客户端模式测试,完成登录认证、权限授予、令牌申请与资源访问全流程。

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
访问资源服务

相关文章
|
7月前
|
人工智能 自然语言处理 数据可视化
企业如何把AI智能客服系统用好(2026年2月最新)
2026年,智能客服已成企业服务升级必选项。它不再仅答预设问题,更能理解上下文、识别情绪、预测需求。瓴羊Quick Service依托通义千问大模型,融合规则引擎与业务系统,支持“人机协同、场景先行、知识进化、数据驱动”,助力企业降本增效、提升体验。(239字)
|
9月前
|
传感器 算法 定位技术
基于C++的GPS INS组合导航程序
基于C++的GPS/INS(捷联惯性导航系统)组合导航程序
466 0
|
6月前
|
人工智能 安全 定位技术
数据安全分类分级如何落地
以一体化数据安全平台为建设思路,开展数据安全分类分级工作
|
6月前
|
人工智能 Java 调度
Java21 虚拟线程实践:框架高并发升级之路
本框架完成面向AI场景的技术升级:全栈适配JDK21,深度集成虚拟线程与结构化并发;重构线程模型,显著提升IO密集型任务(如大模型调用、向量检索)的并发能力与CPU利用率,夯实高并发、低开销的企业级AI服务底座。(239字)
357 5
|
9月前
|
消息中间件 Shell Linux
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7下基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通模式与镜像模式集群搭建,并详解仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
|
9月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强框架,简化单表CRUD操作,内置分页、条件构造器、代码生成等功能,支持逻辑删除、枚举处理与JSON字段映射,提升开发效率。
|
9月前
|
关系型数据库 应用服务中间件 Nacos
Nacos配置中心
本章详解Nacos配置中心实战:实现微服务配置统一管理,支持热更新、配置共享与优先级控制,并搭建高可用集群,提升系统稳定性。
|
9月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata分布式事务框架的部署与微服务集成。首先下载并解压Seata Server,修改配置文件application.yml,并在Nacos中配置seataServer.properties及数据库信息。创建seata数据库并运行SQL脚本初始化事务表。启动TC服务后,注册至Nacos。各微服务引入Seata依赖,配置application.yml连接TC。为实现高可用,搭建多节点TC集群,通过Nacos统一管理事务组映射,实现异地容灾与动态切换。微服务从Nacos读取client.properties,灵活绑定TC集群,提升系统稳定性与可维护性。(238字)
|
9月前
|
消息中间件 存储 Java
消息中间件RabbitMQ(高级)
本节深入探讨RabbitMQ在生产环境中的高可用与可靠性问题,涵盖消息确认、持久化、消费者重试、死信队列、延迟消息、惰性队列及集群搭建。通过实战案例实现消息不丢失、延迟处理与高并发支撑,全面提升系统稳定性与可扩展性。(239字)