spring security oauth2.0

news/2025/2/11 23:02:22/

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.ppmy.cn/news/88045.html

相关文章

RabbitMQ进阶

下面将从四个方面来学习RabbitMQ进阶的知识,将会从问题的引出与解决递进学习 消息可靠性 死信交换机 惰性队列 MQ集群 在学习了MQ之后我们可能也会发现一些问题,就拿RabbitMQ中的发布订阅模型来分析: 我们会发现在消息传递的过程中是通过网络传输的, 那么只要是通过网络传输…

常见问题之内存泄露(C/C++)

前言: C/C是一种常见的编程语言,其直接管理内存的特性,使其更加容易出现内存泄漏问题。本篇博客将详细介绍C/C中的内存泄漏问题,包括内存泄漏的概念、原因、影响以及预防内存泄漏的方法。 一、概念 内存泄漏是指在程序运行过程中…

软件测试 自动化测试selenium篇(二)

目录 操作测试对象 添加等待 打印信息 浏览器操作 浏览器前进 浏览器滚动条操作 定位一组元素 多层框架/窗口定位 层级定位 下拉框处理 alert、confifirm、prompt 的处理 操作测试对象 前面讲到了不少知识都是定位元素,定位只是第一步,定位之…

教你精通Java语法之第十三章、反射

目录 一、定义 二、用途 三、反射基本信息 四、反射相关的类 4.1Class类

数据结构与算法之二叉树: Leetcode 104. 二叉树的最大深度 (Typescript版)

二叉树的最大深度 https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例 给定二叉树 [3,9,20,null,nul…

极米H6搭载光学变焦打造无损4K,带来更沉浸观影体验

近年来,科技飞速发展,我国涌现出很多新兴科技企业,如家用智能投影、无人机、扫地机器人等行业发展迅速,国际竞争力逐年增强。其中,家用智能投影行业成长快速,正展现出蓬勃的发展生机。根据IDC自2015到2022年…

Python爬虫被封ip解决方案

在使用 Python 程序进行网络爬虫开发时,可能因以下原因导致被封 IP 或封禁爬虫程序: 1、频繁访问网站 爬虫程序可能会在很短的时间内访问网站很多次,从而对目标网站造成较大的负担和压力,这种行为容易引起目标网站的注意并被封禁…

使用github CICD 简单部署vue项目

1.首先先创建一个github访问地址,关于Github Pages的域名访问地址,在github上新建一个以域名为名称的仓库即可,一般都是githubname.github.io 2.首先创建vue项目,这里我就使用自己写的前端项目脚手架来创建vue项目 这里顺便把图标…