spring security oauth2.0-authorization code

news2024/11/25 11:36:55

Oauth2.0

spring security 估计很多人都在用,里面有几种安全模式值得大家去摸索.

oauth2.0 是一种授权鉴权的机制,主要是用来颁发令牌,验证令牌,刷新令牌. 

OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0).

2012年10月,OAuth 2.0协议正式发布为RFC 6749

授权方式-授权码(authorization code)

介绍

授权码可以简单理解为3方授权,就是A需要访问B,需要在C上授权.

比如你登录CSDN,想通过微信(wechat)授权的方式.

  • CSDN -->跳转到微信,微信提示你是否要授权CSDN访问你的信息
  • 你确认授权
  • 微信-->跳转回 CSDN,并携带授权码
  • CSDN --> 微信根据授权码获取token,再根据token获取到用户信息.
  • CSDN转换自己的token,并允许你继续访问CSDN.

GET: http://server.demo.com/oauth/authorize?client_id=client_id&response_type=code&scope=code&redirect_uri=https://callback_url

simple:

http://localhost:8083/oauth/authorize?client_id=api-gateway&response_type=code&scope=openid&redirect_uri=https://baidu.com

response: https://www.baidu.com/?code=SuBVo2

参数解释

client_id: 在第三方应用上申请的客户端id,身份认证

response_type: 标识授权类型,此处固定code

scope:访问资源的权限范围

redirect_uri: callback url,会携带code码, *https://callback_*url?code=sderdsf

根据code换取access_token:

参数解释

client_id: 在第三方应用上申请的客户端id,身份认证

client_secret: 秘钥

grant_type: 标识授权类型,此处固定authorization_code

scope:访问资源的权限范围

code: 前一步获取到的code码

redirect_uri: callback url, 会再次验证是否一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/571255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泛微e-cology9 SQL注入漏洞复现(QVD-2023-5012)

1、产品简介 泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。 2、漏洞概述 泛微e-cology9中存在SQL注入漏洞,未…

《数据万象带你玩转视图场景》第三期:图片极智压缩

前言 在本系列的第一期我们介绍了图片 AVIF 压缩,作为最前沿的压缩技术,AVIF 确实有着无数的优点。但时代的进步是循序渐进的,在一些较老的终端或设备上,可能短时间内确实无法支持 AVIF 格式,那如何能让这部分业务享受…

【毕业季征文】你们的未来可期

还有大约一个月即将又有一批大学的学弟学妹们离开学校,走向社会,走上工作岗位。你们是否是既兴奋又迷茫呢?,我相信更多的是憧憬吧。回想我大学毕业那是10年前的事情了,现在的感受是那么遥远,仿佛自己从来都没上过大学。可能是在大学期间过的太过艰苦,以至于不想保留那一…

TDengine客户端连接

目录 TDengine-clinet 下载网址 运行软件 连接默认TD 连接指定TD TDengineGUI 下载地址 使用 连接:端口默认是6041; sql查询时需要制定 库名 TDengine-clinet 下载网址 连接器 | TDengine 文档 | 涛思数据 默认安装即可; 运行软件 连接默认TD…

机器学习期末复习 线性模型

1.线性回归,对数几率回归,线性判别分析是分类还是回归任务?是有监督的学习还是无监督的学习? 有监督学习和无监督学习 解释: 线性模型要做的有两类任务:分类任务、回归任务 分类的核心就是求出一条直线w…

JavaScript之BOM(上)

Window对象 1.BOM(浏览器对象模型) 2.定时器-延时函数 3.JS执行机制 4.location对象 5.navigator对象 6.history对象 一.BOM(浏览器对象模型) 1.BOM(Browser Object Model)是浏览器对象模型 2.window对象是一个全局对象,也可以说是JavaScript中的顶级对象 3.像do…

Facebook速推帖子和Facebook广告有什么区别

Facebook速推帖子和Facebook广告是在Facebook平台上推广内容的两种不同方式。虽然它们都可以帮助我们增加品牌曝光和吸引目标受众,但它们在运作方式和效果上有一些区别。让我们来详细了解一下它们之间的差异。 1.内容形式和展示方式: Facebook速推帖子&…

基于北斗+LoRa的落水报警定位方案一 -实现无人区,弱信号地区人员 位置安全监控

人员安全一直是企业管理的重中之重。无人区工地是一个安全事故多发的地方,在施工环境复杂且危险的情况下,工地人员位置监控成为管理工作中的一个难点,一直以来采用粗放的方式,现有的工地项目存在施工人员实时督查难等问题&#xf…

【问题记录】postgreSQL使用默认密码导致kdevtmpfsi挖矿病毒注入

起因 postgreSQL我做错了这几件事情 开启了全部IP登陆权限postgreSQL用的是默认用户名和密码用户postgres也没有设置密码,直接用su - postgres就能登陆 不知道是什么原理,反正服务器被侵入,并且注入了病毒文件 1. 基本信息排查 linux服务器…

大麦链接源码 大麦一键生成订单页面

8.4最新版源码 更新了大麦模版链接 更新了大麦订单页面一键生成

《Web安全基础》01. 基础知识

基础 1:概念名词1.1:域名1.2:DNS1.3:网站开发语言1.4:后门1.5:Web1.6:Web 相关安全漏洞 2:数据包2.1:HTTP2.2:HTTPS2.3:请求数据包2.3.1&#xff…

Linux Centos7 jar包方式安装Jenkins服务

1、本文是在VM虚拟机下安装的Centos7,这一步不赘述,有很多教程。 2、配置好静态IP,可参考Linux配置静态IP地址_cylemon的博客-CSDN博客 3、本文是通过XShell连接linux来操作linux系统的。配置JDK1.8及以上环境。先查看一下当前环境是否已存…

三、JavaWeb从入门到熟练

一、JavaWeb概述 Java Web,是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet&…

chatgpt赋能python:Python做聊天程序:打造智能交流

Python 做聊天程序:打造智能交流 Python 是一种易于学习、灵活性强、最近几年得到广泛应用的编程语言。在当今数字化时代,即便是日常生活中我们都需要与人交流,但人们社交媒体的繁荣已经印证了人们对在线交流工具的需求。以下将对 Python 如…

澳洲学生用ChatGPT代写?澳洲多所高校使用全新反击工具检测

朋友们听句劝 ChatGPT可太危险了 ChatGPT有多火?据2月1日瑞银发布的一项研究报告显示,仅仅发布两个月,ChatGPT月活跃用户已达1亿,这是历史上增长速度最快的应用。要知道达成1亿用户的时间,Instagram用了2.5年&#xf…

【013】C++数组之一维数值数组和二维数值数组

一维数值数组和二维数值数组 引言一、一维数值数组1.1、概念1.2、一维数值数组的定义1.3、一维数值数组的初始化1.4、一维数值数组的元素操作1.5、使用示例 二、二维数值数组2.1、概述2.2、二维数值数组的初始化2.3、二维数值数组的元素操作2.4、使用示例 总结 引言 &#x1f4…

​LeetCode解法汇总1091. 二进制矩阵中的最短路径

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长…

修改优美移动端中间的老师的轮播图

副标题在高级内容那,如果缩略图上传不上去。那就是改一下图片名字,多刷新几次试试

Java程序设计入门教程--整数类型

举例 int x123; //指定变量x为int型,且赋初值为123 byte b8; //指定变量b为byte型,且赋初值为8 short s10; //指定变量s为short型,且赋初值为10 long y123L,z123l; //指定变量y,z为long型,且分别赋初值为123 示例代…

公文写作素材:为人处世类过渡句50例

1.身处逆境,敢于亮剑,坚毅前行,方能逆势突围;面对困难,坚定信心,敢拼敢闯,定能笑到最后。 2.没有海纳百川的胸怀,怎能容得下不同性格的人;没有从善如流的雅量&#xff0…