一.整体情况

现代应用程序看起来更像这个:

最常见的相互作用:

  • 浏览器与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)-整体介绍相关推荐

  1. Asp.net core 身份认证框架 Microsoft Identity的使用以及如何使用Idengtity创建自带的用户模型SignInManager和UserManager的使用等等

    要启动身份认证组件,首先要更改数据库上下文中继承的关系,原本我们是继承于 Dbcontext这个类,现在我们需要继承IdentityDbContext 继承这个类,我们需要安装对应的框架, 如图: 这 ...

  2. ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范

    原文:ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范 IdentityServer实现以下规范: OpenID Connect OpenID Connect ...

  3. ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释

    ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释 原文:ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释 IdentityS ...

  4. 实战解读ASP.NET Core身份认证

    长话短说:上文我们聊了 ASP.NET Core 基于声明的访问控制到底是什么鬼? 今天我们乘胜追击:聊一聊ASP.NET Core 中的身份验证. 身份验证是确定用户身份的过程.授权是确定用户是否有 ...

  5. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  6. Asp.net Core基于MVC框架实现PostgreSQL操作

    简单介绍 Asp.net Core最大的价值在于跨平台.跨平台.跨平台.重要的事情说三遍.但是目前毕竟是在开发初期,虽然推出了1.0.0 正式版,但是其实好多功能还没有完善.比方说编译时的一些文件编码 ...

  7. ASP.NET Core——身份验证UI安装

    目录 介绍 要求 安装步骤 1.身份验证和身份UI配置 2.身份持久性实现 创建数据库 为Entity Framework Core配置ASP.NET Core 通过Entity Framework ...

  8. TechEmpower Web 框架性能第19轮测试结果正式发布,ASP.NET Core在主流框架中拔得头筹...

    TechEmpower第19轮编程语言框架性能排行榜2020年5月28日正式发布,详见官方博客:https://www.techempower.com/blog/2020/05/28/framewor ...

  9. ASP.NET Core模块化前后端分离快速开发框架介绍

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:http://118.24.75.170:6220/ 账户:admin 密码:ad ...

最新文章

  1. Android中WIFI开发总结(一)
  2. 详解图像直方图均衡化原理,附MATLAB、C、C++源码
  3. java环境变量搭建
  4. php返回支付状态,magento paypal返回支付状态
  5. java接口回调学习
  6. github入门到上传本地项目
  7. latex 数字上标 指数怎么打
  8. Yii2如何使用存取控制过滤器(ACF)
  9. java向注册表单传递数据php_form表单传递数组数据、php脚本接收的实例
  10. 使用GPS经纬度定位附近地点(某一点范围内查询)
  11. 网络安全实验室CTF—选择题解析 writeup
  12. 暴力推导 Beta 函数与 Gamma 函数关系式
  13. 龙芯3A3000和龙芯3B3000芯片处理器参数介绍
  14. 什么是谷歌趋势(Google Trends)
  15. STM8 的汇编学习
  16. 7类 登录/注册 安全漏洞
  17. 支付二清与第三方支付
  18. 只要你懂得人性,就不怕没钱赚!
  19. 通过注册表添加受信任站点
  20. 计算机老师新年贺卡祝福语,老师新年贺卡祝福语

热门文章

  1. 新手焊接电路板_【实验】新手焊接电路板的不完全指南
  2. 二级c语言编程题只要得出答案,计算机二级C语言考试编程题题库答案.docx
  3. 【FPGA】ROM/EPROM的设计(使用case的方式初始化)
  4. 【 FPGA 】组合逻辑中的竞争与险象问题(二)
  5. 【 MATLAB】 Two-step WLS algorithm Simulation of TOA - Based Positioning
  6. Pycharm+Django搭建第一个Python Web程序
  7. Linux常用命令——cat,tac
  8. 英特尔披露人工智能战略
  9. 缺陷的JIRA管理文档
  10. EJB学习(四)——Enterprise Bean(企业Bean)和Entity Bean(实体Bean)