很多学习identityserver的文章都没有解释清楚oidc hybrid混合模式的含义。本文将解释hybrid模式与另外两种模式的主要区别。

我们先看一下一手文档:

https://openid.net/specs/openid-connect-core-1_0.html

code , impact很多文章已经讲的很清楚了,这里我们不赘述了。

hybrid和code一样都有8个步骤,大部分步骤也是相同的。最核心的区别在于第5步。

code是一定会返回的,access_token和id_token的返回依据 response_type 参数决定。
在response_type= code id_token token 时,Authorization Endpoint 会同时返回access_token和id_token,这其实就变成了impact模式。
在response_type= code id_token 时,你可以要求它仅i返回d_token , 再通过code去请求access_token这就变成了code模式,并返回了id_token。
同理你也可以自行组合,例如
在response_type= code token时,仅返回access_token不要id_token,这也是impact,不过去掉了id_token。
这个协议时让返回根据你自己的需要去自主选择的。

补充:
hybrid还有一些特性的处理与impact相同如: Redirect URI Fragment Handling、 Access Token Validation、 ID Token Validation

参考:
https://www.cnblogs.com/stulzq/p/7833480.html

oidc hybrid flow 与另外两种模式的异同的更多相关文章

  1. 协议中UART的两种模式 【转】

    转自:http://wjf88223.blog.163.com/blog/static/3516800120104179327286/ ^^…… 协议栈中UART有两种模式:1.中断2.DMA 对于这 ...

  2. Windows2003 IIS6.0支持32位和64位两种模式的设置方法

    IIS 6.0 可支持 32 位和 64 位两种模式.但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式.ASP.NET 1.1 只在 32 位模式下运行.而 ASP ...

  3. 【转】Reactor与Proactor两种模式区别

    转自:http://www.cnblogs.com/cbscan/articles/2107494.html 两种IO多路复用方案:Reactor and Proactor 一般情况下,I/O 复用机 ...

  4. ACE_linux:Reactor与Proactor两种模式的区别

    一.概念: Reactor与Proactor两种模式的区别.这里我们只关注read操作,因为write操作也是差不多的.下面是Reactor的做法: 某个事件处理器宣称它对某个socket上的读事件很 ...

  5. JSP中两种模式的总结

    运用JSP/Servlet实现的Web动态交互,主要采用: 模式一:JSP+JavaBean 链接:http://wxmimperio.coding.io/?p=155 模式二;JSP+Servlet ...

  6. Doctype 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

    Doctype:(Document Type)文档类型,它位于文档中最前面的位置,处于标签之前.如果你想制作符合标准的页面,一个必不可少的关键组成部分就是DOCTYPE的声明.确定了正确的Doctyp ...

  7. Android Studio的两种模式及签名配置

    我们使用Android Studio 运行我们的app,无非两种模式:debug和release模式. debug模式 debug模式使用一个默认的debug.keystore进行签名. 这个默认签名 ...

  8. vue-router的两种模式的区别

    众所周知,vue-router有两种模式,hash模式和history模式,这里来谈谈两者的区别. ### hash模式 hash模式背后的原理是`onhashchange`事件,可以在`window ...

  9. Doctype的作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义?

    Doctype作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义? 1.1 Doctype作用 <!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该 ...

随机推荐

  1. [C]表达式结合规律和运算符优先级

    表达式结合规律 如果运算符具有相同的优先级(precedence)有些表达式的结合方式是从左往右,有些则是从右往左结合的(例如赋值运算符): 表达式 结合律 组合方式 a/b%c 从左往右 (a/b) ...

  2. Python备份脚本(Win10+Python2.7+PyCharm)

    说一下程序来源,是从<Python简明教程>上面看到的程序,试了一下之后,居!然!不!行!!! Google了老半天,也看了好多个博客,也未能解决. 除了一些基本语法问题.字符串中队'\' ...

  3. Zabbix-(七)分布式监控

    Zabbix-(七)分布式监控 一.前言 Zabbix提供了一套分布式监控的方案,即使用Zabbix Proxy,本文记录使用Zabbix Proxy进行分布式监控. 官方所述Proxy的使用场景如下 ...

  4. SpringCloud微服务(06):Config组件,实现配置统一管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.Config简介 在微服务系统中,服务较多,相同的配置:如数据库信息.缓存.参数等,会出现在不同的服务上,如果一个配置发生变化,需要修改很 ...

  5. jsp日期显示格式化-<fmt:formatDate

    在处理从数据库读取到的日期的时候发现,视图层通过EL表达式获取的日期格式跟预期不符 为格林威治时间(GMT)格式 解决: 1.引入JSTL标签 <%@ taglib prefix="f ...

  6. asp.net MVC通用权限管理系统-响应式布局-源码

    一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术 ...

  7. Implement Property Value Validation in Code 在代码中实现属性值验证(XPO)

    This lesson explains how to set rules for business classes and their properties. These rules are val ...

  8. SSM框架之Spring(4)AOP

    Spring(4)AOP 1.AOP概述 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种 ...

  9. BASE64Encoder cannot be resolved to a type类似问题的解决办法

    我们有时候会碰见在JDK或者其他jar包中提供了某方法或者类,接口,而开发工具仍然报红,无法使用该类或者方法,那是应为我们的编译器没有识别,或者没有支持某些方法或者类 这个时候需要我们手动的开启.具体 ...

  10. STL--标准模板库--简要概述

    STL--标准模板库 #include <vector>     //头文件 STL(Standared Template Library)即标准模板库,惠普实验室开发的一系列软件的统称. ...