Spring Security(二):OAuth2.0协议

活动地址:CSDN21天学习挑战赛

今天学习与研究了OAuth2.0协议,记录一下,方便后面查阅
OAuth2.0即是一个开放标准,我们可以开发一个程序或平台,然后可以允许用户授权第三方程序来访问用户存储在我们平台上的数据或我们提供给用户的服务。
随着互联网的发展这种授权已经很普遍了,我们经常会用到的就有:使用微信就可以登录各大网站或App,这里就不需要重新建各大网站或App的账号,只要我们授权,这些网站就会获取我们微信公开的用户名、头像这些信息,接下来就可以访问这些网站或App提供的服务,这样为用户省去了非常多的事情,最少用户可以少记很多账号和密码。

OAuth2.0协议有四种认证方式

  • 授权码模式
    第三方应用向授权服务器申请授权码,资源所有者通过授权码对第三方应用进行授权,当然也可以拒绝授权,授权后授权服务器会返回一个令牌,然后第三方应用可以通过令牌向资源服务器申请开发资源
  • 简化模式
    和授权码模式类似,只是不在需要授权码,而是直接从授权服务获取令牌,然后通过令牌获取资源服务器的开发资源
  • 密码模式
    用户直接将自己的用户名和密码交给App或网页应用,App直接通过用户名和密码获取令牌。这种模式非常简单,但直接将用户的敏感信息泄露给了App或网页应用,所以一般是用于自己开发或同一个公司开发的程序之间进行授权
  • 客户端模式
    这是一种最简单但最不安全的模式,只要客户端有请求,那授权服务器直接给令牌,过程中不需要用户参与。一般用同一个公司不同产品之间相互申请资源的情况

Spring Security(二):OAuth2协议相关推荐

  1. Spring Security、oauth2、单点登陆SSO的关系

    文章目录 概述 1. 什么是Spring Security 1.1 配置示例 1.2 spring security 基本原理 1.2 Spring Security存在的问题 2. 什么是oauth ...

  2. Spring Security 与 OAuth2 介绍

    个人 OAuth2 全部文章 Spring Security 与 OAuth2(介绍):https://www.jianshu.com/p/68f22f9a00ee Spring Security 与 ...

  3. Spring boot使用Spring Security和OAuth2保护REST接口

    在本文中,我将会演示SpringSecurity+OAuth2如何去保护SpringBoot上的RESTAPI端点,以及客户端和用户凭证如何存储在关系数据库中.因此,我们需要做到以下几点: 配置Spr ...

  4. spring security 5 oauth2认证服务器开发

    注:本文节选自 spring security 5.x 的介绍,原文包含介绍.技术选型.spring security 的使用.可以运行的oauth2认证demo工程,如何开发自己的脚手架等.原文地址 ...

  5. Spring Security 详解与实操第五节 JWT和Oauth2

    令牌扩展:如何使用 JWT 实现定制化 Token? 上一讲我们详细介绍了在微服务架构中如何使用 Token 对微服务的访问过程进行权限控制,这里的 Token 是类似"b7c2c7e0-0 ...

  6. (二)spring security:使用 OAuth2 SSO 实现单点登录

    一.前言 也许,我应该延续上一篇"(一)spring security:能做什么?"接着写,比如:如何实现RBAC权限动态控制.后端"验证码"生成与校验.JWT ...

  7. Spring Security OAuth2整合JWT

    文章目录 1. Spring Security 与 OAuth2 2. Spring Security OAuth2的配置和使用 ①:引入依赖 ②:配置 spring security ③:配置授权服 ...

  8. Spring Security OAuth2——自定义OAuth2第三方登录(Gitee)并与UsernamePassword登录关联解决方案

    前文:Spring Security OAuth2--自定义OAuth2第三方登录(Gitee) Maven 主要 <!--Spring Security--><dependency ...

  9. Spring Security OAuth2——自定义OAuth2第三方登录(Gitee)

    官方文档 https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2login-custom-pr ...

最新文章

  1. 会话保持之iRule脚本
  2. JavaScript对象中的构造方法
  3. 为预测用户出行需求,ofo开始使用AI实现智能调度
  4. 《软件工程课程总结》
  5. linux下软件实施,linux系统未来或应用广泛
  6. 计算机蓝屏代码0xc0000020,Win10运行程序提示“损坏的映像 错误0xc0000020”怎么解决?...
  7. python中内置的数据结构有几种?
  8. 信息学奥赛一本通 1147:最高分数的学生姓名 | OpenJudge NOI 1.9 02:输出最高分数的学生姓名
  9. Java线程类的继承结构
  10. Python 解析构建数据大杂烩 -- csv、xml、json、excel
  11. spark-streaming连接flume时报错org.jboss.netty.channel.ChannelException: Failed to bind to: /IP:PORT
  12. linux进程号函数,linux进程
  13. 苹果将推出新款iPhone 7/8?为应对德国禁售令!
  14. 怎么修改asp文件上传大小限制?
  15. Android 反编译Apk (Mac)
  16. Intel处理器执行环境
  17. 【转】DICOM医学图像处理:浅析SWF、MWL、SPS、MPPS
  18. Python编程语言好学吗? 零基础转行能学Python吗?
  19. 小白的proxmox ve(pve)打造AIO(all in boom)折腾日记 (二)装机篇(爱国者m2装机不完全教程)
  20. 详解mmap:是什么 为什么 怎么用

热门文章

  1. 【迷宫】地下迷宫游戏-微信小程序开发流程详解
  2. 当我阅读完上千行的游戏球球大作战战斗服务器端源码后...
  3. 浙大MBA复试经验和真题分享——知己知彼胜率更高
  4. JS 随机数(随机数 小数)
  5. iApp 的销售模式的重要性?
  6. [UML] --- 类图
  7. 零基础转行如何快速成为一名高薪的Python开发程序员
  8. 系统综述读后感_13读以保存以备后用:开放的组织综述
  9. 从6大品牌分析,NFT如何帮助品牌创造价值
  10. 【FPGA】FPGA sdram接口实现