OAuth2.0

news2025/4/5 4:11:53

OAthu2.0参考链接1

OIDC(OpenId Connect)身份认证参考链接

一、定义

        OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。2012年10月,OAuth 2.0协议正式发布为RFC 6749。Oauth2定义了一组想当复杂的规范。涉及到:Roles角色、Client Types客户端类型、Client Profile客户端描述、Authorization Grants认证授权、Endpoints终端等。

        OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

二、 OpenID Connect(OIDC)

        OIDC是一个OAuth2上层的简单身份层协议。它允许客户端验证用户的身份并获取基本的用户配置信息。OIDC使用JSON Web Token(JWT)作为信息返回,通过符合OAuth2的流程来获取。

        OAuth2与资源访问和共享有关,而OIDC与用户身份验证有关

        OpenID 是一个以用户为中心的数字身份识别框架,它具有开放、分散性。OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种方式来作为用户的身份认证。

        对于支持OpenID的网站,用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为OpenID身份提供者(identity provider, IdP)的网站上注册。OpenID是去中心化的,任何网站都可以使用OpenID来作为用户登录的一种方式,任何网站也都可以作为OpenID身份提供者。OpenID既解决了问题而又不需要依赖于中心性的网站来确认数字身份。

参考资料1

三、相关区别

        OAuth是OpenID的一个补充,但是完全不同的服务。

        OAuth 2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0。

     

        JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。JWT是一种安全标准。基本思路就是用户提供用户名和密码给认证服务器,服务器验证用户提交信息信息的合法性;如果验证成功,会产生并返回一个Token(令牌),用户可以使用这个token访问服务器上受保护的资源。

        Oauth2和jwt是完全不同的两种东西,一个是授权认证的框架,另一种则是认证验证的方式方法(轻量级概念)。OAuth2不像JWT一样是一个严格的标准协议,因此在实施过程中更容易出错。尽管有很多现有的库,但是每个库的成熟度也不尽相同,同样很容易引入各种错误。在常用的库中也很容易发现一些安全漏洞。

        OAuth2.0和JWT区别参考链接

三、认证过程

四、四种认证模式

1.隐式授权模式(Implicit Grant)

  •  第一步:用户访问页面时,重定向到认证服务器。
  •  第二步:认证服务器给用户一个认证页面,等待用户授权。
  •  第三步:用户授权,认证服务器想应用页面返回Token
  •  第四步:验证Token,访问真正的资源页面

2. 授权码授权模式(Authorization code Grant)

  • 第一步:用户访问页面
  •  第二步:访问的页面将请求重定向到认证服务器
  •  第三步:认证服务器向用户展示授权页面,等待用户授权
  •  第四步:用户授权,认证服务器生成一个code和带上client_id发送给应用服务器
  •          然后,应用服务器拿到code,并用client_id去后台查询对应的client_secret
  •  第五步:将code、client_id、client_secret传给认证服务器换取access_token和  
  •          refresh_token
  •  第六步:将access_token和refresh_token传给应用服务器
  •  第七步:验证token,访问真正的资源页面

 案例Github自取:https://github.com/PinkPig-cq/springSecurityoAuth

 3密码模式(Resource Owner Password Credentials Grant)

  •  第一步:用户访问用页面时,输入第三方认证所需要的信息(QQ/微信账号密码)
  •  第二步:应用页面那种这个信息去认证服务器授权
  •  第三步:认证服务器授权通过,拿到token,访问真正的资源页面

优点:不需要多次请求转发,额外开销,同时可以获取更多的用户信息。(都拿到账号密码了)

缺点:局限性,认证服务器和应用方必须有超高的信赖。(比如亲兄弟?)

应用场景:自家公司搭建的认证服务器

 4.客户端凭证模式(Client Credentials Grant)

  •  第一步:用户访问应用客户端
  •  第二步:通过客户端定义的验证方法,拿到token,无需授权
  •  第三步:访问资源服务器A
  •  第四步:拿到一次token就可以畅通无阻的访问其他的资源页面。

这是一种最简单的模式,只要client请求,我们就将AccessToken发送给它。这种模式是最方便但最不安全的模式。因此这就要求我们对client完全的信任,而client本身也是安全的。

因此这种模式一般用来提供给我们完全信任的服务器端服务。在这个过程中不需要用户的参与。

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

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

相关文章

《大数据分析-数据仓库项目实战》--阅读笔记

本文是《大数据分析-数据仓库项目实战》阅读笔记。 内容全部摘抄于本书。 算入门教材、文中有大量软件的安装步骤、对技术细节未过多涉及。 前言描述 大数据时代,需要考虑数据的采集、存储、计算处理等方式。 数据仓库建模方式:确定业务过程、声明粒度…

统计信号处理基础 习题解答6-10

题目: 我们继续习题6.9,考察在有色噪声环境下OOK系统信号选择的问题,令噪声 为零均值的WSS随机过程,ACF为 求PSD,并且对于 画出PSD的图形。和前一个系统一样,对于N50,求产生BLUE最小方差频率。提示&#x…

Espressif-IDE NameError: name ‘websocket‘ is not defined 解决方法

前言 ESP32 具有wifi 与 蓝牙,性价比比较高,一些嵌入式开发中经常用到,最近更新了一下 ESP32的开发环境, ESP32 开发工具下载地址:https://dl.espressif.cn/dl/esp-idf/ 下载文件:espressif-ide-setup-2.7…

HIve数仓新零售项目DWS层的构建(Grouping sets)模型

HIve数仓新零售项目 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kaf…

一文搞懂《前后端动态路由权限》

前言 本文主要针对后台管理系统的权限问题,即不同权限对应着不同的路由,同时侧边栏的路由也需要根据权限的不同异步生成。我们知道,权限那肯定是对应用户的,那么就会涉及到用户登录模块,所以这里也简单说一下实现登录的…

同花顺_代码解析_技术指标_S

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 SADL SAR SDLH SG_NDB SG_XDT SG_评分 SGSMX SG量比 SI SKDJ SRDM SRMI STIX SADL 腾落指数 1.ADL与指数顶背离时,指数向下反转机会大; 2.ADL与指…

合成孔径SAR雷达成像成(RDA和CSA)(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

(免费分享)基于springboot博客系统

源码获取:关注文末gongzhonghao,输入015领取下载链接 开发工具:IDEA,数据库mysql 技术:springbootmybatis-plusredis 系统分用户前台和管理后台 前台截图: 后台截图: package com.puboot.…

思泰克在创业板过会:拟募资4亿元,赛富投资、传音控股等为股东

11月18日,深圳证券交易所创业板披露的信息显示,厦门思泰克智能科技股份有限公司(下称“思泰克”)获得上市委会议通过。据贝多财经了解,思泰克的招股书于2022年5月5日获得创业板受理。 本次冲刺创业板上市,思…

西北工业大学算法理论考试复习

😀大家好,我是白晨,一个不是很能熬夜😫,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!&#x1f4…

阿里云免费SSL证书过期替换

阿里云上有免费的SSL证书,但是好像一个账号全部免费的额度只有20张,一张可以用1年,意思是如果20年后你还需要SSL证书的话,那么你可能就得买了。 我的SSL证书过期了,网站能访问,但是浏览器总是说站点不安全&…

【蓝桥杯冲击国赛计划第7天】模拟和打表 {题目:算式问题、求值、既约分数、天干地支}

文章目录1. 模拟和打表1.1 定义2. 实例「算式问题」题目描述运行限制2.1 简单分析2.2 检查函数2.3 三重化二重3. 实例「求值」题目描述运行限制3.1 简单分析3.2 主函数4. 实例「既约分数」题目描述运行限制4.1 简单分析4.2 辗转相除法2.3 主函数5. 实例「天干地支」题目描述输入…

同花顺_代码解析_技术指标_T、U

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 TBR TRIX TRIXFS TWR UDL UOS TBR 新三价率 新三价率:100*上涨家数/(上涨家数下跌家数) MATBR1:TBR的M1日异同移动平均 MATBR2:TBR的M2日异同移动平均 1.指数仍处于下跌状态&a…

Java数据结构 | PriorityQueue详解

目录 一 、PriorityQueue 二、PriorityQueue常用方法介绍 三、 PriorityQueue源码剖析 四:应用:Top-K问题 一 、PriorityQueue 常用接口介绍 上文中我们介绍了优先级队列的模拟实现, Java集合框架中提供了PriorityQueue和PriorityBlocki…

2021 XV6 4:traps

目录 1.RISC-V assenbly 2.Backtrace 3.Alarm 1.RISC-V assenbly 第一个任务是阅读理解,一共有6个问题。 1.Which registers contain arguments to functions? For example, which register holds 13 in mains call to printf? 具体来说就是a0,a1几个…

Docker入门

目录 Docker的作用 Docker的核心概念 Docker安装 镜像命令 镜像下载 查看镜像 搜索镜像 删除镜像 容器命令 创建容器 列出容器 新建并启动容器(最常使用) 守护态运行 启动容器 终止容器 重启容器 进入容器 attach命令 exec命令(最常使用) 退出容器…

【JavaEE】一文掌握 Ajax

🐱‍🏍目录1. AJAX 简介2. 伪造Ajax演示3. jQuery.ajax3.1 简单测试,使用最原始的HttpServletResponse处理3.2 使用ajax动态构建前端表格3.3 登录提示效果小demo4. 练习小demo,实现百度搜索框的动态内容提示5. 总结:1.…

纸牌游戏洗牌发牌排序算法设计

纸牌游戏洗牌发牌排序算法设计 本文提供纸牌游戏设计制作的基础部分,即洗牌,发牌,牌张排序排列显示的算法。 以及游戏开始时间使用时间的显示。我是用简单的C语言编译器MySpringC在安卓手机上编写的。此是游戏的框架,供游戏设计者…

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,路由选择协议,路由器

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,路由选择协议,路由器 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,…

关于瑞萨R7 的CANFD切换为经典CAN

首先,R7的CANFD是兼容CAN通讯的,在R7芯片他们公用相同的寄存器,至于发出来的帧是CANFD还是CAN取决于协议的不同。 CANFD是可变速率数据段为可变长度,扩展到64Byte,仲裁段和数据段的速率不相同。CANFD新增了FDF,BRS,ESI。FDF表示是…