Skip to main content

OpenID Connect介绍

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #授权 #.Net 发布于: 2023-05-27 20:17:42

我们前面一篇学习了Qauth2.0, 那么openidconnect呢? 前面我们学些了Qauth2.0是一个授权的过程,同时授权的对象也没有兼顾到业务的逻辑,如果我们需要更复杂更精细的业务逻辑,那么在API这一侧还是要做很多的工作的,Qauth2.0有一个极大的缺陷导致了这个问题的发生,那就是第三方应用虽然拿到了Access Token 但是实际上它并不知道这个Access Token到底代表了什么,也就是用户只是给了一个黑盒给它。那么openidConnect作为Qauth 2.0的一个扩展,其实际代表的意思就是会将业务逻辑需要的ClaimPrinpcal 放入到其中,给Qauth 2.0添加了一个叫做Id token的返回,这个Id Token就是我们前面文章讲的JWT, 关于

Read more

OAuth2介绍

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #授权 #.Net 发布于: 2023-05-27 20:12:30

QAuth2.0 是基于Token的授权方式,我们前面有一篇文章大致讲述过了基于Token认证和授权的历史,为了大家更好的学习和理解QAuth2.0的出现历史必然性,我们还是旧事重提一下,为什么会有Qauth, 它到底解决了哪些问题。 对于Web应用,我们最早的时候提出的解决方案是通过Session来进行认证和授权的。做法很简单,用户提供用户名和密码(或者其他的方式,例如证书或者密钥等等各种手段)到专用的登录的节点,节点验证通过后,会在服务器端生成一个唯一的ID,同时将用户的信息(也就是我们将的ClaimPrinpcal)系列化存在服务器端(内存里,临时文件,数据库,或者分布式缓存等等)同时将这个唯一的ID返回给客户端(通过cookie或者URL或者查询字符串)但是随着应用规模的扩大,

Read more

Asp.net Core中的授权介绍

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #授权 #.Net 发布于: 2023-05-27 20:02:40

我们今天来讨论ASP.netCore中的授权。 我们前面讨论了认证,我们需要注意的是认证之后会怎么样?认证之后系统会生成一个Identity, 通过各种其他的方式给到客户或者客户应用程序,也就是一个ClaimPrinpcal, 每个ClaimPrincpal 包含多个ClaimIdentity, 每个ClaimIdentity包含多个Claim, 在基于Web应用中最终对应的数据会是HttpContext.User 用于表示认证成功之后的ClaimPrinpcal. 但是在认证这一侧,对应的是AuthorizationHandlerContext的User属性,也就是AuthorationHandlerContext.User, 需要注意的是HttpContext的User属性和A

Read more