OpenID Connect执行终端用户登录或确定终端用户已经登录的验证工作。OpenID Connect 使服务器以一种安全的方式返回验证结果。所以客户可以依靠它。出于这个原因,在这种情况下客户被称为依赖方(RP)。

验证结果在返回ID令牌中,ID令牌定义(第二节)。它声明表达这些信息作为发行人,标识符,认证到期时间等。

验证可以按照三种方式:

1、授权码流程( response_type=code );

2、隐式流程( response_type=id_token token 或 response_type=id_token );

3、混合流程 (使用其他响应类型值在 OAuth 2.0中定义的多个响应类型编码实践 [OAuth.Responses])。流程确定以何种方式以ID令牌和访问令牌返回给客户端。

接下来对三个流程的特点进行了总结,显示在非规范化表中。该表的目的是提供一些指导在特定的上下文中选择哪一个流程。

属性

授权码流程

隐式流程

混合流程

从授权终结点返回所有令牌

从令牌终结点返回的所有令牌

令牌不显示用户代理

客户端可以通过验证

可刷新令牌

一次往返即沟通完成

多用于服务器到服务器通信

可变

使用哪种流程取决于授权请求中的response_type值。下列就是各种response_type 值选择对应的流程:

response_type值

流程

code

Authorization Code Flow

id_token

Implicit Flow

id_token token

Implicit Flow

code id_token

Hybrid Flow

code token

Hybrid Flow

code id_token token

Hybrid Flow

所有这些响应类型的值除了code均定义在OAuth 2.0 (RFC6749)中,OAuth 2.0中定义多个响应类型编码实践 (OAuth.Responses) 规范。注意:虽然OAuth 2.0还定义了令牌隐式流程响应类型值,但OpenID Connect不使用这种响应类型,因为没有ID令牌返回。

OpenID Connect Core 1.0(三)验证的更多相关文章

  1. OpenID Connect Core 1.0(一)介绍

    IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文档 By 道法 ...

  2. OpenID Connect Core 1.0(六)使用隐式验证流

    3.2 使用隐式验证流(Authentication using the Implicit Flow) 本节描述如何使用隐式流程执行验证.使用隐式流程时,所有令牌从授权终结点返回:不使用令牌终结点返回 ...

  3. OpenID Connect Core 1.0(五)使用授权码流验证(下)

    3.1.2.6 验证错误响应(Authentication Error Response) 验证错误响应是一个OAuth 2.0授权错误响应消息,是RP发送授权请求的消息,由OP授权终结点的响应返回. ...

  4. OpenID Connect Core 1.0(四)使用授权码流验证(上)

    3.1 使用授权码流验证(Authentication using the Authorization Code Flow) 本节描述如何使用授权码流执行验证.当使用授权码流时,会从令牌终结点返回的所 ...

  5. OpenID Connect Core 1.0(九)声明(Claims)

    5 声明(Claims) 这一节说明客户端如何获取关于终端用户声明和验证事件.它还定义了一组标准的基本声明配置.预定义一组可请求的声明,使用特定的scope值或能用于请求参数中的个人声明.声明可以直接 ...

  6. OpenID Connect Core 1.0(八)从第三方发起登录

    在某些情况下,登录流程由一个OpenID提供者或其他方发起,而不是依赖方(RP).在这种情况下,发起者重定向到RP在发起登录终结点,RP的请求验证请求发送到指定的OP.这个发起登录终结点可以在RP深度 ...

  7. OpenID Connect Core 1.0(二)ID Token

    2.ID Token(ID Token) OpenID Connect主要是对OAuth 2.0 能够使得终端用户通过ID Token的数据结构进行验证.当客户端和潜在的其他请求声明,ID Token ...

  8. OpenID Connect Core 1.0(七)使用混合流验证

    3.3 使用混合流验证(Authentication using the Hybrid Flow) 本节描述如何使用混合流执行验证.当使用混合流(Hybrid Flow)时一些令牌从授权端点返回,另一 ...

  9. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

随机推荐

  1. jQuery源码分析系列 : 整体架构

    query这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! ...

  2. jQuery ajax调接口时跨域

    解决方法提炼 一.jsonp方法 在前端ajax配置jsonp参数,在后台配置jsonp设置,具体方法自行百度 二. 参考同源策略 把前端静态页面放在tomcat内webapp下,和后台文件同目录, ...

  3. 01_编程规约——OOP规约

    1.[强制]避免通过一个类的对象引用访问此类的静态变量或静态方法,避免增加编译器解析成本,直接用“类名.变量名”访问即可. 2.[强制]所有的覆盖方法,必须加@Override注解 说明:加@Over ...

  4. C语言函数指针(指向函数的指针)

    转载:http://c.biancheng.net/cpp/html/3248.html 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常 ...

  5. javascript面向对象的写法03

    javascript面向对象的写法03 js一些基础知识的说明 prototype 首先每个js函数(类)都有一个prototype的属性,函数是类.注意类有prototype,而普通对象没有. js ...

  6. Session、Cookie详解(2)

    session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂的web应用里能拿来用的session已经满足不了实际的需求,当碰到这样的 ...

  7. Windows ->> Windows下一代文件系统 -- Resilient file system(ReFS)

    Comming soon!!! 参考文献: Building the next generation file system for Windows: ReFS ReFS: What you need ...

  8. python 利用栈实现复杂计算器

    #第五周的作业--多功能计算器#1.实现加减乘除及括号的优先级的解析,不能使用eval功能,print(eval(equation))#2.解析复杂的计算,与真实的计算器结果一致#用户输入 1 - 2 ...

  9. KDD 2013推荐系统论文

     LCARS: A Location-Content-Aware Recommender SystemAuthors: Hongzhi Yin, Peking University; Yizhou S ...

  10. Chosen三级联动

    上一篇介绍了  Chosen 的使用,这篇介绍联动.看代码: var addressResolve = function (options) { //检测用户传进来的参数是否合法 if (!isVal ...