Oauth原理和四种授权模式
Oauth四种授权模式
1、oauth授权码模式
- 用户访问应用前端页面(验证是否登录)。
- 访问的页面将请求重定向到认证服务器。
- 认证服务器等待用户授权(输入账号、密码)。
- 用户授权,认证服务器验证(Clinet_id和身份认证),生成一个code(授权码)--->认证前端--->应用前端--->应用服务器。
- 应用服务器使用client_id、client_secret、code去认证服务器获取token,refresh_token(我们默认应用服务器和认证服务器之间的通信是安全的)。
- 然后,应用服务器拿到code, 并用client_id去后台查询对应的client_secret
- 第七步:验证token,访问真正的资源页面
注:主流第三方验证使用的模式。
2、oauth简化模式
步骤:
- 用户访问应用页面,(验证是否已登录,如果未登录)--->重定向到认证服务器页面
- 认证服务器给用户一个认证页面,等待用户授权(用户输入账号密码)
- 认证中心前端把数据返回其服务器,验证其账号和密码,返回前端token
- 认证中心前端重定向(重定向地址是第二步传入的)返回应用前端,把数据--->应用前端。
- 应用前端使用token访问应用的服务器,--->验证token是否合法or过期。
- 如果token验证通过,可以成功访问资源。
3、oauthPassword模式
- 用户访问用页面时,输入第三方认证所需要的信息(认证中心账号密码),直接在应用的前端页面输入账号密码(不安全,需要对这个第三方极度的信任)
- 应用服务器使用账号密码,访问认证中心来获取token
- 认证服务器授权通过,拿到token,验证token,访问真正的资源页面
注:认证服务器和应用方必须有超高的信赖
4、oauth客户端模式
- 用户访问应用客户端
- 通过客户端定义的验证方法,拿到token,(无需用户授权)
- 验证token,访问资源
注:这个模式不需要用户参与,客户端自己完成验证。
参考:OAuth2四种模式_m0_46267097的博客-CSDN博客_oauth2的四种模式
OAuth2.0的四种授权模式 - 懵懂的半壶 - 博客园
Oauth原理和四种授权模式相关推荐
- Outh2协议有哪四种授权模式?
文章目录 1. OAuth2介绍 2. OAuth2的四种授权模式 ①:授权码模式 ②:密码模式 ③:简化(隐式)模式 ④:客户端模式 3. token的携带方式 4. token的自动续期 refr ...
- 零基础学习SpringSecurity OAuth2 四种授权模式(理论+实战)(配套视频讲解)
配套视频直达 背景 前段时间有同学私信我,让我讲下Oauth2授权模式,并且还强调是零基础的那种,我也不太理解这个零基础到底是什么程度,但是我觉得任何阶段的同学看完我这个视频,对OAuth2的理解将会 ...
- Spring Security+Oauth2四种授权模式
上一篇文章:Spring Security + OAuth2.0项目搭建:https://blog.csdn.net/qq_42402854/article/details/123057625 接着认 ...
- SpringBoot Security的oauth2四种授权模式使用
oauth2四种使用方式 密码模式 localhost:8080/oauth/token?client_id=client_id_1&client_secret=123456&gran ...
- 什么是Oauth2.0授权,四种授权模式
文章目录 什么是OAuth2.0? 1. OAuth2四种模式 1.1. 隐式授权模式(Implicit Grant) 1.2. 授权码授权模式(Authorization code Grant) 1 ...
- 一口气说出 OAuth2.0 的四种授权方式
上周我的自研开源项目开始破土动工了,<开源项目迈出第一步,10 选 1?页面模板成了第一个绊脚石 > ,密谋很久才付诸行动,做这个的初衷就是不想让自己太安稳,技术这条路不进步就等于后退,必 ...
- OAuth2.0的四种授权方式
在OAuth2.0中,OAuth2.0 provider负责保护暴露在外的资源,第三方应用客户端Client可以独立的或代表用户Owner来访问这些受保护的资源,provider提供token令牌的管 ...
- oauth2四种授权方式小结
序 本文主要小结一下oauth2的四种模式的特点和适用场景. 四种授权方式 OAuth 2.0定义了四种授权方式. 密码模式(resource owner password credentials) ...
- 函数的四种调用模式.上下文调用.call.apply
闭包:函数就是一个闭包,一个封闭的作用域; 返回函数,要返回多个函数就用一个对象封装一下, 立即执行函数+return 回调函数 JS动态创建的DOM,不会被搜索引擎抓取,对SEO不友好. /*win ...
最新文章
- 二进制计算机课教案,计算机与二进制教案.pdf
- 配置ubuntu - tftp server服务器步骤
- html引入另一个html
- Pro *C/C++学习笔记
- [转载] Java基础——关联、聚合、组合
- es使用pencentiles对网站访问延时统计
- 以WinGrub 引导安装Fedora 4.0 为例,详述用WinGrub来引导Linux的安装
- JVM面试重点总结(一)——java内存区域与内存溢出异常
- Zynq-7000基于zynq平台裸跑LWIP协议栈的详解(万字长文)
- linux进程sl是什么,Linux ps state sl+是什么意思
- JavaScript学习(三)
- ubuntu 多声卡设置 默认声卡 systemd自启动声卡设置
- Activity在全屏属性情况下,WebView会出现输入法软键盘遮挡输入框(界面无法自动上调)问题
- 带时区时间日期 ZonedDateTime
- 微信墙php_微信上墙PHP源码
- error LNK2001的解决方法
- SML-Rangelab
- 引用SMTH的一个“坑”!
- 入侵防御(IPS)技术,怎么做好入侵防护
- 支付宝当面付-扫码支付
热门文章
- 鬼泣最稳定的服务器,鬼泣巅峰之战怎么选择服务器?哪个服务器比较好?
- plt.xscale(‘log‘)含义
- 谷歌超大规模集群管理系统Borg详细解读
- redis 应用 海量查找 hscan
- Anolis OS8.6QU1通过cephadm部署ceph17.2.0分布式块存储(六)部署iscsi服务
- 正则表达式-验证是否是6位数字
- jsp的forword标签
- ListView控件绑定数据
- 数据库怎么保证(分布式)事务一致性
- MLP、RBF、SVM的比较