ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
一.整体情况
现代应用程序看起来更像这个:

最常见的相互作用:
- 浏览器与Web应用程序的通信 Browser -> Web App
- Web应用程序与Web API通信
- 基于浏览器的应用程序与Web API
- 本机应用程序与Web API进行沟通
- 基于服务器的应用程序与Web API
- Web API与Web API通信
通常,每个层(前端、中间层和后端)必须保护资源并实现身份验证或授权——通常针对同一个用户存储区。
将这些基本安全功能外包给安全令牌服务可以防止在这些应用程序和端点上复制该功能。
应用支持安全令牌服务将引起下面的体系结构和协议:

这样的设计将安全问题分为两部分:
二.认证(Authentication)
认证可以让一个应用程序知道当前用户的身份。 通常,这些应用程序代表该用户管理数据,并且需要确保该用户只能访问允许他访问的数据。最常见的示例是Web应用程序,但基于本地和基于js的应用程序也需要进行身份验证。
最常用的认证协议saml2p、WS-Federation和OpenID,saml2p协议是最流行和实际应用最多的。
OpenID Connect对于现在应用来说是被认为是未来最有潜力的,这是专为移动应用场景设计的,一开始就被设计成对移动应用场景友好。
三.API访问
应用程序有两种基本方式与API进行通信,一种是使用应用程序标识,另一种是委托用户的身份。有时这两种方法都需要结合。
OAuth2协议,它允许应用程序从一个安全令牌服务要求访问令牌,使用这个访问令牌来访问API。这个机制降低了客户机应用程序和API的复杂性,因为身份验证和授权可以是集中式的。
四.OpenID Connect 和 OAuth 2.0 结合
OpenID Connect 和 OAuth 2.0非常相似,事实上OpenID Connect 是在OAuth 2.0之上的一个扩展。两个基本的安全问题,认证和API访问,被组合成单个协议,通常只需一次往返安全令牌服务。
我们认为OpenID Connect和OAuth 2.0的组合是可预见在未来是保护现代应用程序的最佳方法。IdentityServer4是这两种协议的实现,并且被高度优化以解决当今移动应用、本地应用和web应用的典型安全问题
五.IdentityServer4可以帮助你做什么
IdentityServer是将规范兼容的OpenID Connect和OAuth 2.0端点添加到任意ASP.NET Core应用程序的中间件。通常,您构建(或重新使用)包含登录和注销页面的应用程序,IdentityServer中间件会向其添加必要的协议头,以便客户端应用程序可以与其对话 使用这些标准协议。

我们通常建议通过仅包含认证相关的UI来使攻击面尽可能小。
ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍的更多相关文章
- ASP.NET Core身份认证服务框架IdentityServer4 介绍
IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架.它可以在您的应用程序中提供以下功能: 它使你的应用程序具有如下特点: 认证即服务 适 ...
- ASP.NET Core的身份认证框架IdentityServer4(5)- 包和构建
包和构建 IdentityServer有许多nuget包 IdentityServer4 nuget | github 包含IdentityServer核心对象模型,服务和中间件. 仅支持内存配置和用 ...
- .Net Core身份认证:IdentityServer4实现OAuth 2.0 客户端模式 - 简书
原文:.Net Core身份认证:IdentityServer4实现OAuth 2.0 客户端模式 - 简书 一.客户端模式介绍 客户端模式(Client Credentials Grant)是指客户 ...
- 深入解读 ASP.NET Core 身份认证过程
长话短说:上文我们讲了 ASP.NET Core 基于声明的访问控制到底是什么鬼? 今天我们乘胜追击:聊一聊ASP.NET Core 中的身份验证. 身份验证是确定用户身份的过程. 授权是确定用户是否 ...
- ASP.NET Core身份识别
Introduction to Identity 66 of 93 people found this helpful By Pranav Rastogi, Rick Anderson, Tom Dy ...
- asp.net core的DI框架思考以及服务实例的获取方式总结
转载请注明出处: https://home.cnblogs.com/u/zhiyong-ITNote/ 整个asp.net core管道从WebHostBuilder到WebHost到后续请求的类中, ...
- ASP.NET Core 中的框架级依赖注入
https://tech.io/playgrounds/5040/framework-level-dependency-injection-with-asp-net-core 作者: Gunnar P ...
- ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 使用 EF 框架查询数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 使用 EF 框架查询数据 上一章节我们学习了如何设置 ...
- ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF 框架服务 上一章节中我们了解了 Entity ...
随机推荐
- matplotlib中color可用的颜色
http://stackoverflow.com/questions/22408237/named-colors-in-matplotlib 参考网址给出了matplotlib中color可用的颜色: ...
- 《Linux就该这么学》第十二天课程
使用ssh服务管理远程主机 绑定两块网卡 原创地址:https://www.linuxprobe.com/chapter-09.html 第1步:在虚拟机系统中再添加一块网卡设备,请确保两块网卡都处在 ...
- Shiro与Spring整合
Shiro引入Spring 添加jar包/maven配置 <!-- shiro支持 --> <dependency> <groupId>org.apache.shi ...
- [转]找到MySQL发生swap的原因
背景: 最近遇到了一个郁闷的问题:明明OS还有大量的空闲内存,可是却发生了SWAP,百思不得其解.先看下SWAP是干嘛的,了解下它的背景知识.在Linux下,SWAP的作用类似Windows系统下的“ ...
- jquery复制值到剪切板(clipboard.js)
引入一个clipboard.js文件即可使用,下载地址:https://github.com/zenorocha/clipboard.js <script type="text/jav ...
- Nginx 代理配置
1.反向代理 修改conf\nginx.conf文件, 添加proxy_pass属性 server { listen 7080; #nginx 端口 server_name localhost; #n ...
- Leetcode(二)两数相加
两数相加 题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链 ...
- idea 2017破解的三种方式
1.该方法最为简便,但是该方法只可以在联网时使用,打开idea主页,找到最后面的Help,打开,找到register-license server, 在输入http://idea.iteblog.co ...
- matplotlib&numpy画图
import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,6,100) y=np.cos(2*np.pi*x)*np.exp ...
- hadoop配置笔记
接上回,hadoop的配置文件都在下载的压缩包目录中的etc/hadoop/中 hadoop-env.sh有个地方配置java_home 其他常用的设置文件有: core-site.xml yarn- ...