IdentityServer4实现原理
OAuth&OpenIDConnect是什么? 最近因为工作的原因,大概有两个月时间没写博客了,本来今年给自己的目标是每个月写一篇,或许记录工作中踩过的一些坑,或许学习一些新的技术框架。说实话IDS4的源码我是在几天前才开始看的,因为工作需要实现一个认证授权服务中心,临时抱佛脚研究了几天源码和查了一些资料,我个人的习惯是三方的开源框架,如果不了解源码实现,一般情况下不敢贸然使用。以下内容如果有说的不对的地方,希望大家及时指出。接下来我就结合OAuth&OIDC以及IDS4的源码跟大家剖析一下Identityserver4(以下简称IDS4)的实现原理。 在介绍IDS4之前,我们先来看下OAuth和OpenIDConnect(以下简称OIDC)协议的一些概念,因为只有在理解这两个协议规范的基础之上才能理解IDS4。 OAuth是什么? 最直接的方式,我们可以通过查看OAuth2的官方文档,地址是 https://oauth.net/2/ 。官方文档是英文版的,建议大家在阅读IDS4的源码之前多少看看这个文档,我个人的理解是OAuth是一个开放式授权委托协议,是一种规范,它可以让资源所有者委托应用软件(注意是委托),从IDP(IDP是一种服务提供商,NETCORE平台下的实现是IDS4)获取授权AccessToken访问资源所有者受保护的资源。接下来我们一起看看OAuth的授权流程。