Identity Server 4 - Hybrid Flow - MVC客户端身份验证

📅 2026/7/2 5:03:53
Identity Server 4 - Hybrid Flow - MVC客户端身份验证
回顾一下OAuth 2.0 和 OpenID ConnectOAuth 2.0 vs OpenID Connect 角色对应客户端/依赖方的类型OAuth 2.0 vs OpenID Connect 端点定义OAuth 2.0 vs OpenID Connect 主要授权方式/流程对比实际上OpenID Connect 是完全兼容OAuth 2.0的.OpenID Connect 三种流程本系列文章主要关注OpenID Connect的三个流程三种Flow的Response Type的值Hybrid Flow本文只介绍Hybrid Flow. 而根据其response_type的不同, 它又分为三种情况:response_typecode id_tokenresponse_typecode tokenresponse_typecode id_token token注意:为了表明是OpenID Connect协议的请求, scope参数里必须包含openid.1. response_typecode id_token:当reponse_type为这种类型的时候, 授权码和ID Token从授权端点发行返回, 然后Access Token 和 ID Token会从Token端点发行返回:2. response_typecode token:当reponse_type为这种类型的时候, 授权码和Access Token从授权端点发行返回, 然后Access Token 和 ID Token会从Token端点发行返回:3. response_typecode id_token token:当reponse_type为这种类型的时候, 授权码和Access Token和ID Token从授权端点发行返回, 然后Access Token 和 ID Token会从Token端点发行返回:搭建Identity Server 4项目Identity Server 4 是OpenID Connect和OAuth 2.0的框架, 它主要是为ASP.NET Core准备的. 它得到了OpenID基金会的官方认证. 它也是开源的, GitHub - DuendeArchive/IdentityServer4 · GitHub.首先需要一个现成的API项目, 其实本文根本没用到: https://github.com/solenovex/Identity-Server-4-Tutorial-Code, 在该连接的00目录里.在此之上, 我再继续搭建Identity Server 4.在该解决方案里建立一个ASP.NET Core Web Application:由于Identity Provider 通常不是为某一个客户端项目或API资源所准备的, 所以该项目的名称通常独立于其它项目的名称. 在这里我教它Dave.IdentityProvider.然后选择Empty模板, 并使用ASP.NET Core 2.1:点击OK, 项目建立好之后, 为该项目安装Identity Server 4, 我通过Nuget: