OpenID Connect是什么?OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇:OAuth 2.0 / RCF6749 协议解读)之上的简单身份层,用 API 进行身份交互的框架,允许客户端根据授权服务器的认证结果最终确认用户的身份,以及获取基本的用户信息:它支持包括Web.移动.JavaScript在内的所有客户端类型:它是可扩展的协议,允许你使用某些可选功能,如身份数据加密.OpenID提供商发现.会话管理 OpenID Connect vs O…
今天推荐的是我一直以来都在关注的一个开源的OpenID Connect/OAuth 2.0服务框架--IdentityServer3.其支持完整的OpenID Connect/OAuth 2.0标准,使用它就可以轻易地搭建一个单点登录服务器. 说是一直关注,是因为1年前,要为一个平台搭建一个OAuth 2.0服务器,当时由于IdentityServer3还处于开发阶段,核心还不稳定,扩展功能也不完备.无奈只好熟读OAuth 2.0的规范,并根据www.asp.net网站上的一个简单示例自己实现了…
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.NET Core Web API 访问. IdentityServer4 GitHub: https://github.com/IdentityServer/IdentityServer4 IdentityServer 框架支持以下功能: 身份验证服务所有应用程序(Web,本机,移动,服务)的集中登录…
IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文档 By 道法自然  2018年 摘要 OpenID Connect Core 1.0是一个在OAuth 2.0 [RFC6749]协议之上简单的身份层.它使客户验证基于由授权服务器验证终端用户的身份,以及获得互操作的基本概要信息和终端用户REST-like方式. 这个规范定义了 OpenID Connect核心…
5 声明(Claims) 这一节说明客户端如何获取关于终端用户声明和验证事件.它还定义了一组标准的基本声明配置.预定义一组可请求的声明,使用特定的scope值或能用于请求参数中的个人声明.声明可以直接来自OpenID提供者或分布式来源. 5.1 标准声明(Standard Claims) 这个规范定义了一组标准的声明.他们可以请求的返回或用户信息的响应,此在 5.3.2节或在第二节中的ID Token. sub string 在发行人终端用户的主体标识符. name  string 终端用户的全…
3.2 使用隐式验证流(Authentication using the Implicit Flow) 本节描述如何使用隐式流程执行验证.使用隐式流程时,所有令牌从授权终结点返回:不使用令牌终结点返回. 隐式流程主要是由客户在浏览器中使用脚本语言实现.直接返回Access Token和ID Token到客户端,这可能会让他们接触到最终用户和应用程序,这些用户可以访问终端用户的用户代理.授权服务器不进行客户端验证. 3.2.1隐式流程步骤(Implicit Flow Steps) 隐式流程动遵循以…
3.1.2.6 验证错误响应(Authentication Error Response) 验证错误响应是一个OAuth 2.0授权错误响应消息,是RP发送授权请求的消息,由OP授权终结点的响应返回. 如果终端用户拒绝这个请求或终端用户验证失败,OP(授权服务器) 通过使用错误响应通知RP(客户端),其参数定义在 OAuth 2.0 [RFC6749] 4.1.2.1节中.与RFC 6749(HTTP错误返回给User Agent使用适当的HTTP状态码.) 除非重定向的URI无效,授权服务器返…
3.1 使用授权码流验证(Authentication using the Authorization Code Flow) 本节描述如何使用授权码流执行验证.当使用授权码流时,会从令牌终结点返回的所有令牌. 授权码流返回授权码给客户端,这个授权码可以直接交换一个ID Token和一个Access Token.这给User Agent提供了不暴露任何令牌的好处,因为可能还有其他恶意的应用程序访问User Agent.授权服务器也可以在验证客户端之前通过Access Token交换的授权码.授权码…
OpenID Connect执行终端用户登录或确定终端用户已经登录的验证工作.OpenID Connect 使服务器以一种安全的方式返回验证结果.所以客户可以依靠它.出于这个原因,在这种情况下客户被称为依赖方(RP). 验证结果在返回ID令牌中,ID令牌定义(第二节).它声明表达这些信息作为发行人,标识符,认证到期时间等. 验证可以按照三种方式: 1.授权码流程( response_type=code ): 2.隐式流程( response_type=id_token token 或 respo…
2.ID Token(ID Token) OpenID Connect主要是对OAuth 2.0 能够使得终端用户通过ID Token的数据结构进行验证.当客户端和潜在的其他请求声明,ID Token包含声明的安全令牌并能在授权服务器中验证一个终端用户.ID Token表现为一个JSON Web Token(JWT)令牌. 以下对于所有OAuth 2.0流程使用的被OpenID Connect使用的ID Token的声明: iss 必需的.响应的发行者的发行标识符.iss的值是使用 https…