【笔记】springSecurity-OAuth2.0-授权模式演示
SpringSecurityOauth2架构
介绍

流程:
- 用户访问,此时没有Token。Oauth2RestTemplate会报错,这个报错信息会被Oauth2ClientContextFilter捕获 并重定向到认证服务器
- 认证服务器通过Authorization Endpoint进行授权,并通过AuthorizationServerTokenServices生成授权码并返 回给客户端
- 客户端拿到授权码去认证服务器通过Token Endpoint调用AuthorizationServerTokenServices生成Token并返 回给客户端
- 客户端拿到Token去资源服务器访问资源,一般会通过Oauth2AuthenticationManager调用 ResourceServerTokenServices进行校验。校验通过可以获取资源。
Spring Security Oauth2授权码模式
介绍
1.客户端进行申请第三方登陆信息
2.申请完毕后得到client_id、Client-Secret、回调(申请时自己填入的)
3.根据oauth2指定的uri来获取code码(用于获取access_token)
请求固定地址
http://localhost:8080/oauth/authorize?response_type=code&client_id=admin&redirect_uri=https://yangbuyi.top&scope=all
参数介绍
http://localhost:8080/oauth/authorize --- 固定的请求oauth地址
response_type=code --- 必须带入的code指定
client_id=admin --- 申请完毕后的clientID
redirect_uri=https://yangbuyi.top --- 成功跳转回调地址
scope=all --- 申请的权限范围
进行访问

自定义配置的登陆逻辑


登陆成功

您是否授权“管理员”访问您的受保护资源?
我们点击 · APProve · 授权
进行跳转页成功获取到code

获取Access_token
我们进行复制下来刚刚的code参数,进行根据code获取 token
http://localhost:8080/oauth/token --- 固定的oauth2.0请求地址
开始组装请求参数
{"key":"code","value":"4V3FwH","description":"","type":"text","enabled":true}

成功获取token
{ "access_token": "96700ce5-dcd9-4994-9d7c-6fc6360ccde9", -- token 根据token访问资源服务器当中暴露的接口 "token_type": "bearer", "expires_in": 43199, "scope": "all" }
定义暴露接口

访问接口获取数据

参数介绍:
{
"username": "user", -- 当前登陆授权服务器的用户名称
"password": "$2a$10$YYUAulOW5xMNj6zDgfR03O9XuOTtNLyH6w3EM1sUGmyd/HxBf5XJi", --- 密码 加密后的
"authorities": [
{
---- 权限标识
"authority": "admin"
}
],
"enabled": true,
"accountNonLocked": true,
"accountNonExpired": true,
"credentialsNonExpired": true
}
总结
从客户端访问指定uri获取code
在根据code访问指定uri获取授权服务器的token
在根据token访问指定uri获取资源服务器暴露接口数据
和第三方QQ。。。等 相似
完结
【笔记】springSecurity-OAuth2.0-授权模式演示的更多相关文章
- 工作笔记—新浪微博Oauth2.0授权 获取Access Token (java)
java发送新浪微博,一下博客从注册到发布第一条微博很详细 利用java语言在eclipse下实现在新浪微博开发平台发微博:http://blog.csdn.net/michellehsiao/art ...
- OAuth2.0 授权码理解
OAuth2.0授权模式 本篇文章介绍OAuth的经典授权模式,授权码模式 所谓授权无非就是授权与被授权,被授权方通过请求得到授权方的同意,并赋予某用权力,这个过程就是授权. 那作为授权码 ...
- OAuth2.0授权码模式
OAuth2.0简单说就是一种授权的协议,OAuth2.0在客户端与服务提供商之间,设置了一个授权层(authorization layer).客户端不能直接登录服务提供商,只能登录授权层,以此将用户 ...
- Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端
Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端 目录 前言 OAuth2.0简介 授权模式 (SimpleSSO示例) 使用Microsoft.Owin.Se ...
- 使用微服务架构思想,设计部署OAuth2.0授权认证框架
1,授权认证与微服务架构 1.1,由不同团队合作引发的授权认证问题 去年的时候,公司开发一款新产品,但人手不够,将B/S系统的Web开发外包,外包团队使用Vue.js框架,调用我们的WebAPI,但是 ...
- API代理网关和OAuth2.0授权认证框架
API代理网关和OAuth2.0授权认证框架 https://www.cnblogs.com/bluedoctor/p/8967951.html 1,授权认证与微服务架构 1.1,由不同团队合作引发的 ...
- oauth2.0密码模式详解
oauth2.0密码模式 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章http://www.javaman.cn/sb2/oauth-password 如果你高度信任某个应用, ...
- OAuth2.0授权
一.什么是OAuth2.0官方网站:http://oauth.net/ http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secu ...
- 使用DotNetOpenAuth搭建OAuth2.0授权框架
标题还是一如既往的难取. 我认为对于一个普遍问题,必有对应的一个简洁优美的解决方案.当然这也许只是我的一厢情愿,因为根据宇宙法则,所有事物总归趋于混沌,而OAuth协议就是混沌中的产物,不管是1.0. ...
- 微信开发——OAuth2.0授权
微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...
随机推荐
- 【RocketMQ】消息的消费总结
消费者从Broker拉取到消息之后,会将消息提交到线程池中进行消费,RocketMQ消息消费是批量进行的,如果一批消息的个数小于预先设置的批量消费大小,直接构建消费请求ConsumeRequest将消 ...
- 带宽优化新思路:RoCE网卡聚合实现X2增长
本文分享自华为云社区<2个RoCE网卡Bond聚合,实现带宽X2>,作者: tsjsdbd . 我们知道操作系统里面,可以将2个实际的物理网卡,合体形成一个"逻辑网卡" ...
- Python并发编程——multiprocessing模块、Process类、Process类的使用、守护进程、进程同步(锁)、队列、管道、共享数据 、信号量、事件、 进程池
文章目录 一 multiprocessing模块介绍 二 Process类的介绍 三 Process类的使用 四 守护进程 五 进程同步(锁) 六 队列(推荐使用) 七 管道 八 共享数据 九 信号量 ...
- 0 基础晋级 Serverless 高手课 — 初识 Serverless(上)
应用 - 无服务器 2017- 2006 函数即服务 类似 云计算 (Serverless) faas 函数服务 + 后端数据库 账号服务 弹性,按量 服务器,客户端的终结 - 弹性 - 按量 优点 ...
- 研发三维GIS系统笔记/框架改造/智能指针重构框架-003
1. 使用智能指针重构系统 原有的系统都是裸指针,在跨模块与多线程中使用裸指针管理起来很麻烦,尤其是多任务系统中会出现野指针 1 class CELLTileTask :public CELLTask ...
- Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
前言 今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例,希望xdm喜欢. 文末有案例代码的Git地址,可以自己下载了去玩玩儿或继续扩展也行. 话不多说,开整吧. 什么是 ...
- MUH and Cube Walls 题解
MUH and Cube Walls 前言 怎么题解区同质化这么严重,16 篇题解全是 差分 + KMP,就没有人写别的做法吗. (好吧其实是我一开始没想到差分才有了这么多奇怪做法) 题目大意 给定两 ...
- Java核心知识体系5:反射机制详解
Java核心知识体系1:泛型机制详解 Java核心知识体系2:注解机制详解 Java核心知识体系3:异常机制详解 Java核心知识体系4:AOP原理和切面应用 1 介绍 无论是那种语言体系,反射都是必 ...
- Go开发IDE全览:GoLand vs VSCode全面解析
关注[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构 ...
- Python 利用pandas 和 matplotlib绘制柱状图
当你需要展示数据时,图表是一个非常有用的工具.Python 中的 pandas 和 matplotlib 库提供了丰富的功能,可以帮助你轻松地绘制各种类型的图表.本文将介绍如何使用这两个库,绘制一个店 ...