首页 > Web开发 > 详细

Asp.net Core IdentityServer4 入门教程(一):概念解析

时间:2018-09-29 00:30:30      阅读:227      评论:0      收藏:0      [点我收藏+]

目录

1、IdentityServer4 是什么

IdentityServer4 是使用 ASP.NET Core实现了OpenID和OAuth 2.0协议的身份认证框架;重复一遍,它是一个框架;框架决定它不是一个开箱即用的产品,需要根据自己的需求进行定制;同时也意味着更高的灵活性;

2、什么是OpenID和OAuth 2.0协议

对很多初学者来说(包括我自己),这个问题比较抽象,我还特定去搜索、了解、理解过,如果看完以下解析还是看不懂的话可以继续看这里

按我的理解来说,他们的区别是:

OpenID
直接引用以上链接问答里的话“OpenID是Authentication,OAuth是Authorization”,Authentication就是鉴权;就是用一条url来证明这条url就是我;这句话怎么理解呢,比如:
A网站是提供OpenID的网站,你在A网站注册了OpenID;
B、C、D等是支持OpenID登录的网站;
现在你要登录B、C、D网站,你只需要在B、C或D网站填写A网站注册的OpenID,然后统一跳到A网站去验证;
验证成功后,会跳转回B、C、D网站,成功登录;

如果是用用户名登录的B、C、D网站的话,要分别准备3套用户名和密码;使用以上OpenID登录的方式、只需要注册A网站得到OpenID;

OAuth 2.0
OAuth是Authorization,就是授权;一字之差;比如:
我在A网站拥有一些资源(头像啊、照片啊都算资源),B网站要用他,然后我们不想给B网站账号密码,那怎么给他资源呢?OAuth就是做这个的,资源的授权;
打个比方,我的(用户)微信的微信头像存在微信 weixin.qq.com(服务提供方),然后京东(客户端)想要获取我的微信头像(资源);
那么京东会引导用户打开微信的授权页面:
用户点击授权,京东得到一个授权token,然后京东通过授权token获取我的微信头像;授权页面如下图。
以上就是一个典型的OAuth过程
技术分享图片

OAuth 2.0是OAuth 1.0出现安全漏洞后修补了协议(2.0具体协议RC 6749)的一个版本,与概念是什么无关;
OAuth 2.0和OAuth 1.0不兼容;

3、IdentityServer4 可以用来做什么

这个对于我们初学者来说很重要,总体来说它可以:
(1)单点登录
web/app/wap等多种应用上的单点登录、退出;

(2)保护你的api接口
比如你们公司有多个部门,每个部门都会有多个自己业务系统的接口,这些业务的接口又分别给不同的部门调用,不同的部门对调用同一个业务的权限又不一样;这个时候IdentityServer4就很容易实现以上需求了;

(3)支持OpenID登录
IdentityServer4是支持OpenID登录的框架,比如谷歌是OpenID的提供者,登录谷歌就直接使用第二点提到的使用谷歌 OpenID登录就可以登录了;

(4)统一的登录处理逻辑
比如你们公司有有多个业务后台系统需要登录,每个后台单独使用一套用户名和密码将非常麻烦,这个使用IdentityServer4亦可轻松使用一套用户名密码登录各个业务系统;

(5)高度自由的定制
还用更多的使用场景,可自行发掘;

其他

官方文档
源码地址
Demo地址
晓晨大神IdentityServer4系列文章

Asp.net Core IdentityServer4 入门教程(一):概念解析

原文:https://www.cnblogs.com/xiaxiaolu/p/9721526.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!