Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(上)
https://www.yuque.com/yuejiangliu/dotnet/cg95ni









代表资源所有者的凭据

授权 Authorization Grant
授权是一个代表着资源所有者权限的凭据,它可以被客户端应用来获取 Access Token。
OAuth 2.0 里面定义了 4 种类型的授权,分别是:
- Auhtorization Code 授权码
- Implicit
- Resource Owner Password Credentials
- Client Credentials
OAuth 2.0 还定义了一个扩展机制以便自定义其它的授权类型。
用一句话描述“授权(Authorization Grant)就是获取 Token 的方法”。
- Authorization Code
- 使用授权服务器作为客户端和资源所有者的中介
- 在授权服务器把资源所有者送回(重定向)到客户端的时候带着这个临时的凭据 Authorization Code。它就代表着资源所有者委托给客户端应用的权限
- 在安全方面的一些优点:
- 可以对客户端应用进行身份认证
- Access Token 直接发送到客户端应用,不经过资源所有者的浏览器,所以不会将其暴露给外界,包括资源所有者
- 适合 ASP.NET Core MVC 这类服务器端的客户端应用
- Access Token 直接发送到 Web Server,不经过用户浏览器,不会暴露 Access Token
- Implicit
- Authorization Code 的简化版本
- 针对浏览器内的客户端应用,例如 Angular SPA
- 没有授权码发回给客户端应用的步骤,授权服务器直接把 Access Token 发回给了客户端应用,所以在浏览器内能获取到 Access Token
- Implicit 授权确实可以提高浏览器内应用的响应性和效率,毕竟它减少了往返的次数。但是方便可能会带来风险,推荐尽量使用 Authorization Code
- Resource Owner Password Credentials
- 直接使用用户的密码作为授权来获得 Access Token
- 仅当用户和客户端间高度信任且其他授权方式不可用时才可以使用这种授权方式
- 这种凭据只应用于一次请求并用于交换 Access Token,避免客户端存储用户的凭据(密码)
- 通过交换一个长期有效的 Access Token 或使用 Refresh Token都可以达到这种效果
- Client Credentials
- 受保护资源并不属于任意一个用户(没有用户对该资源负责),但客户端任需访问受保护资源
- Device Code
- Refresh Token
- 通常能从授权服务器获得两个令牌:Access Token 和 Refresh Token
- 当 Access Token 要过期时,我们使用 Refresh Token 再获取一个 Access Token
Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(上)的更多相关文章
- Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(下)
https://www.yuque.com/yuejiangliu/dotnet/asu0b9 端点 Endpoint Authorization Endpoint,授权端点 在浏览器里面和用户交互 ...
- Identity Server 4 原理和实战(完结)_汇总贴
视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenov ...
- Identity Server 4 原理和实战(完结)_建立Identity Server 4项目,Client Credentials 授权实例
创建项目 dotnet new -i IdentityServer4.Templates 多出来的这些模板 adminUI用来测试,想要用再生产环境,需要交钱 结合core的 Identity来使用 ...
- Identity Server 4 原理和实战(完结)_Authorization Code Flow 实例
Code在Oauth2.0和OpenId Connect里面分别叫做不同的名字 OAuth只介绍了如何授权.没有介绍如何身份认证. OpenId Connect:既规定了怎么授权,也规定了怎么身份认证 ...
- Identity Server 4 原理和实战(完结)_----选看 OpenId Connect 简介
Identity Procider:身份提供商
- Identity Server 4 原理和实战(完结)_单点登录实例(添加Flask客户端,Express.js的API)
idp授权资源的添加 如果下面哪个客户端想访问api2这个资源的话 就把它写上scope里面就可以了 nodeJS的客户端 python的库 MVC客户端分别访问API和API2 python客户端演 ...
- Identity Server 4 原理和实战(完结)_建立Angular 客户端
https://material.angular.io/ 第一部是安装angular cli --prefix=ac:前缀 --routing:默认使用路由 style=scss:样式使用scss - ...
- Identity Server 4 原理和实战(完结)_为 MVC 客户端刷新 Token
服务端修改token的过期使劲为60秒 过期了 仍然还能获取到api1的资源 api1,设置每隔一分钟就验证token 并且要求token必须要有超时时间这个参数, 1分钟后提示超时,两边都是一分钟, ...
- Identity Server 4 原理和实战(完结)_Hybrid Flow 实例, Claims, 角色授权和策略授权
4分50 建立客户端 不需要身份认证 客户端叫做HybirdClient 配置IdentityServer服务端,先把客户端添加上 把userClaims添加到token里面 然后运行服务端就可以了 ...
随机推荐
- EhCache Monitor的使用
1.在http://ehcache.org/documentation/monitor.html#Installation_And_Configuration下载ehcache-monitor-kit ...
- 关于input:-webkit-autofill样式问题
最近在整理项目的时候,遇到了一个chrome浏览器自动填充的样式问题, 用户名跟密码的input都设置为透明颜色,但是会变成黄色,打开chrome调试工具,发现有个input:-webkit-auto ...
- RabbitMQ安装和介绍
简单的安装方式 yum安装erlang,下载rpm包安装rabbitmq 一.编译安装erlang 1. 官方下载包并解压 wget http://erlang.org/download/otp_sr ...
- 网络协议之rtp---h264的rtp网络协议实现
完整的C/S架构的基于RTP/RTCP的H.264视频传输方案.此方案中,在服务器端和客户端分别进行了功能模块设计.服务器端:RTP封装模块主要是对H.264码流进行打包封装:RTCP分析模块负责产牛 ...
- 下拉刷新swipetoloadlayout的使用方法,以及自己定义头部
<20160930---------–更新内容 回过头看自己曾经写的这个博客非常多的废话 和效果并不适合大家去使用这个好用的控件 如今整理删掉了自己写的效果, 写了个最简单的实例给一起学习的新手 ...
- JavaScript全讲-必知的特性
上篇讲完JS面向对象的特性,我们今天就来聊聊它的其它特性. JS面向对象的特性较为隐晦,真正使用也是比較少的.而今天我们要讲的,却是在实际开发中常常遇到的特性. 1. 函数式编程 多数人并不知道&qu ...
- 红黑树深入剖析及Java实现(转自知乎美团点评技术团队)
作者:美团点评技术团队 链接:https://zhuanlan.zhihu.com/p/24367771 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 红黑树是平衡 ...
- 对ShortCut和TWMKey的研究
TWMKey = packed record Msg: Cardinal; CharCode: Word; Unused: Word; KeyData: Longint; Result: Longin ...
- SpringBoot-(5)-properties的使用
项目中经常需要进行一些配置,一般会使用springboot默认的application.properties文件,也可以自己创建配置文件 一,application.properties配置 logg ...
- (转)Java经典设计模式(2):七大结构型模式(附实例和详解)
原文出处: 小宝鸽 总体来说设计模式分为三大类:创建型模式.结构型模式和行为型模式. 博主的上一篇文章已经提到过创建型模式,此外该文章还有设计模式概况和设计模式的六大原则.设计模式的六大原则是设计模式 ...