微服务火热,前后端分离,oauth2 是我们接口调用认证的首选。springboot 天然集成 oauth2,使用非常方便,简单记录下,尝尝鲜。

一、啥是OAuth2

OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。

二、OAuth2的四种模式

OAuth2标准为了应对不同的场景,设计了四种不同的标准模式,

  • 密码模式:第一方单页应用与第一方原生App
  • 授权码模式:第三方Web服务器端应用与第三方原生App
  • 简化模式:第三方单页面应用
  • 客户端模式:没有用户参与的,完全信任的服务器端服务

其中密码模式和授权码模式最为常用。

三、尝试实践

1、新建boot项目

idea 新建 springboot项目,maven 引入pom依赖,推荐使用spring-cloud-starter-oauth2和spring-cloud-starter-security。

项目结构目录如下,

2、oauth2核心config配置

这一步是成功的关键,主要三个config:认证服务配置、资源服务配置和web安全配置。

1)AuthServerConfig,继承 AuthorizationServerConfigurerAdapter

2)ResourceServerConfig,继承 ResourceServerConfigurerAdapter (这里简单起见,我们都做默认实现)

3)WebSecurityConfig,继承 WebSecurityConfigurerAdapter

3、测试类编写

一切从简,前面三个配置类写好后,我们写个简单的测试controller。

4、postman测试

1)直接请求controller地址,返回没有授权

2)获取token

请求地址:http://appid:secret@localhost:7000/oauth/token?grant_type=password&username=zhangsan&password=123&scop=all

3)带token参数访问接口地址,访问成功。

这样的话,一个简单的oauth2授权码模式就ok了。

andpods授权码订单号分享_不要再让你的接口裸奔了,Boot快速尝试OAuth2密码和授权码模式...相关推荐

  1. andpods授权码订单号分享_微信OAuth2授权登录

    前言 第三方登录是应用开发中的常用功能,通过第三方登录,我们可以更加容易使用户登录我们的应用或者网站. 很多网站都提供了第三方登录的功能,在他们的官网中,都提供了如何接入第三方登录的文档.但是,假如不 ...

  2. ASP.NET 生成唯一不重复的订单号 支持多用户并发、持多数据库的实现参考(C#.NET通用权限管理系统组件源码组成部分)...

    我们在日常开发项目过程中往往需要各种订单单号的产生方法,而且是支持多用户并发.支持多种数据库的,我们并不想为每个项目都写一些独立的代码去实现这些功能,往往需要有个通用的函数比较爽一些. 下面我们以C# ...

  3. 重复订单号校验_吊打面试官系列重复消费、顺序消费、分布式事务

    你知道的越多,你不知道的越多 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难. 作为一个在互联网公司面一次拿一次Of ...

  4. jwt 长度_跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)

    前言 撸码需谨慎,裸奔有风险.经常在一些技术交流群中了解到,还有很多小伙伴的项目中Api接口没有做任何安全机制验证,直接就裸奔了,对于一些临时项目或是个人小项目还好,其余的话,建议小伙伴们酌情考虑都加 ...

  5. 裸奔浏览器_【大数据早报】上网=“裸奔”?单凭浏览器历史记录就能锁定身份...

    一单快递只赚2毛5,快递价格战压缩快递员收入 一位快递员在网上吐槽说,今年7月,到手派件费已降至0.4元/件,扣除短信费.电话费后,一单只能赚0.25元.快递行业的竞争愈演愈烈,不断加剧的价格战使得快 ...

  6. 扫码排号测试用例_测试用例:水杯、电梯、发红包、朋友圈点赞、支付的测试用例等等...

    水杯用例: 功能性: 1.杯子容量 2.杯子形状 3.杯子材质 4.杯子耐热性 5.杯子抗摔性 性能性: 1.杯子能否装100摄氏度开水(耐热性) 2.杯子能保温多久 3.杯子能否装0度冰水或做冰块( ...

  7. 扫码排号测试用例_有哪些比较好的测试用例管理工具?

    目前市面上的测试管理工具有很多,功能基本上都大同小异,所以需要一定的方法才能选出一款真正适合自己团队的测试管理工具,除此方法外,我还调研对比了当前市场上的测试用例管理工具以供参考,以及工具的选择建议. ...

  8. PHP文字转语音排号声音_百度文字转语音免费接口使用实例

    有的人突发奇想,想在微信平台上把别人输入的文字自动转换为语音,然后传送出去.这个想法非常好,我想也应该受到大家的欢迎,但是能否实现这一功能呢?自己开发是不可能的了,看有无这样的接口更加实际.一向对新鲜 ...

  9. 为什么将表格的method改为post后就无法工作_不用再等后端的接口啦!这个开源项目花 2 分钟就能模拟出后端接口...

    本文作者:HelloGitHub-嘉文 这里是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款开源免费的模拟后端 API 的工具:moco 没学过后端开发的也能快速 ...

最新文章

  1. Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现
  2. 涉密计算机格式化维修,涉密计算机的涉密信息被删除或格式化后,通过一定的技术手段仍可以复原,连接互联网易造成泄密。()...
  3. linux的常用操作——用户的添加、删除和查看
  4. SAP License:做顾问要有一颗平常心
  5. Qt总结之八:绘制仪表盘
  6. mac os 使用记录
  7. java核心技术卷1学习思维导图
  8. 2.70-写出具有如下原型的函数的代码:
  9. 朗文当代高级英语辞典android,朗文当代高级英语词典
  10. 2021第一届网刃杯网络安全大赛-签到题
  11. 轮循与连接-- 细雪之舞
  12. 中国石油大学(北京)-《思想道德修养与法律基础#》第一阶段在线作业
  13. 第十三届蓝桥杯 EDA 设计与开发科目 模拟试题(详细解读)
  14. NumPy从入门到高级
  15. 【ROS】分布式系统【talkerlistener】(新增自定义名称)
  16. 函数与事件吧,未整理
  17. 算法设计与分析--昆虫繁殖
  18. Android应用或界面启动时间性能
  19. Windows系统通用定时关机命令
  20. mysql主从同步常见错误以及解决方法总结

热门文章

  1. 查看Linux中硬链的所有文件路径
  2. 基因组重复序列注释-RepeatMasker安装和使用
  3. Microbiome: 植物生态位和基因型对微生物的影响
  4. HUMAnN2:人类微生物组统一代谢网络分析2
  5. R语言ggplot2可视化:ggplot2可视化时间序列数据并在末尾数据点添加数值标签(number label)
  6. R语言ggplot2可视化设置轴坐标上的数值全部为整数实战:display only integer values on axis
  7. Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战
  8. Python使用过滤器(filter)进行图像模糊处理
  9. R语言Fine-Gray竞争风险模型实战
  10. R语言当前目录获取及设置函数(getwd setwd)实战